4.66.1
12/20/2019
The PC simulation would sometimes crash during a shear operation, depending on who configured the simulation.
If the Order, Material or PCode were left blank, the simulation would crash during a shear operation.
The cause is related to shared strings in the XL. An empty shared string results in a null pointer. When copying strings, the source pointer gets tested and considers a Null string as an empty string. The Sub_String and Add_String functions needed the same code.
A PC has OS protection to detect using Null pointers. The XL hardware does not. Some users have gotten in the habit of not programming the order fields, which works on the XL hardware due to lack of OS null pointer tests. This habit caused this bug to be detected in the PC Simulation due to the addition of new code that used the Sub_String function.
The bug fix for intermittently ignoring the run input broke the Die Test function in several unexpected ways.
- The die test encoder simulation failed to run.
- Every attempt to run Die Test resulted in a new "Test Order"
- After a failed die test, all Run Modes were locked out.
These have all been resolved.
Even though the initial bug reported was related to the Closed Loop Die Test, the fixes impact other run modes and functions like Clearing the Queue, which can be a run mode. All Open and Closed Loop models are likely to have been impacted in unexpected ways by this bug. Only run modes that were explicitly locked by the prior locking scheme will now be locked, which will restore all prior operation.