[Top] [All Lists]

Re: BUG: BUS error while returning from read() in /dev/oprofile/buffer

To: Anirban Sinha <>
Subject: Re: BUG: BUS error while returning from read() in /dev/oprofile/buffer
From: David Daney <>
Date: Thu, 03 Jan 2008 17:27:44 -0800
Cc:, Ralf Baechle <>
In-reply-to: <DDFD17CC94A9BD49A82147DDF7D545C56440FC@exchange.ZeugmaSystems.local>
Original-recipient: rfc822;
References: <DDFD17CC94A9BD49A82147DDF7D545C56440FC@exchange.ZeugmaSystems.local>
User-agent: Thunderbird (X11/20071019)
Anirban Sinha wrote:

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

<Prev in Thread] Current Thread [Next in Thread>