On June 23, 2009 3:03 PM, David Daney [mailto:firstname.lastname@example.org]
> I wonder if it is another instance of:
Thanks for digging that up. The patch fixes it for me.
Clearly, it's not just for init. Any process can
ignore signals that shouldn't be ignored.
I'm surprised this has only been discovered
so recently. It's amazing how we sometimes find
things at around the same time.
If I may pontificate now, someone said my little
program was silly. Of course; it's a repro test case!
Nobody would deliberately block SIGBUS and
then deliberately trigger a bus error.
But this situation happened in a large and complex real
application, leaving some of my developers scratching
their heads, and distracting them from looking for
the bad pointer!
``Hey look, we can break this 100% CPU thread with gdb, but
it always stops on the same location, which is an
indirect load through a register containing a bad pointer!
And it's spinning mostly in the kernel. Hmm!''
I gave them that little program to demonstrate how the
behavior can occur. They are now working out how
SIGBUS came to be ignored, and, of course, the
cause of the bad pointer.