Changing PN causes MES labor entry error

Has anyone run into this bug? Changing the PN on an active job causes the next operation on the job to throw an error when trying to log quantities. We work around it by adding duplicate operations, but it is real annoying.

“Object Reference not set to an instance of an object”

Here is the full bug:

Application Error

Exception caught in: Epicor.ServiceModel

Error Detail

Message: Object reference not set to an instance of an object.
Program: Epicor.ServiceModel.dll
Method: ShouldRethrowNonRetryableException

Client Stack Trace

at Erp.Internal.Lib.PWIPMtlQ.ConsumeQty() in C:_Releases\ERP\UD10.2.100.6\Source\Server\Internal\Lib\PWIPMtlQ\PWIPMtlQ.cs:line 923
at Erp.Internal.Lib.PWIPMtlQ.CreatePartWIP(String& sWhseCode, String& sBinNum) in C:_Releases\ERP\UD10.2.100.6\Source\Server\Internal\Lib\PWIPMtlQ\PWIPMtlQ.cs:line 1134
at Erp.Internal.Lib.PWIPMtlQ.RunPWIPMtlQ(String& sWhseCode, String& sBinNum, Decimal ipLaborQty, Decimal ipMtlQueQty, Guid ipLaborDtlRowid, Int32 ipNextAssembly, Int32 ipNextOpr, Boolean iplReqMove, String ipPartNum) in C:_Releases\ERP\UD10.2.100.6\Source\Server\Internal\Lib\PWIPMtlQ\PWIPMtlQ.cs:line 669
at Erp.Services.BO.LaborSvc.createMtlqPwip() in C:_Releases\ERP\UD10.2.100.6\Source\Server\Services\BO\Labor\Labor.cs:line 4453
at Erp.Services.BO.LaborSvc.LaborDtlAfterUpdate() in C:_Releases\ERP\UD10.2.100.6\Source\Server\Services\BO\Labor\Labor.cs:line 9764
at Ice.Services.Trace.TablesetProfilingCollector.DoRowEventTrace(String tableName, String methodName, Int32 rowCount, Action action) in C:_Releases\ICE\ICE3.2.100.6\Source\Framework\Epicor.Ice\Services\TablesetProfilingCollector.cs:line 144
at Ice.TablesetBound3.UpdateRow(IceDataContext dataContext, Int32 tableNum, IIceTable table, IceRow updatedRow, IceRow originalRow, TablesetProfilingCollector parentTraceCollector) in C:\_Releases\ICE\ICE3.2.100.6\Source\Framework\Epicor.Ice\Services\TablesetBound.cs:line 1252 at Ice.TablesetBound3.WriteTable(IceDataContext dataContext, Int32 tableIndex, IIceTable table, TablesetProfilingCollector parentTraceCollector) in C:_Releases\ICE\ICE3.2.100.6\Source\Framework\Epicor.Ice\Services\TablesetBound.cs:line 956
at Ice.TablesetBound3.InnerUpdate(IceDataContext dataContext, TFullTableset tableset) in C:\_Releases\ICE\ICE3.2.100.6\Source\Framework\Epicor.Ice\Services\TablesetBound.cs:line 864 at Erp.Services.BO.LaborSvc.Update(LaborTableset& ds) in C:\_Releases\ERP\UD10.2.100.6\Source\Server\Services\BO\Labor\Labor.Designer.cs:line 2357 at Epicor.Customization.Bpm.MethodCustomizationBase23.RunDirectives(TParam parameters) in C:_Releases\ICE\ICE3.2.100.6\Source\Server\Internal\Lib\Epicor.Customization.BPM\MethodCustomizationBase2.cs:line 193
at Epicor.Customization.Bpm.CustomizationBase23.Execute(TParam parameters) in C:\_Releases\ICE\ICE3.2.100.6\Source\Server\Internal\Lib\Epicor.Customization.BPM\CustomizationBase2.cs:line 71 at Epicor.Customization.Bpm.BO890E1F72DADB4BA8BB97EE1991BECC70.LaborSvcCustomization.Update(LaborTableset& ds) at Erp.Services.BO.LaborSvcFacade.Update(LaborTableset& ds) in C:\_Releases\ERP\UD10.2.100.6\Source\Server\Services\BO\Labor\LaborSvcFacade.cs:line 4243 at SyncInvokeUpdate(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at Epicor.Hosting.OperationBoundInvoker.InnerInvoke(Object instance, Func2 func) in C:_Releases\ICE\ICE3.2.100.6\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 59
at Epicor.Hosting.OperationBoundInvoker.Invoke(Object instance, Func`2 func) in C:_Releases\ICE\ICE3.2.100.6\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 47
at Epicor.Hosting.Wcf.EpiOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) in C:_Releases\ICE\ICE3.2.100.6\Source\Framework\Epicor.System\Hosting\Wcf\EpiOperationInvoker.cs:line 23
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

at Epicor.ServiceModel.Channels.ImplBase`1.ShouldRethrowNonRetryableException(Exception ex, DataSet[] dataSets)
at Erp.Proxy.BO.LaborImpl.Update(LaborDataSet ds)
at Erp.Adapters.LaborAdapter.OnUpdate()
at Ice.Lib.Framework.EpiBaseAdapter.Update()
at Erp.UI.App.EndActivityEntry.EndActTransaction.Update()

It typically means the program is trying to use something that is no longer there. Common error for sheets with custom code behind them when I see it.