Hi all,
On kernel 2.6.26, glibc 2.5 (n32), SiByte SB-1 core, the following
program goes into 100% CPU, chewing up about 80% kernel time and
20% user.
#include <stdio.h>
#include <signal.h>
int main(void)
{
int *deadbeef = (int *) 0xdeadbeef;
signal(SIGBUS, SIG_IGN);
printf("*deadbeef == %d\n", *deadbeef);
return 0;
}
If any fatal exception is ignored, the program should be killed
if that exception happens. 100% CPU is not a useful response.
(If there is a handler, and that handler returns without doing anything
to
prevent a recurrence of the exception when the instruction is re-tried,
that's different).