[
https://issues.apache.org/jira/browse/ACTIVEMQ6-55?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14358556#comment-14358556
]
ASF GitHub Bot commented on ACTIVEMQ6-55:
-----------------------------------------
GitHub user gemmellr opened a pull request:
https://github.com/apache/activemq-6/pull/176
ACTIVEMQ6-55: prevent NPE when closing a link with no context
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gemmellr/activemq-6 ACTIVEMQ6-55-fix-NPE
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-6/pull/176.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #176
----
commit 169206efbbb8d5d3cb65aba480c4d59be4a0f4b0
Author: Robert Gemmell <[email protected]>
Date: 2015-03-12T11:42:29Z
ACTIVEMQ6-55: prevent NPE when closing a link that didnt get as far as
having a context added
----
> lack of link context when processing AMQP detach response results in NPE
> ------------------------------------------------------------------------
>
> Key: ACTIVEMQ6-55
> URL: https://issues.apache.org/jira/browse/ACTIVEMQ6-55
> Project: Apache ActiveMQ 6
> Issue Type: Bug
> Affects Versions: 6.0.0
> Reporter: Robbie Gemmell
>
> When an AMQP 1.0 link (producer/consumer) is detached/closed by the broker
> with an error, clients must send a response Detach frame. If the link context
> was not set before the error occurred, this leads to the broker experiencing
> an NPE while processing the reply.
> {noformat}
> java.lang.NullPointerException
> at
> org.proton.plug.context.AbstractConnectionContext$LocalListener.onRemoteClose(AbstractConnectionContext.java:258)
> at org.proton.plug.handler.Events.dispatch(Events.java:89)
> at
> org.proton.plug.handler.impl.ProtonHandlerImpl.dispatch(ProtonHandlerImpl.java:399)
> at
> org.proton.plug.handler.impl.ProtonHandlerImpl.flush(ProtonHandlerImpl.java:298)
> at
> org.proton.plug.handler.impl.ProtonHandlerImpl.inputBuffer(ProtonHandlerImpl.java:178)
> at
> org.proton.plug.context.AbstractConnectionContext.inputBuffer(AbstractConnectionContext.java:71)
> at
> org.apache.activemq.core.protocol.proton.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:140)
> at
> org.apache.activemq.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:665)
> at
> org.apache.activemq.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:77)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
> at
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
> at
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:507)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
> at
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)