[5417] in Athena Bugs
VS 2000 serial line
daemon@ATHENA.MIT.EDU (John Carr)
Thu Jul 5 03:16:09 1990
To: bugs@ATHENA.MIT.EDU
Date: Thu, 05 Jul 90 03:15:58 EDT
From: John Carr <jfc@ATHENA.MIT.EDU>
Killing a traced process blocked waiting on a carrier signal
while opening /dev/ttys0 on a VS2000 will crash the machine.
This is caused by copen() not filling in the fields of the
process file structure until open returns successfully; the file
descriptor is considered open by the close routine called on
process exit after the signal (since the pointer is non-NULL),
but the file ops structure pointer is unintialized. I'm not sure
what the best fix is; it looks like some of the code uses setjmp()
to trap signals, but this won't work for the KILL signal sent when
the parent of a traced process exits or calls ptrace(PT_KILL).
(That VS 2000s crash when using serial lines has been known for some
time [I reported this bug around 6.0R]; I haven't seen an analysis of
the cause before.)