Code containing NEW or BREAK commands compiled with -noline_entry runs correctly
Final Release Note
Certain cases of M code containing NEW or BREAK run when compiled with the -noline_entry option, whether specified on a shell command line or through $ZCOMPILE. Previously the code would crash with a segmentation violation (SIGSEGV / signal 11). [#901 (closed)]
Description
Here's a simple test case as test.m:
test
S DMSQ(37470)=""
I 0 B
S X="" F S X=$O(DMSQ(X)) Q:X="" W X,!
QUIT
Crash:
$ $gtm_dist/yottadb -noline_entry ../r/test.m
$ $gtm_dist/yottadb -r test
%YDB-F-KILLBYSIGSINFO1, YottaDB process 33002 has been killed by a signal 11 at address 0x00007F863CFAC9BB (vaddr 0x0000000000000018)
%YDB-F-SIGMAPERR, Signal was caused by an address not mapped to an object
Draft Release Note
M code compiled with qualifier -noline_entry works correctly if a BREAK command is in the code. Previously, if a BREAK was preceded by an IF in the middle of an M line, and the IF path was not taken, the M runtime could crash with a SIG-11 at the first local variable reference in the following M lines.[#901 (closed)]
Edited by K.S. Bhaskar