Re: SIGBUS

Systemkennung Linux (linux@mailhost.uni-koblenz.de)
Sat, 22 Mar 1997 06:04:03 +0100 (MET)


Hi,

> Can someone please take the time to explain to me what can cause a SIGBUS
> to be raised by a program (other than mmap).
> Also, why doesn't SIGBUS cause a core dump? (the only way I've been able
> to catch it is by using signal() and abort() in the signal handler, but
> this doesn't give much information other than it was indeed a SIGBUS that
> crashed the program)

- You didn't get a core file because your coresize resource limit is
set to zero. See your shell's man page about how to set the resource
limits.
- If you catch a signal you get a struct sigcontext passed as the
second parameter to the handler. You can examine it to find more to
the source of the bug.
- Other sources for SIGBUS are problems during swapout, errors signaled
by the bus / cache hardware (not on Intel). For example a non-
recoverable cache error (-> ECC correction failed), bad memory or
a parity/ECC failure on MIPS' bus system could bring you this nasty
signal.

Ralf