uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jerry Cwiklik (JIRA)" <...@uima.apache.org>
Subject [jira] [Created] (UIMA-5768) UIMA-AS: fix race condition leading to NPE while recovering from lost connection to broker
Date Fri, 20 Apr 2018 14:43:00 GMT
Jerry Cwiklik created UIMA-5768:
-----------------------------------

             Summary: UIMA-AS: fix race condition leading to NPE while recovering from lost
connection to broker
                 Key: UIMA-5768
                 URL: https://issues.apache.org/jira/browse/UIMA-5768
             Project: UIMA
          Issue Type: Bug
          Components: Async Scaleout
            Reporter: Jerry Cwiklik
            Assignee: Jerry Cwiklik
             Fix For: 2.10.4AS


When UIMA-AS client looses broker connection it goes into a retry mode trying to reconnect.
In one particular case the NPE was thrown :

7| | javax.jms.JMSException: java.io.EOFException
7| | at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54)
7| | at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1948)
7| | at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1967)
7| | at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114)
7| | at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:126)
7| | at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114)
7| | at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114)
7| | at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:173)
7| | at org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:345)
7| | at org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96)
7| | at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:219)
7| | at java.lang.Thread.run(Thread.java:811)
7| | Caused by: java.io.EOFException
7| | at java.io.DataInputStream.readFully(DataInputStream.java:208)
7| | at java.io.DataInputStream.readInt(DataInputStream.java:398)
7| | at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:268)
7| | at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:240)
7| | at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:232)
7| | at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)
7| | ... 1 more
7| | java.lang.NullPointerException
7| | at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.createSession(ActiveMQMessageSender.java:109)
7| | at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.initializeProducer(ActiveMQMessageSender.java:144)
7| | at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.getMessageProducer(ActiveMQMessageSender.java:164)
7| | at org.apache.uima.adapter.jms.client.BaseMessageSender.run(BaseMessageSender.java:286)
7| | at java.lang.Thread.run(Thread.java:811)



Looks like the above is caused by some race condition. One thread trying to reconnect while
another trying to use a connection handle which had been invalidated. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message