[
https://issues.apache.org/jira/browse/QPID-7186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15231857#comment-15231857
]
Alex Rudyy commented on QPID-7186:
----------------------------------
The change look reasonable. We should port it into 6.0.x branch
> CancelledKeyException from the accepting thread during Broker shutdown
> ----------------------------------------------------------------------
>
> Key: QPID-7186
> URL: https://issues.apache.org/jira/browse/QPID-7186
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: qpid-java-6.0.1
> Reporter: Keith Wall
> Assignee: Keith Wall
> Priority: Minor
> Fix For: qpid-java-6.0.2, qpid-java-6.1
>
>
> The following failure occurred during an Apache CI run:
> https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Java-MMS-6.0.x-TestMatrix/lastCompletedBuild/jdk=JDK%201.7%20(latest),label=Ubuntu,profile=java-mms.0-10/artifact/6.0.x/systests/target/surefire-reports/TEST-org.apache.qpid.transport.ProtocolNegotiationTest.testWrongProtocolHeaderSent_BrokerRespondsWithSupportedProtocol.txt
> The error occurred during the Broker shutdown. The SelectorThread had
> cancelled the key corresponding to the accepting port, and then failed when
> iterating the previously returned selector keys
> ({{SelectorThread.SelectionTask#processSelectionKeys}}) .
> We can tell from the logs that no connections existed to the Broker at the
> point of shutdown, so the only key registered on the selector must have been
> the accepting port.
> It seems that the Broker must has received a incoming connection to the
> accepting port around the time of shutdown and this meant that the selector
> returned the acceptor as just of the selected set. This was then processed
> after the key was cancelled, causing the exception.
> {noformat}
> 2016-04-05 21:35:48,683 DEBUG [Selector-Port-amqp]
> o.a.q.s.t.SelectorThread Cancelling selector on accepting port
> /0:0:0:0:0:0:0:0:15672
> ...
> 2016-04-05 21:35:48,706 ERROR [Selector-Port-amqp]
> o.a.q.t.u.InternalBrokerHolder Uncaught exception from thread
> Selector-Port-amqp
> java.nio.channels.CancelledKeyException: null
> at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:73)
> ~[na:1.7.0_80]
> at sun.nio.ch.SelectionKeyImpl.readyOps(SelectionKeyImpl.java:87)
> ~[na:1.7.0_80]
> at java.nio.channels.SelectionKey.isAcceptable(SelectionKey.java:360)
> ~[na:1.7.0_80]
> at
> org.apache.qpid.server.transport.SelectorThread$SelectionTask.processSelectionKeys(SelectorThread.java:167)
> ~[qpid-broker-core-6.0.2-SNAPSHOT.jar:6.0.2-SNAPSHOT]
> at
> org.apache.qpid.server.transport.SelectorThread$SelectionTask.performSelect(SelectorThread.java:306)
> ~[qpid-broker-core-6.0.2-SNAPSHOT.jar:6.0.2-SNAPSHOT]
> at
> org.apache.qpid.server.transport.SelectorThread$SelectionTask.run(SelectorThread.java:87)
> ~[qpid-broker-core-6.0.2-SNAPSHOT.jar:6.0.2-SNAPSHOT]
> at
> org.apache.qpid.server.transport.SelectorThread.run(SelectorThread.java:463)
> ~[qpid-broker-core-6.0.2-SNAPSHOT.jar:6.0.2-SNAPSHOT]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> ~[na:1.7.0_80]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> ~[na:1.7.0_80]
> at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_80]
> {noformat}
> This defect is not likely to cause impact to a production user.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]