Test version: v22.214.171.124 RC2 Problem: Using Assert_Equals() with STRING(1024) Causes PLC to crash.
The problem is, the AssertEquals uses pointers to write to memory, and will happily copy an entire 1024 character string over the top of a 255 character string
See screenshot for the line which causes the memory overwrite Steps to repeat:
With the Verifier_MultiCycle_Examplev126.96.36.199.project, change the following POU:
Download to the PLC and run
==> IS: PLC stops unexpectedly, no logs written, PLC won't start again
==> SHOULD: Either allow to compare any length strings, OR don't allow them and print an error message rather than crashing the PLC
Note: To recover, delete the application from the PLC, for example at C:\ProgramData\CODESYS\CODESYSControlWinV3x64\AAAA\PlcLogic\Application\