On a few of our FC6 machines, various programs intermittently crash with SIGSEGV. The two easiest test cases are: while ping -c 1 localhost; do :; done >/dev/null and while sudo su -c true; do :; done >/dev/null Each fails after a few seconds to a minute. All the machines in question are running 32-bit i386 FC6, and have prelink-0.3.9-2, glibc-2.5-10.fc6 installed. Some were upgraded from FC4, while others were installed with FC6 from scratch. Some are single-core Celerons and others are dual-core Pentium Ds. There is no apparent correlation between the machine's configuration and whether the crashing occurs on the machine. On one machine, I tarred up /bin/ping and its dependent shared libraries, then disabled prelink and ran "prelink -ua". After this, the above tests do not crash.
Created attachment 146963 [details] /bin/ping and libraries before prelink -ua
Created attachment 146964 [details] /bin/ping and libraries after prelink -ua
This issue seems related to (if not a duplicate of) bug 110665.
Actually, the crash occurs on all our FC6 machines. The ones I thought were okay are actually still running FC4.
ping is a PIE, my guess this is a dup of #217614. What exact glibc do you have installed? *.i686.rpm or *.i386.rpm? Can you get a core dump? ulimit -c unlimited; while ping -c 1 localhost; do :; done >/dev/null ? You'd need to run it as root, otherwise setuid ping won't create a core dump.
Created attachment 146967 [details] /bin/ping coredump
Created attachment 146968 [details] /bin/su coredump
# rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' glibc iputils coreutils prelink glibc-2.5-10.fc6.i686 iputils-20020927-41.fc6.i386 coreutils-5.97-12.3.fc6.i386 prelink-0.3.9-2.i386
Yes, likely dupe of #217614. I've just managed to figure a "fix" by unprelinking the libraries that /bin/ping is linked too, cureing a previously observed segfault: [root@skyline ~]# sh t completed: 1867 [root@skyline ~]# prelink --undo /lib/libresolv.so.2 [root@skyline ~]# sh t completed: 97 [root@skyline ~]# sh t completed: 1746 [root@skyline ~]# prelink --undo /lib/tls/libc.so.6 [root@skyline ~]# sh t completed: 11705 [root@skyline ~]# prelink --undo /lib/ld-linux.so.2 [root@skyline ~]# sh t <... still running == likely fixed ...> Here's the dinky t script: #!/bin/sh i=0 while `/bin/ping -c1 -w1 127.0.0.1 >& /dev/null` do i="`expr $i + 1`" done echo "completed: $i"
Note that there was another element in #217614, whether glibc.i386 or glibc.i686 is installed. My comment #9 has these (FC6 kernel, CentOS4.4 glibc&ping) packages installed: [root@skyline ~]# rpm -q glibc kernel iputils glibc-2.3.4-2.25.i686 kernel-2.6.18-1.2849prerel3.0.0_60.44.0.i686 iputils-20020927-18.EL4.3.i386
This appears the minimum necessary change to "cure" /bin/ping segfaults: root@gt40 ~]# sh t completed: 1076 [root@gt40 ~]# prelink --undo /lib/ld-linux.so.2 [root@gt40 ~]# sh t < --- running almost an hour --- > I can reproduce this problem on demand if that helps.
*** This bug has been marked as a duplicate of 246623 ***