When running multiple Rexx interpreter instances constantly in threads, eventually a crash occurs in RexxWaitForTermination(). This API is documented to have no effect in the new (4.0) C++ Rexx APIs.
A program, TestConcurrencyCrash4.java, accompanying a bug report in BSF4ooRexx (https://sourceforge.net/tracker/index.php?func=detail&aid=3604128&group_id=400586&atid=1660873) constantly creates Rexx interpreter instances in two different Java threads and executes a Rexx program from Java, using the BSF4ooRexx external function package.
Eventually a crash occurs that Java documents in a hs_err_pid???.log file, pointing at native code in rexx.dll, denoting the RexxWaitForTermination() function.
Environment:
ooRexx 4.1.2, 32-Bit Java 1.6 latest BSF4ooRexx (from: https://sourceforge.net/projects/bsf4oorexx/files/GA/BSF4ooRexx-410.20130107-GA/) Java-testprogram: TestConcurrencyCrash4.java from the above bug report
After having BSF4ooRexx installed, and compiling of the Java-Program, one may run it using "java TestConcurrencyCrash4" from the command line to get at the crash.
Anonymous
This bug is fixed in the ooRexx 4.1.3 release.