Symptoms
Task Notfication Emails stopped firing after 4.6.9 upgrade
Diagnoses
I have a process recently deployed to staging, when executing an activity, standaolone email activities fire but Task Notifcation Emails do not fire. When troubleshooting the following is observed in the Application Event viewer on the K2 server:
First change exception occurred
Exception: System.TimeoutException: The pipe connection was aborted because an asynchronous read from the pipe did not complete within the allotted timeout of 00:02:00. The time allotted to this operation may have been a portion of a longer timeout. ---> System.IO.PipeException: The operation cannot be completed because the pipe was closed. This may have been caused by the application on the other end of the pipe exiting.
--- End of inner exception stack trace ---
at System.ServiceModel.Channels.ConnectionModeReader.GetConnectionMode()
Exception: System.IO.PipeException: The operation cannot be completed because the pipe was closed. This may have been caused by the application on the other end of the pipe exiting.
StackTrace: at SourceCode.Security.Windows.Log.OnFirstChanceException(Object sender, FirstChanceExceptionEventArgs e)
at System.ServiceModel.Channels.ConnectionModeReader.GetConnectionMode()
at System.ServiceModel.Channels.ConnectionDemuxer.OnConnectionModeKnownCore(ConnectionModeReader modeReader, Boolean isCached)
at System.ServiceModel.Channels.ConnectionDemuxer.OnCachedConnectionModeKnown(ConnectionModeReader modeReader)
at System.ServiceModel.Channels.ConnectionModeReader.Complete()
at System.ServiceModel.Channels.ConnectionModeReader.ReadCallback(Object state)
at System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(Boolean haveResult, Int32 error, Int32 numBytes)
at System.ServiceModel.Channels.OverlappedContext.CompleteCallback(UInt32 error, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
Resolution
To fix the issue, the following workaround has been applied:
- Added in the hostServer.exe.config the following entry (K2_install_dirHostServerBinK2HostServer.exe.config) :
<system self="K2:Domain_nameaccount_with_mailbox" enableListeners="True" allowAmbiguity="true"/>
- And right before the entry were the allowAmbiguity was added:
<sourceCode.smartActions.directoryCatalog>
<catalogs>
<add path="SmartActions" />
<add path="SmartActionsSMTP" />
</catalogs>
</sourceCode.smartActions.directoryCatalog>
If you are using EWS, simply modify the entry with this one:
.....
<add path="SmartActionsEWS" />
.....