Anirban Sinha wrote:
Hi:
I have been trying to hunt down this bug for several days now. What
mainly happens is that when oprofiled wakes up from read() in
/dev/oprofile/buffer on receiving a signal USR1 (i.e, when someone does
opcontrol –start after doing opcontrol—start-daemon), it somehow gets
SIGBUS within glibc read(). We are using a mips machine with Sybyte SB1
processor. On intel, this error does not show up. Interestingly, when I
tried running a small test program that simply reads
/dev/oprofile/buffer, the error can’t be reproduced!
Ralf and others, any insights, suggestions or useful comments from
experience will be really really appreciated. I am spending a lot of
time trying to fix this bug.
Likely you did a cross build of bash and your signal numbers are incorrect.
On the system where you built bash, SIGUSR1 is 10.
On the mips-linux target signal 10 is SIGBUS so when the bash kill
builtin thinks it is sending SIGUSR1 it is really sending SIGBUS.
David Daney