Workflow Manager Backedend is crashing
-
05-10-2020 - |
質問
Workflow Manager Backedend service crashes on exception. I have found following entry in log:
WorkflowSessionConfigurationFailedException was swallowed at location
DispatchLoopInstanceAsyncResult.Isolate. Microsoft.Activities.Dispatcher.WorkflowSessionConfigurationFailedException ---> System.TypeLoadException: Method 'SubscribeCurrent' in type 'Microsoft.Activities.Hosting.HostedNotificationExtension' from assembly 'Microsoft.Activities.Hosting, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not have an implementation.
at Microsoft.Activities.Hosting.WorkflowSession.ConfigureEnvironment(Activity workflowDefinition, IWorkflowConfiguration workflowConfiguration, IEnumerable`1 hostExtensions)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ConfigureWorkflowSessionEnvironment(MessageSessionContext messageSession, WorkflowSession workflowSession, Activity rootActivity, IWorkflowConfiguration workflowConfiguration)
--- End of inner exception stack trace ---
at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.WorkflowSessionCreated(IAsyncResult result)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.Isolate(AsyncCompletion callback, IAsyncResult result)
And also this (whis is probably result of previous):
Dispatcher encountered an unexpected exception: System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.SystemSuspendSessionOnFailedConfiguration(String suspensionReason)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.SystemSuspendSession(String suspensionReason, SystemSuspendType suspendType)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.Isolate(AsyncCompletion callback, IAsyncResult result)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.Isolate(AsyncCompletion callback, IAsyncResult result)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ExceptionHandlingFrame(IAsyncResult result)
Have anybody seen an error like this?
I tried to competely uninstall workflow manager, app fabric and service bus, deleted config databases and installed it all again + I installed all latest updates.
It seems like some mismatch in dll versions or an bug.
解決
I found solution. The problem was caused by library Microsoft.Activities.dll
(which is by default placed in c:\Program Files\Reference Assemblies\Microsoft\Workflow Manager\1.0\
).
After some update, it has a newer version then Workflow Manager Backend. I found, I had 1.0.40131.0
version of workflow manager backend (c:\Program Files\Workflow Manager\1.0\Workflow\Artifacts\Microsoft.Workflow.ServiceHost.exe
) and Microsoft.Activities
was NEWER and incompatibile.
I took Microsoft.Activities.dll
from a server, where it was in 1.0.40131.0
version, replaced in my broken server, restarted backend service and suddenly it started working.
他のヒント
I had this same problem and tried both of the solutions above and frustratingly neither of them worked. What worked for me was doing a workflow cumulative update that updated the Microsoft.Activites.dll to the latest version (1.1.10607.2) where the "Subscribe Current" method being called was actually available after the cumulative update was applied.