Menu

Executor gives up getting threads

Help
Marsantej
2009-03-10
2013-06-03
  • Marsantej

    Marsantej - 2009-03-10

    I'm using Alchemi Executor as an application. It seems to work correctly but sometimes the executor gives up getting threads from the manager. If i disconnect and then connect this manager (pressing "Disconnect" and "Connect" button) it receives threads again.
    Any ideas why this can be happening? (This happens after working correctly for some hours).
    Is Executor service more suitable than the application?

     
    • s-l-n

      s-l-n - 2009-03-17

      What do your logs have to say?

      What version of Alchemi are you using?  I've come across a few problems when using 1.0.6, so, you may want to give a shot at using 1.0.5 and see what happens.

       
      • Marsantej

        Marsantej - 2009-03-18

        Executor logs shows these messages (it doesn't happen always, only sometimes):

        2009-03-12 20:58:49,250 [ExecutorWorker-83832b09-344d-4569-ab29-c64c21f01899.2] INFO  Alchemi.ExecutorExec.ExecutorMainForm [(null)] [{log4net:HostName=Marcos_portatil}] [:LogHandler:0] - Started ExecuteThreadInAppDomain...

        2009-03-12 20:58:49,250 [ExecutorWorker-83832b09-344d-4569-ab29-c64c21f01899.2] INFO  Alchemi.ExecutorExec.ExecutorMainForm [(null)] [{log4net:HostName=Marcos_portatil}] [:LogHandler:0] - executing grid thread # 83832b09-344d-4569-ab29-c64c21f01899.2

        2009-03-12 20:58:49,265 [ExecutorWorker-83832b09-344d-4569-ab29-c64c21f01899.2] WARN  Alchemi.ExecutorExec.ExecutorMainForm [(null)] [{log4net:HostName=Marcos_portatil}] [:LogHandler:0] - grid thread # 83832b09-344d-4569-ab29-c64c21f01899.2 failed (System.InvalidOperationException)

        System.InvalidOperationException: Colección modificada; puede que no se ejecute la operación de enumeración.

        Server stack trace:
           en System.Collections.ArrayList.ArrayListEnumeratorSimple.MoveNext()
           en Alchemi.Manager.Storage.InMemoryManagerStorage.UpdateThread(ThreadStorageView updatedThread)
           en Alchemi.Manager.MThread.set_State(ThreadState value)
           en Alchemi.Manager.GManager.Executor_GetThread(SecurityCredentials sc, ThreadIdentifier ti)
           en System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
           en System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
           en System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)

        Exception rethrown at [0]:
           en System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
           en System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
           en Alchemi.Core.IManager.Executor_GetThread(SecurityCredentials sc, ThreadIdentifier ti)
           en Alchemi.Executor.Sandbox.ExecutorWorker.ExecuteThreadInAppDomain()
        2009-03-12 20:58:49,265 [ExecutorWorker-83832b09-344d-4569-ab29-c64c21f01899.2] WARN  Alchemi.ExecutorExec.ExecutorMainForm [(null)] [{log4net:HostName=Marcos_portatil}] [:LogHandler:0] - Error trying to set failed thread for App: 83832b09-344d-4569-ab29-c64c21f01899, thread=2. Original Exception =
        System.InvalidOperationException: Colección modificada; puede que no se ejecute la operación de enumeración.

        After these logs is pinged by the manager, but until the application is finished and a new one is created, this executor doesn't get new threads to execute.
        I'm using 1.0.6 version. I suppose the problem is in the Manager, so i'll try using 1.0.5 as you suggested.

        Thanks a lot.

        Marcos.

         

Log in to post a comment.