[21919] in Athena Bugs

home help back first fref pref prev next nref lref last post

Re: sun4 9.1.16: discuss

daemon@ATHENA.MIT.EDU (Greg Hudson)
Sat Apr 26 14:13:42 2003

From: Greg Hudson <ghudson@MIT.EDU>
To: Arun A Tharuvai <aatharuv@mit.edu>
Cc: bugs@mit.edu
In-Reply-To: <200304261659.MAA28287@multics.mit.edu>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Message-Id: <1051380818.1552.186.camel@error-messages.mit.edu>
Mime-Version: 1.0
Date: 26 Apr 2003 14:13:39 -0400

This is a long-standing known bug in discuss.  The problem is, if you
type ^C, the SIGINT handler longjmp()s back to the main loop, presenting
two problems: any open network connection may not be in a state to
receive new commands (particuarly if you were in the middle of an "ls"
or "lsm"), and any global state might be in the middle of a sensitive
operation.  Either problem could lead to a core dump, although the
second one is harder to guard against.

A possible practical solution is to close all open network connections
and reinitialize all global state after a ^C.  (Theoretically, this is
still no good; it would probably entail leaking memory, and if you
pressed ^C in the middle of a malloc, you'd still lose.)  That would
take significant work, and we don't like to put significant work into
discuss these days.


home help back first fref pref prev next nref lref last post