ECL uiop:run-program in SLIME

Bug #1663350 reported by mycl on 2017-02-09
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ASDF
Low
Faré

Bug Description

Similar to #1232225, which was fixed, this fails in SLIME (not at the command-line) with ECL on Mac or Linux:

     (uiop:run-program '("uname") :output :interactive :input nil)

With the message:

    :OUTPUT argument to RUN-PROGRAM does not have a file handle:#<a SWANK/GRAY::SLIME-OUTPUT-STREAM>

As does:

     (uiop:run-program '("uname") :output :interactive)

With the messaage:

    :INPUT argument to RUN-PROGRAM does not have a file handle:#<a SWANK/GRAY::SLIME-INPUT-STREAM>

Crazily, this has no problems:

    (uiop:run-program "uname" :output :interactive)

Nor does this:

    (uiop:run-program '("uname"))

The wider implication is that cffi-grovel breaks, taking much of quicklisp down with it. https://gitlab.com/embeddable-common-lisp/ecl/issues/357

Faré (fahree) wrote :

I believe the problem is that we fail to properly redirect std{in,out,err} when using :interactive in the use-run-program case on ECL.

Faré (fahree) wrote :

Elias, do you want to handle this?

Faré (fahree) wrote :

Elias, if you don't want to do it, I can do it some time later this month.

Faré (fahree) wrote :

I have a fix in the ecl-build branch !66:
https://gitlab.common-lisp.net/asdf/asdf/merge_requests/66

pipping (pipping) wrote :

It seems I’m rather late to the party. I never received any notification for this bug.

What is the status now?

Faré (fahree) wrote :

Checking at my SLIME REPL, it fails for the ECL-bundled 3.1.8.2, and succeeds with the current 3.3.0 candidate, so it looks like !66 fixed it.

Changed in asdf:
assignee: nobody → Faré (fahree)
importance: Undecided → Low
milestone: none → 3.3
status: New → Fix Committed
Changed in asdf:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers