Table 'SysRptLst' property mismatch between sender and receiver

Every now and then we get the below error. You can walk off and go the bathroom, and come back and the error will have appeared on its own. Epicor gave me a fix to purge the SysTask records. This seems to clear it for a while, but it comes back after a while. I’m sure they will just tell me to keep running the data fix whenever the error comes back… Do any of you have an idea of the root cause? I’m wondering if it might be related to other issues I am having.

"Table ‘SysRptLst’ property mismatch between sender and receiver.

Exception caught in: Epicor.ServiceModel

Error Detail

Correlation ID: 00000000-0000-0000-0000-000000000000
Description: Table ‘SysRptLst’ property mismatch between sender and receiver.
Program: Epicor.ServiceModel.dll
Method: Deserialize
Server Trace Stack: at Ice.IceTableset.Deserialize(Stream stream)
at Ice.Cloud.RpcSerializer.DeserializeTableset(Type dataType, Stream stream)
at Ice.Cloud.RpcSerializer.DeserializeDataSetFromTableset(Type tablesetType, Object initialValue, Boolean useSparseCopy, Stream stream)
at Ice.Cloud.RestRpcValueSerializer.Deserialize(ProxyValueOutInfo valueOut, Boolean isMethodReturn, Stream stream)
at Ice.Cloud.RestRpcValueSerializer.Deserialize(ProxyValuesOut valuesOut, Stream stream)
at Ice.Cloud.ProxyBase1.CallWithMultistepBpmHandling(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy) at Ice.Cloud.ProxyBase1.Call(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy)
at Ice.Proxy.BO.ReportMonitorImpl.GetRowsKeepIdleTimeWithBallonInfo(String whereClauseSysRptLst, Boolean getBallonInfo, String whereClauseSysTask, String whereClauseSysTaskLog, DataSet& sysMonitorData)
at Ice.Adapters.ReportMonitorAdapter.GetRowsKeepIdleTimeWithBallonInfo(SearchOptions opts, Boolean getBallonInfo, SysMonitorTasksDataSet& sysMonitorData)
at Ice.UI.App.SysMonitorEntry.Transaction.CheckForAutoDataAndBallonData()
at Ice.UI.App.SysMonitorEntry.Transaction.ProcessReports()
at Ice.UI.App.SysMonitorEntry.Transaction.AutoPrintThread()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Client Stack Trace

at Ice.IceTableset.Deserialize(Stream stream)
at Ice.Cloud.RpcSerializer.DeserializeTableset(Type dataType, Stream stream)
at Ice.Cloud.RpcSerializer.DeserializeDataSetFromTableset(Type tablesetType, Object initialValue, Boolean useSparseCopy, Stream stream)
at Ice.Cloud.RestRpcValueSerializer.Deserialize(ProxyValueOutInfo valueOut, Boolean isMethodReturn, Stream stream)
at Ice.Cloud.RestRpcValueSerializer.Deserialize(ProxyValuesOut valuesOut, Stream stream)
at Ice.Cloud.ProxyBase1.CallWithMultistepBpmHandling(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy) at Ice.Cloud.ProxyBase1.Call(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy)
at Ice.Proxy.BO.ReportMonitorImpl.GetRowsKeepIdleTimeWithBallonInfo(String whereClauseSysRptLst, Boolean getBallonInfo, String whereClauseSysTask, String whereClauseSysTaskLog, DataSet& sysMonitorData)
at Ice.Adapters.ReportMonitorAdapter.GetRowsKeepIdleTimeWithBallonInfo(SearchOptions opts, Boolean getBallonInfo, SysMonitorTasksDataSet& sysMonitorData)"

Okay, I got it again… There are only a few rows appearing in the data fix list at the moment, and none of them looked strange.