linux-mips
[Top] [All Lists]

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

To: Anirban Sinha <ASinha@zeugmasystems.com>
Subject: Re: BUG: BUS error while returning from read() in /dev/oprofile/buffer
From: David Daney <ddaney@avtrex.com>
Date: Thu, 03 Jan 2008 17:27:44 -0800
Cc: linux-mips@linux-mips.org, Ralf Baechle <ralf@linux-mips.org>
In-reply-to: <DDFD17CC94A9BD49A82147DDF7D545C56440FC@exchange.ZeugmaSystems.local>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <DDFD17CC94A9BD49A82147DDF7D545C56440FC@exchange.ZeugmaSystems.local>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 1.5.0.12 (X11/20071019)
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

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