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

Robbie Gemmell closed QPID-378.
-------------------------------

    Resolution: Won't Fix

Closing thess issues out as they relate to the old 0-8 and 0-10 .Net clients 
which were removed from the repository months ago, and not the current .Net 
bindings for the C++ messaging API.

> AMQStateManager issue during connection close
> ---------------------------------------------
>
>                 Key: QPID-378
>                 URL: https://issues.apache.org/jira/browse/QPID-378
>             Project: Qpid
>          Issue Type: Bug
>          Components: Dot Net Client
>    Affects Versions: M3
>         Environment: .NET 2.0
>            Reporter: Tomas Restrepo
>
> Occasionally, while testing the .NET client against the Java Broker, an error 
> will be raised during connection shutdown:
> failed: Qpid.Messaging.QpidException : Error closing connection: 
> Qpid.AMQException: Error: System.InvalidOperationException: Collection was 
> modified; enumeration operation may not execute.
>    at System.Collections.ArrayList.ArrayListEnumeratorSimple.MoveNext()
>    at Qpid.Client.State.AMQStateManager.ChangeState(AMQState newState) in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\State\AMQStateManager.cs:line 131
>    at 
> Qpid.Client.Handler.ConnectionOpenOkMethodHandler.MethodReceived(AMQStateManager
>  stateManager, AMQMethodEvent evt) in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\Handler\ConnectionOpenOkMethodHandler.cs:line
>  30
>    at Qpid.Client.State.AMQStateManager.MethodReceived(AMQMethodEvent evt) in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\State\AMQStateManager.cs:line 152
>    at Qpid.Client.Protocol.AMQProtocolListener.OnMessage(IDataBlock message) 
> in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\Protocol\AMQProtocolListener.cs:line
>  111 ---> System.InvalidOperationException: Collection was modified; 
> enumeration operation may not execute.
>    at System.Collections.ArrayList.ArrayListEnumeratorSimple.MoveNext()
>    at Qpid.Client.State.AMQStateManager.ChangeState(AMQState newState) in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\State\AMQStateManager.cs:line 131
>    at 
> Qpid.Client.Handler.ConnectionOpenOkMethodHandler.MethodReceived(AMQStateManager
>  stateManager, AMQMethodEvent evt) in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\Handler\ConnectionOpenOkMethodHandler.cs:line
>  30
>    at Qpid.Client.State.AMQStateManager.MethodReceived(AMQMethodEvent evt) in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\State\AMQStateManager.cs:line 152
>    at Qpid.Client.Protocol.AMQProtocolListener.OnMessage(IDataBlock message) 
> in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\Protocol\AMQProtocolListener.cs:line
>  111
>    --- End of inner exception stack trace ---
>    at Qpid.Client.State.StateWaiter.WaituntilStateHasChanged() in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\State\StateWaiter.cs:line 94
>    at Qpid.Client.State.AMQStateManager.AttainState(AMQState s) in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\State\AMQStateManager.cs:line 220
>    at Qpid.Client.AMQConnection.CloseConnection() in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\AMQConnection.cs:line 263
>    at Qpid.Client.AMQConnection.Close() in 
> E:\Opensource\qpid\dotnet\Qpid.Client\Client\AMQConnection.cs:line 242
>       E:\Opensource\qpid\dotnet\Qpid.Client\Client\AMQConnection.cs(246,0): 
> at Qpid.Client.AMQConnection.Close()
>       E:\Opensource\qpid\dotnet\Qpid.Client\Client\AMQConnection.cs(428,0): 
> at Qpid.Client.AMQConnection.Dispose()
> The code that's causing the exception is this:
>             foreach (IStateListener l in _stateListeners)
>             {
>                 l.StateChanged(oldState, newState);
>             }
> I think it might be a raise condition of sorts or likely that the state 
> manager is not thread safe and is something is modifying the list of state 
> listeners during shutdown.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to