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

ASF subversion and git services commented on QPID-7186:
-------------------------------------------------------

Commit 1737992 from [~k-wall] in branch 'java/trunk'
[ https://svn.apache.org/r1737992 ]

QPID-7186: [Java Broker] Iterate any selected keys before potentially 
cancelling the accepting port's key.

> 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: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to