qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Rudyy (JIRA)" <j...@apache.org>
Subject [jira] [Created] (QPID-6776) [Java Client] Timeout on connection close might cause NPE being thrown on receiving of message from a broker for closed session
Date Tue, 06 Oct 2015 15:11:26 GMT
Alex Rudyy created QPID-6776:
--------------------------------

             Summary: [Java Client] Timeout on connection close might cause NPE being thrown
on receiving of message from a broker for closed session
                 Key: QPID-6776
                 URL: https://issues.apache.org/jira/browse/QPID-6776
             Project: Qpid
          Issue Type: Bug
          Components: Java Client
    Affects Versions: qpid-java-6.0
            Reporter: Alex Rudyy


The issue occurred when broker was running under stress (heap memory was consumed by messages
and new connections were repeatedly open/closed). Broker was performing Full GC multiple times
in a row:

As result, client failed to receive session close response in time. Thus, timeout is not surprising.
NPE followed timeout should not occur.

Here are  the client logs for the issue:
{noformat}
2015-10-06 15:47:33,962         ERROR [main] o.a.q.c.AMQConnection Error closing session:
javax.jms.JMSException: Error closing session: org.apache.qpid.AMQTimeoutException: Server
did not respond in a timely fashion [error code 408: Request Timeout]
2015-10-06 15:47:33,969         ERROR [main] o.a.q.c.AMQConnection Error closing connection
javax.jms.JMSException: Error closing session: org.apache.qpid.AMQTimeoutException: Server
did not respond in a timely fashion [error code 408: Request Timeout]
        at org.apache.qpid.client.AMQSession.close(AMQSession.java:770) ~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQSession.close(AMQSession.java:732) ~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnection.closeAllSessions(AMQConnection.java:1186)
[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnection.doClose(AMQConnection.java:1113) [qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnection.doClose(AMQConnection.java:1098) [qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnection.close(AMQConnection.java:1081) [qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnection.close(AMQConnection.java:1062) [qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.tools.StressTestClient.runTest(StressTestClient.java:374) [qpid-tools-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.tools.StressTestClient.main(StressTestClient.java:122) [qpid-tools-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
Caused by: org.apache.qpid.AMQTimeoutException: Server did not respond in a timely fashion
        at org.apache.qpid.client.util.BlockingWaiter.block(BlockingWaiter.java:170) ~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.protocol.BlockingMethodFrameListener.blockForFrame(BlockingMethodFrameListener.java:115)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQProtocolHandler.writeCommandFrameAndWaitForReply(AMQProtocolHandler.java:685)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:706)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQSession_0_8.sendClose(AMQSession_0_8.java:249) ~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQSession.close(AMQSession.java:764) ~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        ... 8 common frames omitted
2015-10-06 15:47:34,038         ERROR [IoRcvr-localhost/127.0.0.1:5672] o.a.q.c.AMQProtocolHandler
Exception processing frame
java.lang.NullPointerException: null
        at org.apache.qpid.client.protocol.AMQProtocolSession.deliverMessageToAMQSession(AMQProtocolSession.java:298)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.protocol.AMQProtocolSession.contentBodyReceived(AMQProtocolSession.java:280)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.framing.ContentBody.handle(ContentBody.java:71) ~[qpid-common-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQProtocolHandler.received(AMQProtocolHandler.java:477)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnectionDelegate_8_0$ReceiverClosedWaiter.received(AMQConnectionDelegate_8_0.java:544)
[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:162) [qpid-common-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]
2015-10-06 15:47:34,039         WARN  [main] o.a.q.c.AMQConnection Error closing underlying
protocol connection
org.apache.qpid.QpidException: Woken up due to class java.lang.NullPointerException
        at org.apache.qpid.client.util.BlockingWaiter.block(BlockingWaiter.java:195) ~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.protocol.BlockingMethodFrameListener.blockForFrame(BlockingMethodFrameListener.java:115)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQProtocolHandler.writeCommandFrameAndWaitForReply(AMQProtocolHandler.java:685)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:706)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQProtocolHandler.closeConnection(AMQProtocolHandler.java:740)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnectionDelegate_8_0.closeConnection(AMQConnectionDelegate_8_0.java:85)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnection.doClose(AMQConnection.java:1129) [qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnection.doClose(AMQConnection.java:1098) [qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnection.close(AMQConnection.java:1081) [qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnection.close(AMQConnection.java:1062) [qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.tools.StressTestClient.runTest(StressTestClient.java:374) [qpid-tools-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.tools.StressTestClient.main(StressTestClient.java:122) [qpid-tools-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
Caused by: java.lang.NullPointerException: null
        at org.apache.qpid.client.protocol.AMQProtocolSession.deliverMessageToAMQSession(AMQProtocolSession.java:298)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.protocol.AMQProtocolSession.contentBodyReceived(AMQProtocolSession.java:280)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.framing.ContentBody.handle(ContentBody.java:71) ~[qpid-common-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQProtocolHandler.received(AMQProtocolHandler.java:477)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnectionDelegate_8_0$ReceiverClosedWaiter.received(AMQConnectionDelegate_8_0.java:544)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:162) ~[qpid-common-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_67]
2015-10-06 15:47:34,055         ERROR [IoRcvr-localhost/127.0.0.1:5672] o.a.q.c.AMQProtocolHandler
Exception processing frame
java.lang.UnsupportedOperationException: null
        at java.util.AbstractList.add(AbstractList.java:148) ~[na:1.7.0_67]
        at java.util.AbstractList.add(AbstractList.java:108) ~[na:1.7.0_67]
        at org.apache.qpid.client.message.UnprocessedMessage_0_8.receiveBody(UnprocessedMessage_0_8.java:109)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.protocol.AMQProtocolSession.contentBodyReceived(AMQProtocolSession.java:276)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.framing.ContentBody.handle(ContentBody.java:71) ~[qpid-common-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQProtocolHandler.received(AMQProtocolHandler.java:477)
~[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.client.AMQConnectionDelegate_8_0$ReceiverClosedWaiter.received(AMQConnectionDelegate_8_0.java:544)
[qpid-client-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:162) [qpid-common-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]

{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message