Bug 483449

Summary: ldd/ld-linux-x86-64.so.2 segfaulting
Product: [Fedora] Fedora Reporter: Lucas Nealan <lucas>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 10CC: drepper, gavinflower, jakub, jedynamic, mschmidt, sergey_bogomolov
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-03-16 21:29:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lucas Nealan 2009-02-01 12:55:49 UTC
User-Agent:       Opera/10.00 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.0

Just upgraded to f10 and ldd is sporadically segfaulting. lld will usually return with: "ldd: exited with unknown exit code (139)". Running the verify manually through glibc reveals the segfault message. It is mostly segfaulting but sometimes it works.


Reproducible: Sometimes

Actual Results:  
sizzo:/etc root# ldd /usr/bin/ircd 
ldd: exited with unknown exit code (139)
sizzo:/etc root# /lib64/ld-linux-x86-64.so.2 --verify /usr/bin/ircd
Segmentation fault
sizzo:/etc root# /lib64/ld-linux-x86-64.so.2 --verify /usr/bin/ircd
Segmentation fault
sizzo:/etc root# /lib64/ld-linux-x86-64.so.2 --verify /usr/bin/ircd
sizzo:/etc root# /lib64/ld-linux-x86-64.so.2 --verify /usr/bin/ircd
Segmentation fault
sizzo:/etc root# /lib64/ld-linux-x86-64.so.2 --verify /usr/bin/ircd
sizzo:/etc root# strace -f /lib64/ld-linux-x86-64.so.2 --verify /usr/bin/ircd
execve("/lib64/ld-linux-x86-64.so.2", ["/lib64/ld-linux-x86-64.so.2", "--verify", "/usr/bin/ircd"], [/* 30 vars */]) = 0
brk(0)                                  = 0x1e6f000
open("/usr/bin/ircd", O_RDONLY)         = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\2\0>\0\1\0\0\0\220\233@\0\0\0\0\0@"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=470152, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0df11cc000
mmap(0x400000, 409600, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x400000
mmap(0x663000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x63000) = 0x663000
mmap(0x673000, 7861968, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x673000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

sizzo:/etc root# strace -f /lib64/ld-linux-x86-64.so.2 --verify /usr/bin/ircd
execve("/lib64/ld-linux-x86-64.so.2", ["/lib64/ld-linux-x86-64.so.2", "--verify", "/usr/bin/ircd"], [/* 30 vars */]) = 0
brk(0)                                  = 0x2f8b000
open("/usr/bin/ircd", O_RDONLY)         = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\2\0>\0\1\0\0\0\220\233@\0\0\0\0\0@"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=470152, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f819ba7d000
mmap(0x400000, 409600, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x400000
mmap(0x663000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x63000) = 0x663000
mmap(0x673000, 7861968, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x673000
close(3)                                = 0
exit_group(0)                           = ?

sizzo:/etc root# ldd /usr/bin/ircd 
        linux-vdso.so.1 =>  (0x00007fff00ffe000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000000000df3000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000000000ff7000)
        libssl.so.7 => /lib64/libssl.so.7 (0x0000000007227000)
        libcrypto.so.7 => /lib64/libcrypto.so.7 (0x00000000022a6000)
        libc.so.6 => /lib64/libc.so.6 (0x000000000122f000)
        /lib64/ld-linux-x86-64.so.2 (0x0000000000110000)
        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x0000000006ec7000)
        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x0000000007ae8000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000000006a23000)
        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00000000015a1000)
        libz.so.1 => /lib64/libz.so.1 (0x00000000017c6000)
        libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00000000019db000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000000001be5000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000000006c5a000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000000001de7000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000000002003000)
sizzo:/etc root# ldd /usr/bin/ircd 
ldd: exited with unknown exit code (139)



rpm -qa | grep "^glibc\|ircd"
glibc-common-2.9-3.x86_64
glibc-headers-2.9-3.x86_64
glibc-2.9-3.x86_64
glibc-devel-2.9-3.x86_64
ircd-hybrid-7.2.3-6.fc10.x86_64
glibc-2.9-3.i686

Comment 1 jedynamic 2009-02-02 02:55:13 UTC
I started seeing this problem with a couple of different programs (mplayer, mtr, mencoder) on my x86_64 system.
In my case, I only see the problem with kernel-2.6.27.12-170.2.5.fc10.x86_64.  So, kernel-2.6.27.9-159.fc10.x86_64 does not experience this problem.

Example of problem:
Run ldd /usr/sbin/mtr and sometimes it works but most of the time I would see the error:
ldd: exited with unknown exit code (139) 
I would also see a glibc segfault in dmesg similar to :
ld-linux-x86-64[4656]: segfault at 71492a ip 000000000071492a sp 00007fffc33e9c28 error 15

Comment 2 Sergey 2009-02-18 13:41:49 UTC
I got the same spew on a F10 install without SElinux
kernel 2.6.27.12-170.2.5.fc10.x86_64
glibc-2.9-3.x86_64

ldd /usr/lib/vmware/bin/vmware-hostd
ldd: exited with unknown exit code (139)

Feb 18 14:35:15 192.168.177.76 kernel:ld-linux-x86-64[2854]: segfault at
350d000 ip 00000000003f158f sp 00007fffc7e88008 error 6 in
ld-2.9.so[3d9000+20000]
Feb 18 14:35:15 192.168.177.76 kernel:ld-linux-x86-64[2853]: segfault at 28 ip
0000000000acf94f sp 00007fff283394c8 error 4 in vmware-hostd[400000+230d000]
Feb 18 14:35:15 192.168.177.76 kernel:ld-linux-x86-64[2866]: segfault at 400000
ip 00000000005a992a sp 00007fff3e8c2a58 error 6 in vmware-hostd[400000+230d000]
Feb 18 14:35:15 192.168.177.76 kernel:ld-linux-x86-64[2868]: segfault at 400000
ip 0000000000be992a sp 00007fff5eef4088 error 6 in vmware-hostd[400000+230d000]
Feb 18 14:35:15 192.168.177.76 kernel:ld-linux-x86-64[2894]: segfault at 0 ip
0000000000000000 sp 00007fff7b0fb260 error 14 in vmware-hostd[400000+230d000]
Feb 18 14:35:15 192.168.177.76 kernel:ld-linux-x86-64[2896]: segfault at
34493d8 ip 00000000006a5c48 sp 00007fff6bc61dc0 error 4 in
vmware-hostd[400000+230d000]
Feb 18 14:35:15 192.168.177.76 kernel:ld-linux-x86-64[2901]: segfault at 5 ip
000000000082892a sp 00007fff6f1dc348 error 6 in vmware-hostd[400000+230d000]
Feb 18 14:35:15 192.168.177.76 kernel:ld-linux-x86-64[2900]: segfault at 0 ip
0000000000000000 sp 00007fff8beeb088 error 14 in vmware-hostd[400000+230d000]

vmware-hostd is /usr/lib/vmware/bin/vmware-hostd from VMware Server
2.0.0-122956 x86_64. Sometimes i got the same with other programms 
(/usr/bin/vmware-mount) but simple sync cure it.
Sadly vmware-hostd not cured.

Fedora 6, SELINUX=enforcing
ldd /tmp/vmware-hostd 
	libz.so.1 => /usr/lib64/libz.so.1 (0x00002aaaaacc6000)
	libvmomi.so.1.0 => not found # no vmware here
	libvmacore.so.1.0 => not found
	libexpat.so.0 => /lib64/libexpat.so.0 (0x00002aaaaaedb000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002aaaab0fd000)
	libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00002aaaab331000)
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002aaaab670000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aaaab970000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002aaaabb8a000)
	libc.so.6 => /lib64/libc.so.6 (0x00002aaaabd99000)
	/lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00002aaaac0e9000)
	libm.so.6 => /lib64/libm.so.6 (0x00002aaaac2ed000)

Comment 3 Nivag 2009-02-22 05:10:50 UTC
Linux jupiter 2.6.27.12-170.2.5.fc10.x86_64 #1 SMP Wed Jan 21 01:33:24 EST 2009 x86_64 x86_64 x86_64 GNU/Linux

AMD 4200+ dual core 64 bit
4 Gig of RAM

applied all yum updates (but not using the 2.6.27.15 kernel, because it does not boot on my system, for which I've raised a separate bug)

getting lots of segfault messages in the log:

# grep ld-linux /var/log/messages
Feb 22 04:05:14 jupiter kernel: ld-linux-x86-64[30087]: segfault at 65a000 ip 000000000022358b sp 00007fff15b39fc8 error 6 in ld-2.9.so[20b000+20000]
Feb 22 04:05:14 jupiter kernel: ld-linux-x86-64[30156]: segfault at 607b70 ip 0000000000607b70 sp 00007fffa59671b8 error 15 in nice[607000+1000]
Feb 22 04:05:15 jupiter kernel: ld-linux-x86-64[30403]: segfault at 400000 ip 000000000042692a sp 00007fff614368c8 error 6 in openjade[400000+9b000]
Feb 22 04:05:15 jupiter kernel: ld-linux-x86-64[30411]: segfault at 400000 ip 00000000005e792a sp 00007fff501d4668 error 6 in kleopatra[400000+238000]
Feb 22 04:05:15 jupiter kernel: ld-linux-x86-64[30513]: segfault at 620000 ip 00000000001fe58b sp 00007fffaa2d5768 error 6 in ld-2.9.so[1e6000+20000]
Feb 22 04:05:15 jupiter kernel: ld-linux-x86-64[30552]: segfault at 600590 ip 0000000000600590 sp 00007fff15ac3688 error 15 in kwalletd[600000+1000]
Feb 22 04:05:15 jupiter kernel: ld-linux-x86-64[30586]: segfault at 604000 ip 00000000001fa587 sp 00007fffcede8278 error 6 in ld-2.9.so[1e2000+20000]
Feb 22 04:05:15 jupiter kernel: ld-linux-x86-64[30589]: segfault at 67195e ip 000000000067195e sp 00007fff52a3a610 error 15
Feb 22 04:05:15 jupiter kernel: ld-linux-x86-64[30609]: segfault at 2a8 ip 000000000048599b sp 00007fff5e7a5370 error 4 in ld-2.9.so[482000+20000]
Feb 22 04:05:15 jupiter kernel: ld-linux-x86-64[30698]: segfault at 71a92a ip 000000000071a92a sp 00007fff8d99de38 error 15 in perror[6ff000+48000]
Feb 22 04:05:19 jupiter kernel: ld-linux-x86-64[31976] general protection ip:1f61f0 sp:7fffa2624c60 error:0 in ld-2.9.so[1ee000+20000]
Feb 22 04:05:19 jupiter kernel: ld-linux-x86-64[32054]: segfault at a5a000 ip 000000000038a593 sp 00007fff2e9c2e48 error 6 in ld-2.9.so[372000+20000]
Feb 22 04:05:19 jupiter kernel: ld-linux-x86-64[32066]: segfault at 648069 ip 0000000000648069 sp 00007fffdc4c6090 error 15 in nm-applet[648000+2000]
Feb 22 04:05:19 jupiter kernel: ld-linux-x86-64[32070]: segfault at 400020 ip 00000000005444ae sp 00007fffc7122598 error 7 in supertux[400000+1d0000]
Feb 22 04:05:19 jupiter kernel: ld-linux-x86-64[32091]: segfault at ffffffffffffffca ip 0000000000409dbb sp 00007fff0e7abc50 error 6 in korgac[400000+18000]
Feb 22 04:05:19 jupiter kernel: ld-linux-x86-64[32124]: segfault at 1 ip 0000000000401a60 sp 00007fff65015b78 error 6 in redland-db-upgrade[400000+2000]
Feb 22 04:05:19 jupiter kernel: ld-linux-x86-64[32171]: segfault at 2a8 ip 00000000005be99b sp 00007fff055ea1b0 error 4 in ld-2.9.so[5bb000+20000]
Feb 22 04:05:20 jupiter kernel: ld-linux-x86-64[32200]: segfault at 7e5000 ip 0000000000471583 sp 00007fffe71ac638 error 6 in ld-2.9.so[459000+20000]
Feb 22 04:05:20 jupiter kernel: ld-linux-x86-64[32265]: segfault at 8ad92a ip 00000000008ad92a sp 00007fff7a772c08 error 15
Feb 22 04:05:20 jupiter kernel: ld-linux-x86-64[32276]: segfault at 2a8 ip 00000000005b599b sp 00007fffeeb64730 error 4 in ld-2.9.so[5b2000+20000]
Feb 22 04:05:24 jupiter kernel: ld-linux-x86-64[1259]: segfault at 1 ip 0000000000449960 sp 00007fffcafc1b80 error 4 in sproingies[400000+4d000]
Feb 22 04:05:24 jupiter kernel: ld-linux-x86-64[1267]: segfault at 60a92a ip 000000000060a92a sp 00007fffed32f7b8 error 15 in grav[60a000+1000]
Feb 22 04:05:24 jupiter kernel: ld-linux-x86-64[1318]: segfault at 60c000 ip 00000000001ff578 sp 00007fffa9fc7438 error 6 in ld-2.9.so[1e7000+20000]
Feb 22 04:05:24 jupiter kernel: ld-linux-x86-64[1348]: segfault at 60a3b0 ip 000000000060a3b0 sp 00007fff5550d0c8 error 15
Feb 22 04:05:25 jupiter kernel: ld-linux-x86-64[1366]: segfault at 0 ip 0000000000000000 sp 00007fff825a4a30 error 14 in ld-2.9.so[3ee000+12000]
Feb 22 04:05:25 jupiter kernel: ld-linux-x86-64[1415]: segfault at 0 ip 00000000008c30eb sp 00007fff9a5eca50 error 4 in mysqld[400000+71c000]
Feb 22 04:05:25 jupiter kernel: ld-linux-x86-64[1471]: segfault at 612510 ip 0000000000612510 sp 00007ffff68910f8 error 15 in sensors-applet[612000+1000]
Feb 22 04:05:25 jupiter kernel: ld-linux-x86-64[1593]: segfault at 601f70 ip 0000000000601f70 sp 00007fff59218db8 error 15 in cvtmail[601000+1000]
Feb 22 04:05:26 jupiter kernel: ld-linux-x86-64[1620]: segfault at d6092a ip 0000000000d6092a sp 00007fff774aa928 error 15
Feb 22 04:05:26 jupiter kernel: ld-linux-x86-64[1623]: segfault at 20 ip 0000000000625937 sp 00007fffc24618d8 error 4 in cc1[400000+744000]
#

Comment 4 Sergey 2009-02-22 10:17:43 UTC
kernel 2.6.27.15-170.2.24.fc10.x86_64
glibc-2.9-3.x86_64
glibc-2.9-3.i686

SELINUX=permissive
SELINUXTYPE=targeted
setsebool -P allow_unconfined_mmap_low 1

$ ldd /usr/bin/*
...
ldd: exited with unknown exit code (139)

kernel: ld-linux-x86-64[27165]: segfault at 0 ip 000000000040074b sp 00007fffb68943c0 error 6 in addr2line[400000+6000]

$ sync
$ ldd /usr/bin/addr2line
	linux-vdso.so.1 =>  (0x00007fff1a9fe000)
	libbfd-2.18.50.0.9-8.fc10.so => /usr/lib64/libbfd-2.18.50.0.9-8.fc10.so (0x0000000000606000)
	libz.so.1 => /lib64/libz.so.1 (0x0000000000110000)
	libc.so.6 => /lib64/libc.so.6 (0x0000000000c94000)
	/lib64/ld-linux-x86-64.so.2 (0x0000000000a73000)

Name of "bad" programm (addr2line here) is random.

Comment 5 Ulrich Drepper 2009-03-16 21:29:15 UTC

*** This bug has been marked as a duplicate of bug 488449 ***