I am continuing to troubleshoot some issues where our Workflow Server suddenly and what appears to be randomly stops processing documents from the repository. I have come across the following error that coincides with the times we are having issues.
Timestamp: 2024-09-04 15:07:03.806
Local Time: 9/4/2024 8:07:03 AM
Category: Errors
Machine: XXXX
Severity: Error
Application Domain: Laserfiche.Workflow.Subscriber.exe
Process Id: 14104
Process Name: C:\Program Files\Laserfiche\Laserfiche Workflow 10\Laserfiche.Workflow.Subscriber.exe
Win32 Thread Id: 15932 -
Thread Name:
Message: <Exception handlingInstanceId="1758220c-939c-4cf8-ae85-58c682ffb4ca">
<Description>An exception of type 'Laserfiche.Workflow.WFSOException' occurred and was caught.</Description>
<DateTime>2024-09-04 08:07:03Z</DateTime>
<ExceptionType>Laserfiche.Workflow.WFSOException, Laserfiche.Workflow.ServerObjects, Version=8.3.0.0, Culture=neutral, PublicKeyToken=d8428ff9263e6cda</ExceptionType>
<Message>An error occurred communicating with the workflow server. View error log for more details. [0604-WFSO0]</Message>
<Source>Laserfiche.Workflow.Subscriber</Source>
<HelpLink />
<Property name="Trace" />
<Property name="IsCommunicationError">True</Property>
<Property name="ServerExceptionType" />
<Property name="ServerError">True</Property>
<Property name="TargetSite">Void UpdateRules(Laserfiche.Workflow.Subscriber.Runtime.Threads.StartingRuleManagerThread)</Property>
<Property name="HResult">-2146233088</Property>
<StackTrace>Client trace
at Laserfiche.Workflow.Subscriber.Runtime.Threads.StartingRuleManagerThread.UpdateRules(StartingRuleManagerThread thread)
at Laserfiche.Workflow.Subscriber.Runtime.Threads.StartingRuleManagerThread.RefreshRules(Object state)
</StackTrace>
<additionalInfo>
<info name="MachineName" value="XXXX" />
<info name="TimeStamp" value="9/4/2024 3:07:03 PM" />
<info name="FullName" value="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<info name="AppDomainName" value="Laserfiche.Workflow.Subscriber.exe" />
<info name="ThreadIdentity" value="" />
<info name="WindowsIdentity" value="NT AUTHORITY\SYSTEM" />
</additionalInfo>
<InnerException>
<ExceptionType>System.ServiceModel.CommunicationObjectFaultedException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
<Message>The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.</Message>
<Source>mscorlib</Source>
<HelpLink />
<Property name="TargetSite">Void HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage)</Property>
<Property name="HResult">-2146233087</Property>
<StackTrace>
Server stack trace:
at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Laserfiche.Workflow.IWorkflowServerApi.TransferDataFromServer(ItemData itemData)
at Laserfiche.Workflow.Internal.WorkflowServerClient.TransferDataFromServer(ItemData itemData)</StackTrace>
</InnerException>
</Exception>
Doing some research on this error message and found someone that said the following:
You get this error because you let a .NET exception happen on your server side, and you didn't catch and handle it, and didn't convert it to a SOAP fault, either.
Now since the server side "bombed" out, the WCF runtime has "faulted" the channel - e.g. the communication link between the client and the server is unusable - after all, it looks like your server just blew up, so you cannot communicate with it any more.
Is this happening because Workflow's code is not catching an exception?
We are using Workflow version 11.0.2306.898.