PM runtime caught an unexpected exception of 'BLException' type

I was trying to trace log in our pilot environment within the Order Entry module.
When saving the order I get the following error. Do you have any idea what can cause this.
Form Name: Sales Order Entry
Customization Name:
Menu ID: CRGO3500
Software Version: 11.3.200.10

============

Server Side Exception

BPM runtime caught an unexpected exception of ‘BLException’ type.
See more info in the Inner Exception section of Exception Details.

Exception caught in: Epicor.ServiceModel

Error Detail

============

##!Correlation ID:##! 41bae8ac-d3de-46f2-bb24-c17449c24cde
##!Description:##! BPM runtime caught an unexpected exception of ‘BLException’ type.
See more info in the Inner Exception section of Exception Details.
##!Inner Exception:##! Error accessing the database: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Operation cancelled by user.
The statement has been terminated.
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Operation cancelled by user.
The statement has been terminated.
The wait operation timed out.
##!Program:##! Epicor.Ice.dll
##!Method:##! UpdateActivity
##!Line Number:##! 158
##!Column Number:##! 25

Client Stack Trace

==================
at Epicor.ServiceModel.Channels.ImplBase.CallWithCommunicationFailureRetry(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, RestRpcValueSerializer serializer)
at Epicor.ServiceModel.Channels.ImplBase.CallWithMultistepBpmHandling(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy)
at Epicor.ServiceModel.Channels.ImplBase.Call(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy)
at Erp.Proxy.BO.SalesOrderImpl.MasterUpdate(Boolean lCheckForOrderChangedMsg, Boolean lcheckForResponse, String cTableName, Int32 iCustNum, Int32 iOrderNum, Boolean lweLicensed, Boolean& lContinue, String& cResponseMsg, String& cCreditShipAction, String& cDisplayMsg, String& cCompliantMsg, String& cResponseMsgOrdRel, String& cAgingMessage, String& cShipByDateMessage, String& cNeedByDateMessage, String& cMsgTypeSaleable, SalesOrderDataSet ds)
at Erp.Adapters.SalesOrderAdapter.MasterUpdate(Boolean lCheckForOrderChangedMsg, Boolean lcheckForResponse, String cTableName, Int32 iCustNum, Int32 iOrderNum, Boolean lweLicensed, Boolean& lContinue, String& cResponseMsg, String& cCreditShipAction, String& cDisplayMsg, String& cCompliantMsg, String& cResponseMsgOrdRel, String& cAgingMessage, String& cShipByDateMessage, String& cNeedByDateMessage, String& cMsgTypeSaleable)
at Erp.UI.App.SalesOrderEntry.Transaction.Update()

Inner Exception

===============
Unable to update activity with type: ‘1’. ActivityID: ‘BPM’ Key1: ‘a19616fa-e019-4fee-85e9-6701e2c2cff0’

I have seen that error before. Not sure if the cause is the same for you.

However the cause for a customer of mine was that they had solution tracking switched on from a long time ago. Therefore the solution tracking table had grown exponentially.

I would check if you have solution tracking switched on. And if you do, switch it off which should stop the error.

Then you can look to clear out the tracking table for that solution.