Segfault when both stdout/stderr are full (or closed?)
There are a bunch of (closed) issues for problems that result when an output stream is closed or full:
In ecl-21.2.1, for example, redirecting stdout and stderr, individually, to a full device produces the following results:
$ echo "syntax error" | ecl >/dev/full
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Condition of type: SIMPLE-STREAM-ERROR
C operation (write) signaled an error.
C library explanation: No space left on device.
Excessive debugger depth! Probable infinite recursion!
Quitting process: #<process TOP-LEVEL 0x7f3853550f80>.
Excessive debugger depth! Probable infinite recursion!
Quitting process: #<process TOP-LEVEL 0x7f3853550f80>.
Excessive debugger depth! Probable infinite recursion!
Quitting process: #<process TOP-LEVEL 0x7f3853550f80>.
Excessive debugger depth! Probable infinite recursion!
Quitting process: #<process TOP-LEVEL 0x7f3853550f80>.
$ echo "syntax error" | ecl 2>/dev/full
ECL (Embeddable Common-Lisp) 21.2.1 (git:UNKNOWN)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2013 Juan J. Garcia-Ripoll
Copyright (C) 2018 Daniel Kochmanski
Copyright (C) 2021 Daniel Kochmanski and Marius Gerbershagen
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.
Top level in: #<process TOP-LEVEL 0x7f8809eebf80>.
>
Available restarts:
1. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
Broken at SI:BYTECODES. [Evaluation of: SYNTAX] In: #<process TOP-LEVEL 0x7f8809eebf80>.
>>
However, redirecting them both still produces a segfault:
$ echo "syntax error" | ecl >/dev/full 2>&1
Segmentation fault
Just adding this to the list since it doesn't seem to have been covered by any of the previous tickets.