You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rob Godfrey (JIRA)" <ji...@apache.org> on 2014/03/02 19:19:30 UTC

[jira] [Resolved] (QPID-5552) Client abrupt stop causes QPID Server crash

     [ https://issues.apache.org/jira/browse/QPID-5552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Godfrey resolved QPID-5552.
-------------------------------

    Resolution: Fixed

> Client abrupt stop causes QPID Server crash
> -------------------------------------------
>
>                 Key: QPID-5552
>                 URL: https://issues.apache.org/jira/browse/QPID-5552
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.24
>         Environment: RHEL
>            Reporter: Chris Kapp
>            Assignee: Rob Godfrey
>             Fix For: 0.27
>
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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