[
https://issues.apache.org/jira/browse/QPID-6711?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Keith Wall closed QPID-6711.
----------------------------
Resolution: Cannot Reproduce
Cannot reproduce the problem.
> [0-8..0-9-1] Client may send a ChannelOpen before connection establishment
> is complete
> ---------------------------------------------------------------------------------------
>
> Key: QPID-6711
> URL: https://issues.apache.org/jira/browse/QPID-6711
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Affects Versions: qpid-java-6.0
> Environment: MacBookAir 1.7 GHz Intel Core i7
> Maximum Memory : 1,908,932,608 bytes
> Platform : JVM : Oracle Corporation version: 1.7.0_45-b18 OS : Mac OS X
> version: 10.10.4 arch: x86_64 cores: 4
> Reporter: Keith Wall
> Attachments: repo.tar.bz2
>
>
> I am seeing a sporadic issue on the legacy Qpid Client when using the
> 0-8..0-91 protocol with SSL. Occasionally, the client is seen to emit a
> ChannelOpen before the ConnectionOpenOk has been received. The Java Broker
> detects that illegal state and closes the connection.
> I have not checked if this is a regression. I am reproducing this issue
> running the Perftest profile VaryingNumberOfParticipantsSSL.js using a Java
> Broker configured with SSL using the canned test certs.
> After augmenting the Broker to log a stack trace
> AMQPConnection_0_8#assertState)
> {noformat}
> 2015-08-26 09:26:47,977 ERROR [IO-/127.0.0.1:51674]
> (o.a.q.s.p.v.AMQPConnection_0_8) - Connection is in the wrong state
> AWAIT_START_OK , expecting OPEN
> java.lang.Exception: null
> at
> org.apache.qpid.server.protocol.v0_8.AMQPConnection_0_8.assertState(AMQPConnection_0_8.java:1061)
> [classes/:na]
> at
> org.apache.qpid.server.protocol.v0_8.AMQPConnection_0_8.receiveChannelOpen(AMQPConnection_0_8.java:1020)
> [classes/:na]
> at
> org.apache.qpid.framing.ChannelOpenBody.process(ChannelOpenBody.java:92)
> [classes/:na]
> at
> org.apache.qpid.codec.ServerDecoder.processMethod(ServerDecoder.java:122)
> [classes/:na]
> {noformat}
> And augmenting the Qpid Client to that IoSender and IoReceiver include the
> socket's localport:
> {noformat}
> 2015-08-26 09:26:47,972 DEBUG [Dispatcher-2-Conn-34]
> o.a.q.c.AMQProtocolHandler SEND: AMQP1109
> 2015-08-26 09:26:47,972 INFO [Dispatcher-2-Conn-34] o.a.q.c.AMQConnection
> Connection 82 now connected from /127.0.0.1:51674 to localhost/127.0.0.1:5671
> 2015-08-26 09:26:47,973 DEBUG [Dispatcher-2-Conn-34] o.a.q.c.AMQConnection
> Are we connected:true
> 2015-08-26 09:26:47,973 DEBUG [Dispatcher-2-Conn-34] o.a.q.c.AMQConnection
> Connected with ProtocolHandler Version:0-9
> 2015-08-26 09:26:47,974 DEBUG [Dispatcher-2-Conn-1]
> o.a.q.c.AMQProtocolHandler SEND: Frame channelId: 2, bodyFrame:
> [BasicAckBodyImpl: deliveryTag=81, multiple=false]
> 2015-08-26 09:26:47,974 DEBUG [Dispatcher-2-Conn-34]
> o.a.q.c.AMQProtocolHandler SEND:
> org.apache.qpid.framing.CompositeAMQDataBlock{ 0=[Frame channelId: 3,
> bodyFrame: [BasicPublishBodyImpl: ticket=0, exchange=amq.direct,
> routingKey=controllerqueue, mandatory=true, immediate=false]] 1=[Frame
> channelId: 3, bodyFrame: ContentHeaderBody{classId=60, weight=0, bodySize=0,
> properties=reply-to = null,propertyFlags = 47312,ApplicationID =
> null,ClusterID = null,UserId = guest,JMSMessageID =
> ID:448e77ea-0fde-3dd8-9133-1654cdb15fad,JMSCorrelationID =
> null,JMSDeliveryMode = 2,JMSExpiration = 0,JMSPriority = 4,JMSTimestamp =
> 1440577607974,JMSType = null}]}
> 2015-08-26 09:26:47,974 DEBUG [Dispatcher-2-Conn-34]
> o.a.q.c.AMQProtocolHandler SEND: Frame channelId: 2, bodyFrame:
> [BasicAckBodyImpl: deliveryTag=1, multiple=false]
> 2015-08-26 09:26:47,975 DEBUG [Dispatcher-2-Conn-34]
> o.a.q.c.AMQProtocolHandler SEND: Frame channelId: 1, bodyFrame:
> [ChannelOpenBody]
> 2015-08-26 09:26:47,976 DEBUG [IoRcvr-localhost/127.0.0.1:5671-51674]
> o.a.q.c.AMQProtocolHandler RECV: Frame channelId: 0, bodyFrame:
> [ConnectionStartBodyImpl: versionMajor=0, versionMinor=9,
> serverProperties={product=[LONG_STRING: qpid], version=[LONG_STRING:
> 6.0.0-SNAPSHOT], qpid.build=[LONG_STRING: Unversioned directory],
> qpid.instance_name=[LONG_STRING: Broker],
> qpid.close_when_no_route=[LONG_STRING: true],
> qpid.message_compression_supported=[LONG_STRING: true],
> qpid.confirmed_publish_supported=[LONG_STRING: true],
> qpid.virtualhost_properties_supported=[LONG_STRING: true]}, mechanisms=[80,
> 76, 65, 73, 78, 32, 67, 82, 65, 77, 45, 77, 68, 53], locales=[101, 110, 95,
> 85, 83]]
> 2015-08-26 09:26:47,977 DEBUG [IoRcvr-localhost/127.0.0.1:5671-51674]
> o.a.q.c.AMQProtocolHandler SEND: Frame channelId: 0, bodyFrame:
> [ConnectionStartOkBodyImpl: clientProperties={instance=[LONG_STRING:
> clientid], product=[LONG_STRING: qpid], version=[LONG_STRING:
> 6.0.0-SNAPSHOT], platform=[LONG_STRING: Java(TM) SE Runtime Environment,
> 1.7.0_79-b15, Oracle Corporation, x86_64, Mac OS X, 10.10.4, unknown],
> qpid.client_process=[LONG_STRING: Qpid Java Client], qpid.client_pid=[INT:
> 1142], qpid.message_compression_supported=[LONG_STRING: false]},
> mechanism=CRAM-MD5, response=null, locale=en_US]
> 2015-08-26 09:26:47,978 DEBUG [IoRcvr-localhost/127.0.0.1:5672-51588]
> o.a.q.c.AMQProtocolHandler RECV: Frame channelId: 2, bodyFrame:
> [BasicDeliverBodyImpl: consumerTag=1, deliveryTag=82, redelivered=false,
> exchange=amq.direct, routingKey=controllerqueue]
> 2015-08-26 09:26:47,978 DEBUG [IoRcvr-localhost/127.0.0.1:5672-51588]
> o.a.q.c.AMQProtocolHandler RECV: Frame channelId: 2, bodyFrame:
> ContentHeaderBody{classId=60, weight=0, bodySize=0, properties=reply-to =
> null,propertyFlags = 47312,ApplicationID = null,ClusterID = null,UserId =
> guest,JMSMessageID = ID:448e77ea-0fde-3dd8-9133-1654cdb15fad,JMSCorrelationID
> = null,JMSDeliveryMode = 2,JMSExpiration = 0,JMSPriority = 4,JMSTimestamp =
> 1440577607974,JMSType = null}
> 2015-08-26 09:26:47,980 DEBUG [Dispatcher-2-Conn-1]
> o.a.q.c.AMQProtocolHandler SEND: Frame channelId: 2, bodyFrame:
> [BasicAckBodyImpl: deliveryTag=82, multiple=false]
> 2015-08-26 09:26:47,981 DEBUG [IoRcvr-localhost/127.0.0.1:5671-51673]
> o.a.q.c.AMQProtocolHandler RECV: Frame channelId: 0, bodyFrame:
> [ConnectionCloseBodyImpl: replyCode=503, replyText=Command Invalid - not in
> required state OPEN current state AWAIT_START_OK, classId=20, methodId=10]
> 2015-08-26 09:26:47,981 DEBUG [IoRcvr-localhost/127.0.0.1:5671-51674]
> o.a.q.c.AMQProtocolHandler RECV: Frame channelId: 0, bodyFrame:
> [ConnectionCloseBodyImpl: replyCode=503, replyText=Command Invalid - not in
> required state OPEN current state AWAIT_START_OK, classId=20, methodId=10]
> {noformat}
> Notice that 51674 is reporting "Connection 82 now connected" before
> ConnectionOpenOk has been received. It suggests to me a defect in the
> StateWaiter mechanics.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]