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@xxxxxxxxxxxxxx' Cc: 'linux-mips@xxxxxxxxxxxxxx' 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@xxxxxxxxxxxxxx] Sent: Sunday, June 17, 2007 1:04 AM To: Sadarul Firos Cc: linux-mips@xxxxxxxxxxxxxx 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