Workaround for SYS:RUN-PROGRAM under openjdk11+ (was Re: run-program issues with OpenJDK 11)
Mark Evenson
evenson at panix.com
Thu Jul 30 08:14:13 UTC 2020
I am finally able to report some progress on understanding the problem, and
provide a workaround.
This bug occurs when the system compiled with openjdk8 is run
under the openjdk11 runtime. Inconsistently, the abcl-1.7.0 binaries were
compiled with openjdk11 while the abcl-1.7.1 binaries were compiled with
openjdk8.
In openjdk11, the java.lang.UNIXProcess class has been
replaced with java.lang.ProcessImpl, so our code needs to
conditionally find the pid of a given process based on the
platform that the ABCL finds itself running upon.
As a workaround until we fix and release the next version of ABCL, one may get
sys:run-program running as long as one doesn't try to get the pid via first
running the following code which is sufficient to load sys:run-program:
(ignore-errors (sys:run-program "true" nil))
An easy fix for users of the abcl-1.7.1 binaries under openjdk11 would be to
place such code in <file:~/.abclrc>.
--
"A screaming comes across the sky. It has happened before but there is nothing
to compare to it now."
More information about the armedbear-devel
mailing list