[
https://issues.apache.org/jira/browse/QPIDJMS-474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16933460#comment-16933460
]
Mario Schlipf commented on QPIDJMS-474:
---------------------------------------
Thank you very much for the quick resolution of this issue, [~robbie]!
> NPE upon connection failure during transacted session setup
> -----------------------------------------------------------
>
> Key: QPIDJMS-474
> URL: https://issues.apache.org/jira/browse/QPIDJMS-474
> Project: Qpid JMS
> Issue Type: Bug
> Components: qpid-jms-client
> Affects Versions: 0.45.0
> Reporter: Mario Schlipf
> Assignee: Robbie Gemmell
> Priority: Major
> Fix For: 0.46.0
>
>
> Hi,
> I am using qpid-cms-client version 0.39.0, but I can see that the same
> problem exists in the current version.
> {{The function `JmsLocalTransactionContext.onConnectionInterrupted is missing
> a null-check for the `transactionInfo` field.}}
> This function is called from `JmsSession.onConnectionInterrupted`. If
> `transactionInfo` is null, this leads to the fact that consumers and
> producers are not properly notified of the interrupted connection.
> I am using qpid-jms-client in conjunction with Spring's
> `SingleConnectionFactory`. I can see rare cases where `transactionInfo` is
> null and in which the SpringConnectionFactory will not be informed about the
> transaction loss. In these cases, there is no automatic reconnect from Spring.
>
> Below some logging when the NPE occurs:
>
>
> {code:java}
> 2019-09-19T08:39:17,141 [WARN ] [AmqpProvider :(2):[amqps://10.0.0.12:5672]]
> AbstractEventExecutor - A task raised an exception. Task:
> org.apache.qpid.jms.provider.amqp.AmqpProvider$$Lambda$327/2054861790@467bfdd
> java.lang.NullPointerException: null
> at
> org.apache.qpid.jms.JmsLocalTransactionContext.onConnectionInterrupted(JmsLocalTransactionContext.java:333)
> ~[qpid-jms-client-0.39.0.jar!/:?]
> at
> org.apache.qpid.jms.JmsSession.onConnectionInterrupted(JmsSession.java:1340)
> ~[qpid-jms-client-0.39.0.jar!/:?]
> at
> org.apache.qpid.jms.JmsConnection.onConnectionFailure(JmsConnection.java:1356)
> ~[qpid-jms-client-0.39.0.jar!/:?]
> at
> org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1069)
> ~[qpid-jms-client-0.39.0.jar!/:?]
> at
> org.apache.qpid.jms.provider.amqp.AmqpProvider.lambda$onTransportClosed$18(AmqpProvider.java:867)
> ~[qpid-jms-client-0.39.0.jar!/:?]
> at
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
> ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
> at
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
> ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
> at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:315)
> ~[netty-transport-native-epoll-4.1.29.Final-linux-x86_64.jar!/:4.1.29.Final]
> at
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
> ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
> {code}
>
> My suspicion is that this NPE is responsible for the exception not properly
> proparagated, but I am still investigating.
> It would help very much if anyone from the Qpid team could validate this as
> well.
>
> Thanks
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]