[
https://issues.apache.org/jira/browse/AMQ-7353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16982664#comment-16982664
]
Gary Tully edited comment on AMQ-7353 at 11/26/19 5:01 PM:
-----------------------------------------------------------
I added the causes relation here to
https://issues.apache.org/jira/browse/AMQ-7245 but it could be relates to,
however depending on what happens next the client may see a read error or an
invalid marshal cache on the next command, leading to ClassCastException etc.
The connection may not always terminate due to the NPE in a timely manner and
during the working part of the marshal the broker side cache can be populated,
but the command never completed, leaving the other end (un marshal cache) out
of sync.
If the symptoms of AMQ-7245 have a corresponding error on NPE on the broker
side, which is my suspicion, I think this is the root cause.
was (Author: gtully):
I added the causes relation here to
https://issues.apache.org/jira/browse/AMQ-7245 but it could be relates to,
however depending on what happens next the client may see a read error or an
invalid marshal cache on the next command, leading to classcastexceptions etc.
The connection may not always terminate due to the NPE in a timely manner and
during the working part of the marshal the broker side cache can be populated.
If the symptoms of AMQ-7245 have a corresponding error on NPE on the broker
side, which is my suspicion, I think this is the root cause.
> Rare NPE during marshall killing async dispatch task
> ----------------------------------------------------
>
> Key: AMQ-7353
> URL: https://issues.apache.org/jira/browse/AMQ-7353
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker, Transport
> Affects Versions: 5.15.0
> Reporter: Gary Tully
> Assignee: Gary Tully
> Priority: Major
> Fix For: 5.16.0
>
>
> On occasion the following NPE occurs:
> {code}
> Error in thread 'ActiveMQ BrokerService[..] Task-243' Class
> org.apache.activemq.thread.TaskRunnerFactory$1$1
> Method uncaughtException
> Throwable java.lang.NullPointerException
> at java.lang.System.arraycopy(Native Method)
> at
> org.apache.activemq.transport.nio.NIOOutputStream.write(NIOOutputStream.java:113)
> at java.io.DataOutputStream.write(DataOutputStream.java:107)
> at
> org.apache.activemq.openwire.v10.BaseDataStreamMarshaller.tightMarshalByteSequence2(BaseDataStreamMarshaller.java:431)
> at
> org.apache.activemq.openwire.v10.MessageMarshaller.tightMarshal2(MessageMarshaller.java:183)
> at
> org.apache.activemq.openwire.v10.ActiveMQMessageMarshaller.tightMarshal2(ActiveMQMessageMarshaller.java:89)
> at
> org.apache.activemq.openwire.v10.ActiveMQBytesMessageMarshaller.tightMarshal2(ActiveMQBytesMessageMarshaller.java:89)
> at
> org.apache.activemq.openwire.OpenWireFormat.tightMarshalNestedObject2(OpenWireFormat.java:417)
> at
> org.apache.activemq.openwire.v10.BaseDataStreamMarshaller.tightMarshalNestedObject2(BaseDataStreamMarshaller.java:135)
> at
> org.apache.activemq.openwire.v10.MessageDispatchMarshaller.tightMarshal2(MessageDispatchMarshaller.java:105)
> at
> org.apache.activemq.openwire.OpenWireFormat.marshal(OpenWireFormat.java:227)
> at
> org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:175)
> at
> org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:335)
> at
> org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:317)
> at
> org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85)
> at
> org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:116)
> at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
> at
> org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1456)
> at
> org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:966)
> at
> org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:1016)
> 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:1149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)