Re: SIGBUS

Arik's Mailing List Account (ariklist@mirabilis.com)
Sat, 22 Mar 1997 04:51:46 -0500 (EST)


On Sat, 22 Mar 1997, Systemkennung Linux wrote:

> 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)

First of all, thanks for taking the time to answer :)

>
> - 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.

Ummm, no, I do get core dumps for SIGSEGV and have the core size set to
the max.
I NEVER get core dumps for SIGBUS.

> - 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.

Ok, I'll try this :)

> - 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.

Any chance of bad memory on an intel machine?

Arik