[ 
https://issues.apache.org/jira/browse/QPID-995?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12593525#action_12593525
 ] 

Aidan Skinner commented on QPID-995:
------------------------------------

Seems to be a race between AMQStateManager and AMQConnection:
13:10:09,702 DEBUG [TestRunnerThread] ByteChannel: PID=4184 WRITE 01 00 00 00 
00 00 35 00 0A 00 3C 00 C8 2A 51 70 69 64 2E 4E 45 54 20 63 6C 69 65 6E 74 20 
69 73 20 63 6C 6F 73 69 6E 67 20 74 68 65 20 63 6F 6E 6E 65 63 74 69 6F 6E 2E 
00 00 00 00 CE
13:10:09,733 DEBUG [TestRunnerThread] AMQConnection: PID=4184 Blocking for 
connection close ok frame
13:10:09,733 DEBUG [5176] ByteChannel: PID=4184 READ 01 00 00 00 00 00 04 00 0A 
00 3D CE
13:10:09,780 DEBUG [5176] CumulativeProtocolDecoder: PID=4184 DecodeInput: 
input 12
13:10:09,780 DEBUG [5176] AMQDataBlockDecoder: PID=4184 Able to decode data 
block of size 12
13:10:09,780 DEBUG [5176] ProtocolChannel: PID=4184 READ Frame channelId: 0, 
bodyFrame: ConnectionCloseOkBody{ Class: 10 Method: 61 }
13:10:09,780 DEBUG [5176] AMQProtocolListener: PID=4184 Method frame received: 
Frame channelId: 0, bodyFrame: ConnectionCloseOkBody{ Class: 10 Method: 61 }
13:10:09,780 DEBUG [5176] AMQStateManager: PID=4184 Finding method handler. 
currentState=CONNECTION_CLOSING type=Apache.Qpid.Framing.ConnectionCloseOkBody
13:10:09,780 DEBUG [5176] AMQStateManager: PID=4184 Looking for state 
transition handler for frame Apache.Qpid.Framing.ConnectionCloseOkBody
13:10:09,780 DEBUG [5176] ConnectionCloseOkHandler: PID=4184 ConnectionCloseOk 
frame received
13:10:09,780 DEBUG [5176] AMQStateManager: PID=4184 State changing to 
CONNECTION_CLOSED from old state CONNECTION_CLOSING
13:10:09,780 DEBUG [5176] AMQStateManager: PID=4184 State changing to 
CONNECTION_CLOSED from old state CONNECTION_CLOSING
13:10:09,765 DEBUG [TestRunnerThread] AMQStateManager: PID=4184 Adding state 
wait to reach state CONNECTION_CLOSED
13:10:09,983 DEBUG [TestRunnerThread] AMQStateManager: PID=4184 Adding state 
listener
13:10:09,983 DEBUG [TestRunnerThread] StateWaiter: PID=4184 State not achieved 
so waiting...


> StateWaiter can get terribly confused
> -------------------------------------
>
>                 Key: QPID-995
>                 URL: https://issues.apache.org/jira/browse/QPID-995
>             Project: Qpid
>          Issue Type: Bug
>          Components: Dot Net Client
>    Affects Versions: M2.1, M3
>            Reporter: Aidan Skinner
>            Assignee: Aidan Skinner
>
> During connection close, for instance, it can end up waiting for 
> CONNECTION_NOT_STARTED when it was asked for CONNECTION_CLOSED
> TearDown : System.Reflection.TargetInvocationException : Exception has been 
> thrown by the target of an invocation.
>   ----> Apache.Qpid.Messaging.QpidException : Error closing connection: 
> Apache.Qpid.AMQException: State not achieved within permitted time. Current 
> state: CONNECTION_CLOSED, desired state: CONNECTION_NOT_STARTED
>    at Apache.Qpid.Client.State.StateWaiter.WaituntilStateHasChanged() in 
> c:\work\qpid\trunk\qpid\dotnet\Qpid.Client\Client\State\StateWaiter.cs:line 
> 117
>    at Apache.Qpid.Client.State.AMQStateManager.AttainState(AMQState s) in 
> c:\work\qpid\trunk\qpid\dotnet\Qpid.Client\Client\State\AMQStateManager.cs:line
>  241
>    at Apache.Qpid.Client.AMQConnection.CloseConnection() in 
> c:\work\qpid\trunk\qpid\dotnet\Qpid.Client\Client\AMQConnection.cs:line 266
>    at Apache.Qpid.Client.AMQConnection.Close() in 
> c:\work\qpid\trunk\qpid\dotnet\Qpid.Client\Client\AMQConnection.cs:line 245]]

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to