Mark Evenson evenson@panix.com writes:
Hmmm. I can’t seem to confirm under abcl-bin-1.7.0/openjdk11/linux.
I'll be honest, I thought I was going crazy at first! It seemed weird that things like this would break things like this between versions. I'd love it if there's some other explanation!
[...]
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?
Nope, I'm running on Gentoo with kernel 5.4.45 and in Docker containers running on that computer. I've attached a tarball containing the Docker build context and some scripts I used to test this. The build-images script will build Docker images using the ABCL 1.7.0 jar running with Buster's default JRE (11), Stretch's default JRE (8), the JRE in the openjdk:11-buster image, and the JRE in the openjdk:8-buster image. The test-run-program script will try to start a child process using each of the images.
The first value of LISP-IMPLEMENTATION-VERSION is always "1.7.0" and the third is always "amd64-Linux-5.4.45-gentoo".
I get the errors when the second value is one of:
+ "OpenJDK_64-Bit_Server_VM-Debian-11.0.7+10-post-Debian-3deb10u1" (docker label debian-buster) + "OpenJDK_64-Bit_Server_VM-Oracle_Corporation-11.0.7+10" (docker label opendjk-11-buster) + "OpenJDK_64-Bit_Server_VM-AdoptOpenJDK-11.0.7+10" (native)
I don't get errors when the second value is one of:
+ "OpenJDK_64-Bit_Server_VM-Oracle_Corporation-1.8.0_252-8u252-b09-1~deb9u1-b09" (docker label debian-stretch) + "OpenJDK_64-Bit_Server_VM-Oracle_Corporation-1.8.0_252-b09" (docker label openjdk-8-buster) + "OpenJDK_64-Bit_Server_VM-AdoptOpenJDK-1.8.0_252-b09" (native)
I've also attached the full output of running the test-run-program script from the tarball (after build-images has already been run).
-Eric
############################################################################### # Running test on debian-buster ############################################################################### Armed Bear Common Lisp 1.7.0 Java 11.0.7 Debian OpenJDK 64-Bit Server VM Low-level initialization completed in 0.211 seconds. Startup completed in 1.098 seconds.
("1.7.0" "OpenJDK_64-Bit_Server_VM-Debian-11.0.7+10-post-Debian-3deb10u1" "amd64-Linux-5.4.45-gentoo") org.armedbear.lisp.Interpreter$UnhandledCondition: Unhandled lisp condition: Class not found: java.lang.UNIXProcess at org.armedbear.lisp.Interpreter$1.execute(Interpreter.java:569) at org.armedbear.lisp.LispThread.execute(LispThread.java:832) at org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2797) at org.armedbear.lisp.Symbol.execute(Symbol.java:814) at org.armedbear.lisp.LispThread.execute(LispThread.java:832) at org.armedbear.lisp.debug_6.execute(debug.lisp:105) at org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:121) at org.armedbear.lisp.Symbol.execute(Symbol.java:826) at org.armedbear.lisp.LispThread.execute(LispThread.java:851) at org.armedbear.lisp.debug_7.execute(debug.lisp:114) at org.armedbear.lisp.Symbol.execute(Symbol.java:803) at org.armedbear.lisp.LispThread.execute(LispThread.java:814) at org.armedbear.lisp.signal_2.execute(signal.lisp:63) at org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:98) at org.armedbear.lisp.Symbol.execute(Symbol.java:803) at org.armedbear.lisp.Lisp.error(Lisp.java:383) at org.armedbear.lisp.Java.classForName(Java.java:1358) at org.armedbear.lisp.Java.javaClass(Java.java:1391) at org.armedbear.lisp.Java$pf_jclass.execute(Java.java:153) at org.armedbear.lisp.LispThread.execute(LispThread.java:814) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:575) at org.armedbear.lisp.Lisp.eval(Lisp.java:540) at org.armedbear.lisp.Stream.readSharpDot(Stream.java:922) at org.armedbear.lisp.FaslReader$7.execute(FaslReader.java:130) at org.armedbear.lisp.Stream.readDispatchChar(Stream.java:814) at org.armedbear.lisp.FaslReader$4.execute(FaslReader.java:91) at org.armedbear.lisp.Stream.processChar(Stream.java:589) at org.armedbear.lisp.Stream.readPreservingWhitespace(Stream.java:558) at org.armedbear.lisp.Stream.readPreservingWhitespace(Stream.java:567) at org.armedbear.lisp.Stream.read(Stream.java:501) at org.armedbear.lisp.Lisp.readObjectFromReader(Lisp.java:1328) at org.armedbear.lisp.Lisp.readObjectFromString(Lisp.java:1305) at org.armedbear.lisp.run_program_60.<clinit>(run-program.lisp) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at java.base/java.lang.Class.newInstance(Class.java:584) at org.armedbear.lisp.FaslClassLoader.loadFunction(FaslClassLoader.java:130) at org.armedbear.lisp.FaslClassLoader$pf_get_fasl_function.execute(FaslClassLoader.java:165) at org.armedbear.lisp.LispThread.execute(LispThread.java:832) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:582) at org.armedbear.lisp.Lisp.eval(Lisp.java:540) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:577) at org.armedbear.lisp.Lisp.eval(Lisp.java:540) at org.armedbear.lisp.Lisp.progn(Lisp.java:709) at org.armedbear.lisp.SpecialOperators$sf_progn.execute(SpecialOperators.java:273) at org.armedbear.lisp.Lisp.eval(Lisp.java:530) at org.armedbear.lisp.Load.faslLoadStream(Load.java:667) at org.armedbear.lisp.Load$init_fasl.execute(Load.java:457) at org.armedbear.lisp.LispThread.execute(LispThread.java:832) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:582) at org.armedbear.lisp.Lisp.eval(Lisp.java:540) at org.armedbear.lisp.Load.loadStream(Load.java:629) at org.armedbear.lisp.Load.loadFileFromStream(Load.java:597) at org.armedbear.lisp.Load.loadFileFromStream(Load.java:477) at org.armedbear.lisp.Load.loadSystemFile(Load.java:375) at org.armedbear.lisp.Load.loadSystemFile(Load.java:255) at org.armedbear.lisp.Autoload.effectiveLoad(Autoload.java:110) at org.armedbear.lisp.Autoload.load(Autoload.java:147) at org.armedbear.lisp.Lisp.eval(Lisp.java:537) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:570) at org.armedbear.lisp.Lisp.eval(Lisp.java:540) at org.armedbear.lisp.Interpreter.evaluate(Interpreter.java:614) at org.armedbear.lisp.Interpreter.postprocessCommandLineArguments(Interpreter.java:303) at org.armedbear.lisp.Interpreter.createDefaultInstance(Interpreter.java:110) at org.armedbear.lisp.Main$1.run(Main.java:46) at java.base/java.lang.Thread.run(Thread.java:834)
Caught ERROR while processing --eval option "(print (sys:run-program "ls" nil))": Compiled function can't be loaded: org.armedbear.lisp.run_program_60 from org.armedbear.lisp.Pathname@6b38bb10
############################################################################### # Running test on debian-stretch ############################################################################### Armed Bear Common Lisp 1.7.0 Java 1.8.0_252 Oracle Corporation OpenJDK 64-Bit Server VM Low-level initialization completed in 0.254 seconds. Startup completed in 1.199 seconds.
("1.7.0" "OpenJDK_64-Bit_Server_VM-Oracle_Corporation-1.8.0_252-8u252-b09-1~deb9u1-b09" "amd64-Linux-5.4.45-gentoo")
#S(SYSTEM:PROCESS :JPROCESS #<java.lang.UNIXProcess java.lang.UNIXProcess@381c96f5 {690E5CE5}> :%INPUT #S(SYSTEM::SYSTEM-STREAM) :%OUTPUT #S(SYSTEM::SYSTEM-STREAM) :%ERROR #S(SYSTEM::SYSTEM-STREAM)) ############################################################################### # Running test on openjdk-11-buster ############################################################################### Armed Bear Common Lisp 1.7.0 Java 11.0.7 Oracle Corporation OpenJDK 64-Bit Server VM Low-level initialization completed in 0.218 seconds. Startup completed in 1.209 seconds.
("1.7.0" "OpenJDK_64-Bit_Server_VM-Oracle_Corporation-11.0.7+10" "amd64-Linux-5.4.45-gentoo") org.armedbear.lisp.Interpreter$UnhandledCondition: Unhandled lisp condition: Class not found: java.lang.UNIXProcess at org.armedbear.lisp.Interpreter$1.execute(Interpreter.java:569) at org.armedbear.lisp.LispThread.execute(LispThread.java:832) at org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2797) at org.armedbear.lisp.Symbol.execute(Symbol.java:814) at org.armedbear.lisp.LispThread.execute(LispThread.java:832) at org.armedbear.lisp.debug_6.execute(debug.lisp:105) at org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:121) at org.armedbear.lisp.Symbol.execute(Symbol.java:826) at org.armedbear.lisp.LispThread.execute(LispThread.java:851) at org.armedbear.lisp.debug_7.execute(debug.lisp:114) at org.armedbear.lisp.Symbol.execute(Symbol.java:803) at org.armedbear.lisp.LispThread.execute(LispThread.java:814) at org.armedbear.lisp.signal_2.execute(signal.lisp:63) at org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:98) at org.armedbear.lisp.Symbol.execute(Symbol.java:803) at org.armedbear.lisp.Lisp.error(Lisp.java:383) at org.armedbear.lisp.Java.classForName(Java.java:1358) at org.armedbear.lisp.Java.javaClass(Java.java:1391) at org.armedbear.lisp.Java$pf_jclass.execute(Java.java:153) at org.armedbear.lisp.LispThread.execute(LispThread.java:814) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:575) at org.armedbear.lisp.Lisp.eval(Lisp.java:540) at org.armedbear.lisp.Stream.readSharpDot(Stream.java:922) at org.armedbear.lisp.FaslReader$7.execute(FaslReader.java:130) at org.armedbear.lisp.Stream.readDispatchChar(Stream.java:814) at org.armedbear.lisp.FaslReader$4.execute(FaslReader.java:91) at org.armedbear.lisp.Stream.processChar(Stream.java:589) at org.armedbear.lisp.Stream.readPreservingWhitespace(Stream.java:558) at org.armedbear.lisp.Stream.readPreservingWhitespace(Stream.java:567) at org.armedbear.lisp.Stream.read(Stream.java:501) at org.armedbear.lisp.Lisp.readObjectFromReader(Lisp.java:1328) at org.armedbear.lisp.Lisp.readObjectFromString(Lisp.java:1305) at org.armedbear.lisp.run_program_60.<clinit>(run-program.lisp) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at java.base/java.lang.Class.newInstance(Class.java:584) at org.armedbear.lisp.FaslClassLoader.loadFunction(FaslClassLoader.java:130) at org.armedbear.lisp.FaslClassLoader$pf_get_fasl_function.execute(FaslClassLoader.java:165) at org.armedbear.lisp.LispThread.execute(LispThread.java:832) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:582) at org.armedbear.lisp.Lisp.eval(Lisp.java:540) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:577) at org.armedbear.lisp.Lisp.eval(Lisp.java:540) at org.armedbear.lisp.Lisp.progn(Lisp.java:709) at org.armedbear.lisp.SpecialOperators$sf_progn.execute(SpecialOperators.java:273) at org.armedbear.lisp.Lisp.eval(Lisp.java:530) at org.armedbear.lisp.Load.faslLoadStream(Load.java:667) at org.armedbear.lisp.Load$init_fasl.execute(Load.java:457) at org.armedbear.lisp.LispThread.execute(LispThread.java:832) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:582) at org.armedbear.lisp.Lisp.eval(Lisp.java:540) at org.armedbear.lisp.Load.loadStream(Load.java:629) at org.armedbear.lisp.Load.loadFileFromStream(Load.java:597) at org.armedbear.lisp.Load.loadFileFromStream(Load.java:477) at org.armedbear.lisp.Load.loadSystemFile(Load.java:375) at org.armedbear.lisp.Load.loadSystemFile(Load.java:255) at org.armedbear.lisp.Autoload.effectiveLoad(Autoload.java:110) at org.armedbear.lisp.Autoload.load(Autoload.java:147) at org.armedbear.lisp.Lisp.eval(Lisp.java:537) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:570) at org.armedbear.lisp.Lisp.eval(Lisp.java:540) at org.armedbear.lisp.Interpreter.evaluate(Interpreter.java:614) at org.armedbear.lisp.Interpreter.postprocessCommandLineArguments(Interpreter.java:303) at org.armedbear.lisp.Interpreter.createDefaultInstance(Interpreter.java:110) at org.armedbear.lisp.Main$1.run(Main.java:46) at java.base/java.lang.Thread.run(Thread.java:834)
Caught ERROR while processing --eval option "(print (sys:run-program "ls" nil))": Compiled function can't be loaded: org.armedbear.lisp.run_program_60 from org.armedbear.lisp.Pathname@706df0f0
############################################################################### # Running test on openjdk-8-buster ############################################################################### Armed Bear Common Lisp 1.7.0 Java 1.8.0_252 Oracle Corporation OpenJDK 64-Bit Server VM Low-level initialization completed in 0.259 seconds. Startup completed in 1.124 seconds.
("1.7.0" "OpenJDK_64-Bit_Server_VM-Oracle_Corporation-1.8.0_252-b09" "amd64-Linux-5.4.45-gentoo")
#S(SYSTEM:PROCESS :JPROCESS #<java.lang.UNIXProcess java.lang.UNIXProcess@3ab95c2d {588DCBFE}> :%INPUT #S(SYSTEM::SYSTEM-STREAM) :%OUTPUT #S(SYSTEM::SYSTEM-STREAM) :%ERROR #S(SYSTEM::SYSTEM-STREAM))