linux-mips
[Top] [All Lists]

RE: "Segfault/illegal instruction" - udevd - ntpd - glibc

To: <ralf@linux-mips.org>
Subject: RE: "Segfault/illegal instruction" - udevd - ntpd - glibc
From: "Sadarul Firos" <sadarul.firos@nestgroup.net>
Date: Tue, 26 Jun 2007 19:56:11 +0530
Cc: <linux-mips@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Thread-index: AcexAQS/8o5iaXsVRBW3fMJuu+ZjbAAiqDjwAACNqiABmwanwA==
Thread-topic: "Segfault/illegal instruction" - udevd - ntpd - glibc
Hello Ralf,

As an immediate workaround I've added a dummy _init/_fini functions in
nss_dns and nss_compat libraries and no segfault/illegal instruction
error was observed for over 800 successive reboots. Since I knew
overriding _init/_fini is dangerous, added constructor/destructor fns
replacing the dummy _init/_fini. But this time again I got the
segmentation fault/illegal instruction errors. I think this will give
you more insight. I'm really stuck up in the problem :(

-----Original Message-----
From: Sadarul Firos 
Sent: Monday, June 18, 2007 3:21 PM
To: 'ralf@linux-mips.org'
Cc: 'linux-mips@linux-mips.org'
Subject: RE: "Segfault/illegal instruction" - udevd - ntpd - glibc


Thanks Ralf for the reply.

Regarding kernel, I am using the final release version of linux 2.6.18
kernel with some customizations. Out of the two boards which I have one
has MSP8150 Multi-Service Processor(MIPS 64) and the other has ITE 8172
system controller with RM7035C, 64-bit MIPS RISC microprocessor(MIPS V).

-----Original Message-----
From: Ralf Baechle [mailto:ralf@linux-mips.org] 
Sent: Sunday, June 17, 2007 1:04 AM
To: Sadarul Firos
Cc: linux-mips@linux-mips.org
Subject: Re: "Segfault/illegal instruction" - udevd - ntpd - glibc

On Fri, Jun 15, 2007 at 09:23:34PM +0530, Sadarul Firos wrote:

> I am working with two MIPS based boards (one is MIPS and the other is
> MIPSEL) running linux-2.6.18/glibc-2.3.5. I am performing a
consecutive
> reboot test on these boards. After some number of reboots (say 80) I
am
> getting "segmentaion fault/illegal instruction" while running udevd
and
> ntpd during bootup. Upon observing the core dump, it is noted that the
> segfault occured from the _init function of libnss_dns.so (in the case
> of ntpd) and libnss_compat.so (in the case of udevd). I assume that
> there might be a problem somewhere in the call_init function in
> glibc-2.3.5/elf/dl-init.c. After I put some printf statements for
> debugging in the call_init function, there is no segfault/illegal
> instruction in the reboot testing. I have also used gdb to debug the
> problem but the "segfault/illegal instruction" doesn't occur during
the
> reboot test. Could anyone please help me to sort out this problem. The
> gdb output using coredump is attached.

Normally the address space layout and most other variables during a
program load should be identical each time so userspace should behave
identical.   So I sense the scent of a TLB or more likely cache
managment
problem.

What 2.6.18 variant exactly are you running, that is where & when did
download it, what CPU?

  Ralf

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