Description
Re-create:
With the Proton client, create a moderate load of reads and writes. Stop the client abruptly without any cleanup.
Result:
QPID Server shuts down. The frequency of re-creating seems to be about 80%.
Expected Result:
No messaging client should be able to cause the Message Broker to crash.
The Server output is:
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at org.apache.qpid.transport.network.io.IoSender.run(IoSender.java:313)
at java.lang.Thread.run(Unknown Source)
2014-02-14 09:45:05,469 ERROR [IoSender - /10.109.60.180:52514] (io.IoSender) - error in write thread
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at org.apache.qpid.transport.network.io.IoSender.run(IoSender.java:313)
at java.lang.Thread.run(Unknown Source)
2014-02-14 09:50:08,657 ERROR [IoSender - /10.109.60.180:53546] (io.IoSender) - error in write thread
java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at org.apache.qpid.transport.network.io.IoSender.run(IoSender.java:313)
at java.lang.Thread.run(Unknown Source)
2014-02-14 09:50:08,658 ERROR [IoReceiver - /10.109.60.180:53546] (thread.LoggingUncaughtExceptionHandler) - Uncaught exception in thread "IoReceiver - /10.109.60.180:53546"
org.apache.qpid.transport.SenderClosedException: sender is closed
at org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:114)
at org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:40)
at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.send(ProtocolEngine_1_0_0_SASL.java:424)
at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.send(ProtocolEngine_1_0_0_SASL.java:385)
at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.send(ConnectionEndpoint.java:598)
at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.send(ConnectionEndpoint.java:561)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.send(SessionEndpoint.java:254)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.sendDetach(SessionEndpoint.java:725)
at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.detach(LinkEndpoint.java:405)
at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.detach(LinkEndpoint.java:364)
at org.apache.qpid.server.protocol.v1_0.Subscription_1_0.close(Subscription_1_0.java:188)
at org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:487)
at org.apache.qpid.server.protocol.v1_0.SendingLink_1_0.remoteDetached(SendingLink_1_0.java:394)
at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.remoteDetached(LinkEndpoint.java:171)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.detach(SessionEndpoint.java:290)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.detachLinks(SessionEndpoint.java:192)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.end(SessionEndpoint.java:165)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.end(SessionEndpoint.java:152)
at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.inputClosed(ConnectionEndpoint.java:387)
at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.closed(ProtocolEngine_1_0_0_SASL.java:364)
at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.closed(MultiVersionProtocolEngine.java:115)
at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:222)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at org.apache.qpid.transport.network.io.IoSender.run(IoSender.java:313)
... 1 more
2014-02-14 09:50:08,660 ERROR [IoSender - /10.109.60.180:53545] (io.IoSender) - error in write thread
java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at org.apache.qpid.transport.network.io.IoSender.run(IoSender.java:313)
at java.lang.Thread.run(Unknown Source)
########################################################################
#
- Unhandled Exception org.apache.qpid.transport.SenderClosedException: sender is closed in Thread IoReceiver - /10.109.60.180:53546
# - Exiting
#
########################################################################
org.apache.qpid.transport.SenderClosedException: sender is closed
at org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:114)
at org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:40)
at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.send(ProtocolEngine_1_0_0_SASL.java:424)
at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.send(ProtocolEngine_1_0_0_SASL.java:385)
at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.send(ConnectionEndpoint.java:598)
at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.send(ConnectionEndpoint.java:561)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.send(SessionEndpoint.java:254)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.sendDetach(SessionEndpoint.java:725)
at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.detach(LinkEndpoint.java:405)
at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.detach(LinkEndpoint.java:364)
at org.apache.qpid.server.protocol.v1_0.Subscription_1_0.close(Subscription_1_0.java:188)
at org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:487)
at org.apache.qpid.server.protocol.v1_0.SendingLink_1_0.remoteDetached(SendingLink_1_0.java:394)
at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.remoteDetached(LinkEndpoint.java:171)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.detach(SessionEndpoint.java:290)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.detachLinks(SessionEndpoint.java:192)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.end(SessionEndpoint.java:165)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.end(SessionEndpoint.java:152)
at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.inputClosed(ConnectionEndpoint.java:387)
at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.closed(ProtocolEngine_1_0_0_SASL.java:364)
at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.closed(MultiVersionProtocolEngine.java:115)
at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:222)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at org.apache.qpid.transport.network.io.IoSender.run(IoSender.java:313)
... 1 more
2014-02-14 09:50:08,663 ERROR [IoReceiver - /10.109.60.180:53546] (server.Main) - Uncaught exception, shutting down.
org.apache.qpid.transport.SenderClosedException: sender is closed
at org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:114)
at org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:40)
at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.send(ProtocolEngine_1_0_0_SASL.java:424)
at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.send(ProtocolEngine_1_0_0_SASL.java:385)
at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.send(ConnectionEndpoint.java:598)
at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.send(ConnectionEndpoint.java:561)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.send(SessionEndpoint.java:254)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.sendDetach(SessionEndpoint.java:725)
at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.detach(LinkEndpoint.java:405)
at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.detach(LinkEndpoint.java:364)
at org.apache.qpid.server.protocol.v1_0.Subscription_1_0.close(Subscription_1_0.java:188)
at org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:487)
at org.apache.qpid.server.protocol.v1_0.SendingLink_1_0.remoteDetached(SendingLink_1_0.java:394)
at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.remoteDetached(LinkEndpoint.java:171)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.detach(SessionEndpoint.java:290)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.detachLinks(SessionEndpoint.java:192)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.end(SessionEndpoint.java:165)
at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.end(SessionEndpoint.java:152)
at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.inputClosed(ConnectionEndpoint.java:387)
at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.closed(ProtocolEngine_1_0_0_SASL.java:364)
at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.closed(MultiVersionProtocolEngine.java:115)
at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:222)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at org.apache.qpid.transport.network.io.IoSender.run(IoSender.java:313)
... 1 more
The client message is:
javax.jms.JMSException: java.net.ConnectException: Connection refused: connect
Message length: 113
at org.apache.qpid.amqp_1_0.jms.impl.ConnectionImpl.connect(ConnectionImpl.java:112)
at org.apache.qpid.amqp_1_0.jms.impl.ConnectionImpl.start(ConnectionImpl.java:266)
at org.ldschurch.soa.messaging.proton.ProtonPocMessageContext.<init>(ProtonPocMessageContext.java:49)
at org.ldschurch.soa.messaging.PocMessaging.main(PocMessaging.java:49)
Caused by: org.apache.qpid.amqp_1_0.client.ConnectionException: java.net.ConnectException: Connection refused: connect
at org.apache.qpid.amqp_1_0.client.Connection.<init>(Connection.java:271)
at org.apache.qpid.amqp_1_0.client.Connection.<init>(Connection.java:135)
at org.apache.qpid.amqp_1_0.jms.impl.ConnectionImpl.connect(ConnectionImpl.java:105)
... 3 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at org.apache.qpid.amqp_1_0.client.Connection.<init>(Connection.java:159)
... 5 more
java.lang.NullPointerException
at org.ldschurch.soa.messaging.proton.ProtonPocMessageContext.close(ProtonPocMessageContext.java:77)
at org.ldschurch.soa.messaging.PocMessaging.testMessageThroughput(PocMessaging.java:153)
at org.ldschurch.soa.messaging.PocMessaging.main(PocMessaging.java:49)
Messaging tests complete.