run-program issues with OpenJDK 11

Mark Evenson evenson at panix.com
Wed Jul 1 11:41:07 UTC 2020



> On Jun 29, 2020, at 01:13, Eric Timmons <etimmons at 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/aa6b19f38ee4dc69cac664d1211bff0e69b31f4c
> 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?



-- 
"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