RUN-PROGRAM encoding error leading to messed up state
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Incomplete
|
Undecided
|
Unassigned |
Bug Description
Something similar to https:/
```
cat barf2.lisp
(defun barf ()
(with-
(run-program "/usr/bin/pdfinfo"
(defun barf2 ()
(let ((proc (sb-ext:run-program
(ok nil))
(unwind-protect
(prog1
(setf ok t))
(
(unless ok
```
Load `barf2.lisp` under Slime. Then, *in the Slime repl*,
1. evaluate `(BARF)` (should work fine)
2. evaluate `(BARF2)` (fails with `Illegal :UTF-8 character starting at byte position 10.`)
3. evaluate `(BARF2)` again and maybe get `non-empty buffer when EOF reached while reading from child`
This is not entirely deterministic, so try a couple of times. After a `non-empty buffer` error, even `(BARF)` fails with `Illegal :UTF-8`.
This is with SBCL 2.5.4.74-ddacb9c2e on Linux x86-64.
Changed in sbcl: | |
status: | New → Incomplete |
Is the Slime REPL's output channel bivalent? (I don't see anything in Swank that would create a bivalent SBCL stream.)