On Jun 29, 2020, at 01:13, Eric Timmons etimmons@mit.edu wrote:
It appears that java.lang.UNIXProcess was removed in OpenJDK 9 or thereabouts, assuming I'm interpreting https://github.com/openjdk/jdk/commit/aa6b19f38ee4dc69cac664d1211bff0e69b31f... correctly (/definitely/ not a Java developer here...).
This seems to make run-program unusable when using prebuilt jars on recent JREs. Using the prebuilt 1.7.0 release and OpenJDK 11, I get the errors shown in prebuilt-openjdk11.txt (attached).
Hmmm. I can’t seem to confirm under abcl-bin-1.7.0/openjdk11/linux.
CL-USER> (sys:run-program "ls" nil) #S(SYSTEM>:PROCESS :JPROCESS #<java.lang.ProcessImpl Process[pid=622, exitValue="no\ t .... {78663B49}> :%INPUT #S(SYSTEM::SYSTEM-STREAM) :%OUTPUT #S(SYSTEM::SYSTEM-STR\ EAM) :%ERROR #S(SYSTEM::SYSTEM-STREAM)) CL-USER> (swank-backend:getpid) 32418 5 CL-USER> (lisp-implementation-version) "1.7.0" "OpenJDK_64-Bit_Server_VM-AdoptOpenJDK-11.0.7+10" "amd64-Linux-4.19.0-9-amd64”
to get the PID of a process gives the error in from-source-openjdk11.txt (attached).
[…]
The (SWANK-BACKEND:GETPID) thunks down to the implementation where available, as is the case in abcl-1.4.0 (??) onwards.
[…]
Armed Bear Common Lisp 1.7.1-dev Java 11.0.7 Oracle Corporation OpenJDK 64-Bit Server VM Low-level initialization completed in 0.205 seconds. Startup completed in 1.224 seconds. Type ":help" for a list of available commands. CL-USER(1): (sys:run-program "ls" nil :wait nil) #S(SYSTEM:PROCESS :JPROCESS #<java.lang.ProcessImpl Process[pid=125, exitValue=0] {1E464845}> :%INPUT #S(SYSTEM::SYSTEM-STREAM) :%OUTPUT #S(SYSTEM::SYSTEM-STREAM) :%ERROR #S(SYSTEM::SYSTEM-STREAM)) CL-USER(2): (sys:process-pid *) #<THREAD "interpreter" {7278E1D6}>: Debugger invoked on condition of type ERROR Class not found: java.lang.UNIXProcess
[…]
What are the values returned for LISP-IMPLEMENTATION-VERSION where you encountering the error?
You aren’t trying to get a java.lang.UNIXProcess under Windows by any chance?