activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-6016) java.lang.IllegalArgumentException: Comparison method violates its general contract!
Date Fri, 30 Oct 2015 11:57:27 GMT

    [ https://issues.apache.org/jira/browse/AMQ-6016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14982448#comment-14982448
] 

Gary Tully commented on AMQ-6016:
---------------------------------

xstream needs a tweek to ensure transients are initialised, it bypasses the default creation
b/c it uses object serialisation into a generic java.lang.Object. Stack trace from some of
the HttpTransportBrokerTest tests - {code}java.lang.NullPointerException
	at org.apache.activemq.command.ConsumerInfo.getAssignedGroupCount(ConsumerInfo.java:523)
	at org.apache.activemq.broker.region.Queue$3.compare(Queue.java:224)
	at org.apache.activemq.broker.region.Queue$3.compare(Queue.java:215)
	at java.util.TimSort.countRunAndMakeAscending(TimSort.java:324)
	at java.util.TimSort.sort(TimSort.java:189)
	at java.util.TimSort.sort(TimSort.java:173)
	at java.util.Arrays.sort(Arrays.java:659)
	at java.util.Collections.sort(Collections.java:217)
	at org.apache.activemq.broker.region.Queue.addToConsumerList(Queue.java:2128)
	at org.apache.activemq.broker.region.Queue.doActualDispatch(Queue.java:2064)
	at org.apache.activemq.broker.region.Queue.doDispatch(Queue.java:1976)
	at org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:2122)
	at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1598)
	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722){code}

> java.lang.IllegalArgumentException: Comparison method violates its general contract!
> ------------------------------------------------------------------------------------
>
>                 Key: AMQ-6016
>                 URL: https://issues.apache.org/jira/browse/AMQ-6016
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.10.0
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>             Fix For: 5.13.0
>
>
> The message group balancing is based on state in the consumer that can be shared across
destinations in error. Under load this can lead to:{code}
> 2015-04-13 10:24:20,034 | WARN  | IO Worker 308792 | Service                        
 | ivemq.broker.TransportConnection  312 | 121 - org.apache.activemq.activemq-osgi - 5.9.0
| Async error occurred: 
> java.lang.IllegalArgumentException: Comparison method violates its general contract!
> 	at java.util.TimSort.mergeHi(TimSort.java:868)[:1.7.0_65]
> 	at java.util.TimSort.mergeAt(TimSort.java:485)[:1.7.0_65]
> 	at java.util.TimSort.mergeCollapse(TimSort.java:410)[:1.7.0_65]
> 	at java.util.TimSort.sort(TimSort.java:214)[:1.7.0_65]
> 	at java.util.TimSort.sort(TimSort.java:173)[:1.7.0_65]
> 	at java.util.Arrays.sort(Arrays.java:659)[:1.7.0_65]
> 	at java.util.Collections.sort(Collections.java:217)[:1.7.0_65]
> 	at org.apache.activemq.broker.region.Queue.addToConsumerList(Queue.java:2131)[121:org.apache.activemq.activemq-osgi:5.9.0]
> 	at org.apache.activemq.broker.region.Queue.doActualDispatch(Queue.java:2067)[121:org.apache.activemq.activemq-osgi:5.9.0]
> 	at org.apache.activemq.broker.region.Queue.doDispatch(Queue.java:1972)[121:org.apache.activemq.activemq-osgi:5.9.0]
> 	at org.apache.activemq.broker.region.Queue.removeSubscription(Queue.java:587)[121:org.apache.activemq.activemq-osgi:5.9.0]
> 	at org.apache.activemq.broker.region.DestinationFilter.removeSubscription(DestinationFilter.java:127)[121:org.apache.activemq.activemq-osgi:5.9.0]
> 	at ......
> 	at java.lang.Thread.run(Thread.java:745)[:1.7.0_65]{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message