Unhandled Exception in thread started by Apache.NMS.ActiveMQ when Broker is 
restarted
-------------------------------------------------------------------------------------

                 Key: AMQNET-316
                 URL: https://issues.apache.org/jira/browse/AMQNET-316
             Project: ActiveMQ .Net
          Issue Type: Bug
          Components: ActiveMQ
    Affects Versions: 1.2.0
         Environment: Apache.NMS.dll 1.2.0.1836, Apache.NMS.ActiveMQ.dll 
1.2.0.1864, Active MQ Broker 5.3.1, .NET Framework 3.5 SP1, Windows 7 64-bit
            Reporter: Philip Oswald
            Assignee: Jim Gomes


We observed occasional crashes in a .NET message producer when the Broker was 
restarted. The crash could be traced to
an unhandled System.InvalidOperationException that was thrown in a thread 
started by Apache.NMS.ActiveMQ. 
The following information was reported by the 
System.AppDomain.CurrentDomain.UnhandledException event:


------
.NET Exception in database layer:
    System.InvalidOperationException (from module mscorlib): Die Auflistung 
wurde geändert. Der Enumerationsvorgang kann möglicherweise nicht ausgeführt 
werden.

Detailed Information:

Message: Die Auflistung wurde geändert. Der Enumerationsvorgang kann 
möglicherweise nicht ausgeführt werden.
Type: System.InvalidOperationException
Source: mscorlib
Stack Trace:
   bei System.Collections.Hashtable.HashtableEnumerator.MoveNext()
   bei Apache.NMS.ActiveMQ.Transport.ResponseCorrelator.OnException(ITransport 
sender, Exception command)
   bei Apache.NMS.ActiveMQ.Transport.InactivityMonitor.OnException(ITransport 
sender, Exception command)
   bei Apache.NMS.ActiveMQ.Transport.Tcp.TcpTransport.ReadLoop()
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, 
ContextCallback callback, Object state)
   bei System.Threading.ThreadHelper.ThreadStart()


The .NET runtime is terminating.
------


The problem occurs only in rare circumstances. 
It could be reproduced by repeatedly executing the following steps (for about 
one hour):
- Stop the Broker (NET STOP ActiveMQ)
- Wait for 5 secs
- Start the Broker (NET START ActiveMQ)
- Wait for 5 secs

Further info:
- We have a fairly simple "reporter thread" that sends messages to an ActiveMQ 
queue using a single connection,
  session and producer instance. Whenever the reporter thread encounteres an 
exception, the three instances
  (connection, session, producer) are closed and recreated. The instances are 
only accessed by the reporter thread.
- URL: activemq:tcp://test-cus-server:61616 

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


Reply via email to