#422: SYSTEM:RUN-PROGRAM does not work on Java 5/6
------------------------------------------------+------------------------
Reporter: mevenson | Owner:
Type: defect | Status: new
Priority: major | Milestone: 1.5.0
Component: interpreter | Version: 1.4.0
Keywords: cffi sys:run-progrom java-5 java-6 | Parent Tickets:
------------------------------------------------+------------------------
In chasing down the errors with CFFI on CL-TEST-GRID <https://mailman
.common-lisp.net/pipermail/armedbear-devel/2016-October/003719.html>, I
have found that the [java.lang.ProcessBuilder$Redirect][] interface used
by Elias and Olof to extend SYS:RUN-PROGRAM for different types of I/O
abstractions was introduced with Java 7, and will hence not work on
earlier Java implementations.
[java.lang.ProcessBuilder$Redirect]:
https://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.Redirect…
Invoking ABCL-ASDF:ENSURE-MVN-VERSION, the following form causes the error
{{{
(JFIELD "java.lang.ProcessBuilder$Redirect" "INHERIT")
}}}
TODO: investigate the Java 6 APIs to see if there is a way to do I/O
redirection with backwards compatibility. I currently suspect that there
is no way to support Java 5/6 for this usage, which is why we never
implemented I/O redirection previously.
There is undoubtedly a way re-write the SYS:RUN-PROGRAM interface so that
we may invoke a process to read its output as a string in Java 5/Java 6,
as it worked before. But we will have to figure out a way to advertise
the different features of SYS:RUN-PROGRAM depending on the hosting VM.
Longer term, we may want to deprecate Java 5/6, but I would really have
the compiler emit Java 7-compatible bytecode (mainly by passing the Java 6
verification process) before we begin that.
--
Ticket URL: <http://abcl.org/trac/ticket/422>
armedbear <http://abcl.org>
armedbear
#188: READ can't read from gray streams
-------------------------+-------------------------------------------------
Reporter: | Owner: no-one
mevenson |
Type: defect | Status: assigned
Priority: | Milestone: 1.6.0
blocker |
Component: | Version: 1.1.0
libraries | Keywords: gray-streams streams beyond-ansi
Resolution: | CL:READ
Parent Tickets: |
-------------------------+-------------------------------------------------
Description changed by mevenson:
Old description:
> {{{
> ; Wrote /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
> fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
> ppcre-2.0.3/test/ASDF-TMP-tests.abcl (0.13 seconds)
> ; Loading /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
> fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
> ppcre-2.0.3/test/tests.abcl ...
> ; Loaded /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
> fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
> ppcre-2.0.3/test/tests.abcl (0.016 seconds)
> ; Compiling /home/weblogic/quicklisp/dists/quicklisp/software/cl-
> ppcre-2.0.3/test/perl-tests.lisp ...
> ; (IN-PACKAGE :CL-PPCRE-TEST)
> ; (DEFVAR *TESTS-TO-SKIP* ...)
> ; (DEFUN CREATE-STRING-FROM-INPUT ...)
> ; (DEFUN PERL-TEST ...)
> ; Wrote /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
> fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
> ppcre-2.0.3/test/ASDF-TMP-perl-tests.abcl (0.098 seconds)
> ; Loading /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
> fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
> ppcre-2.0.3/test/perl-tests.abcl ...
> ; Loaded /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
> fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
> ppcre-2.0.3/test/perl-tests.abcl (0.026 seconds)
> Test: Running tests in file "perltestdata"
> 1:
> got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
> {47275E71}> is not of type STREAM.
> 2:
> got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
> {47275E71}> is not of type STREAM.
> 3:
> got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
> {47275E71}> is not of type STREAM.
> 4:
> got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
> {47275E71}> is not of type STREAM.
> 5:
> got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
> {47275E71}> is not of type STREAM.
> 6:
> got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
> {47275E71}> is not of type STREAM.
> 7:
> got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
> {47275E71}> is not of type STREAM.
> 8:
> }}}
New description:
{{{
; Wrote /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
ppcre-2.0.3/test/ASDF-TMP-tests.abcl (0.13 seconds)
; Loading /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
ppcre-2.0.3/test/tests.abcl ...
; Loaded /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
ppcre-2.0.3/test/tests.abcl (0.016 seconds)
; Compiling /home/weblogic/quicklisp/dists/quicklisp/software/cl-
ppcre-2.0.3/test/perl-tests.lisp ...
; (IN-PACKAGE :CL-PPCRE-TEST)
; (DEFVAR *TESTS-TO-SKIP* ...)
; (DEFUN CREATE-STRING-FROM-INPUT ...)
; (DEFUN PERL-TEST ...)
; Wrote /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
ppcre-2.0.3/test/ASDF-TMP-perl-tests.abcl (0.098 seconds)
; Loading /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
ppcre-2.0.3/test/perl-tests.abcl ...
; Loaded /home/weblogic/.cache/common-lisp/abcl-1.1.0-dev-
fasl38-linux-x64/home/weblogic/quicklisp/dists/quicklisp/software/cl-
ppcre-2.0.3/test/perl-tests.abcl (0.026 seconds)
Test: Running tests in file "perltestdata"
1:
got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
{47275E71}> is not of type STREAM.
2:
got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
{47275E71}> is not of type STREAM.
3:
got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
{47275E71}> is not of type STREAM.
4:
got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
{47275E71}> is not of type STREAM.
5:
got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
{47275E71}> is not of type STREAM.
6:
got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
{47275E71}> is not of type STREAM.
7:
got an unexpected error: The value #<FLEXI-STREAMS:FLEXI-INPUT-STREAM
{47275E71}> is not of type STREAM.
8:
}}}
See Also #166
--
--
Ticket URL: <http://abcl.org/trac/ticket/188#comment:16>
armedbear <http://abcl.org>
armedbear