Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Jun 1995 19:53:36 -0400
From:      dennis@et.htp.com (dennis)
To:        freebsd-hackers@freebsd.org
Subject:   RE: Panics and such
Message-ID:  <199506172353.TAA22074@mail.htp.com>

next in thread | raw e-mail | index | archive | help
terry@cs.weber.edu wrote [much deleted]

>Now there *are* two classes of panic.  One is the result of an
>unrecoverable failure mode.  UTS has unrecoverable failure modes,
>too -- don't let them kid you.  You hadle these by panicing.
>
There are WAY too many panics in the BSD code. Somewhere along the line the
reason for a panic has been grossly expanded. I complained to BSDI  (the
exact same code is in FreeBSD) when we discovered that an unrecognized ioctl
command to a raw socket will panic the machine. Of course they didn't write
the code..so they had no opinion (another story). Upon examination of the
code, there are many places where panics are used where an informational
display or logging would suffice (like trying to send an invalid ICMP
type...why panic, just don't do it).

These things really should be scrubbed, eventually. As for the unrecoverable
stuff, there are machines that will never "panic" (like cisco routers). In
many cases you could just fail the operation or exit context, hoping that no
damage was done. You may just lose a buffer or send out a bogus packet. For
a commercial product, the "appearence" of indescructablity is
important....however if it happens often enough you will have a
non-functioning machine. On the cisco (2501) for example, if you send SABMs
(erroneously) on a serial link that the cisco has configured for frame
relay, you will get no error messages but in a few minutes all of the memory
in the machine will be consumed (probably by lost buffers). There's no panic
or crash, but the persistant problem eventually caused a system failure. The
thought behind it, I guess, is that in UNIX an isolated single event might
cause the system to go down, while on the cisco only 1 buffer would be lost
and the user would never know it.


dennis




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199506172353.TAA22074>