This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Segmentation fault / Illegal instruction - udevd - ntpd


Hi all,

I have been doing continuous reboot test on a MIPS based board running
linux-2.6.18/glibc-2.3.5. After several hours of rebooting (say after 80
reboots), Iâve observed Segmentation fault or Illegal instruction errors
while starting the udevd and ntpd programs during startup. Iâve tried
debugging techniques such as gdb, core dump, signal handler, printf'ing etc.
When I tried debugging with printf and gdb there is no segfault/illegal
instruction error. Upon observing the core dump, I found that the error was
from the _init() function of libnss_compat-2.3.5.so (in the case of udevd)
and libnss_dns-2.3.5.so (in the case of ntpd). Seems that there isnât any
function _init in both the libraries. As per my understanding a default init
routine will be called and is located in sysdeps/generic/initfini.c. I have
made a workaround by adding a dummy _init/_fini functions in nss_compat and
nss_dns libraries. After that I havenât  observed any Segmentation
fault/Illegal instruction errors during reboot test for over 800 times.
Since I knew overriding _init/_fini is dangerous, I have added
constructor/destructor functions using gcc function attributes replacing the
dummy _init/_fini function. This time again the Segmentation fault/Illegal
instruction error starts appearing. Could anyone please help me on this?

Any help will be appreciated,
Pradeep

-- 
View this message in context: http://www.nabble.com/Segmentation-fault---Illegal-instruction---udevd---ntpd-tf3982796.html#a11307003
Sent from the Sourceware - glibc-bugs mailing list archive at Nabble.com.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]