[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#714294: marked as done (libc6: applications linked with proprietary nvidia modules get SEGV because tls version of library is not found)



Your message dated Sun, 30 Jun 2013 00:03:44 +0000
with message-id <E1Ut57I-0007N1-6y@franck.debian.org>
and subject line Bug#713837: fixed in eglibc 2.17-7
has caused the Debian Bug report #713837,
regarding libc6: applications linked with proprietary nvidia modules get SEGV because tls version of library is not found
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
713837: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=713837
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libc6
Version: 2.17-3
Severity: normal

Dear Maintainer,

I am seeing SEGV at a startup for _all_ applications which are linked
to libGL served by a proprietary NVIDIA driver. At first I thought this
was the NVIDIA issue but then it turned out that the issue is caused by
linker (or at least this is my understanding now).

NVIDIA installer provides two versions of nvidia-tls library:
$ file /usr/lib/libnvidia-tls.so.310.44
/usr/lib/libnvidia-tls.so.310.44: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, for GNU/Linux 2.2.5, stripped
$ file /usr/lib/tls/libnvidia-tls.so.310.44
/usr/lib/tls/libnvidia-tls.so.310.44: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, for GNU/Linux 2.3.99, stripped

I would have expected that /usr/lib/tls variant would be picked up
automagically.
$ /sbin/ldconfig -p | grep tls
        libnvidia-tls.so.310.44 (libc6, hwcap: 0x8000000000000000, ABI OS: Linux 2.3.99) => /usr/lib/tls/libnvidia-tls.so.310.44
        libnvidia-tls.so.310.44 (libc6, ABI OS: Linux 2.2.5) => /usr/lib/libnvidia-tls.so.310.44

and
$ /sbin/ldconfig -v | grep -v ^$'\t' 2>/dev/null
/lib/i386-linux-gnu:
/usr/lib/i386-linux-gnu:
/usr/local/lib:
/lib:
/usr/lib:
/sbin/ldconfig: Informace o /usr/lib/libfakeroot-0.so nelze zĂ­skat: AdresĂĄĹ? nebo soubor neexistuje
/lib/i386-linux-gnu/i686: (hwcap: 0x0008000000000000)
/usr/lib/i386-linux-gnu/i586: (hwcap: 0x0004000000000000)
/usr/lib/i386-linux-gnu/sse2: (hwcap: 0x0000000004000000)
/usr/lib/i386-linux-gnu/i686: (hwcap: 0x0008000000000000)
/usr/lib/i586: (hwcap: 0x0004000000000000)
/usr/lib/sse2: (hwcap: 0x0000000004000000)
/usr/lib/i686: (hwcap: 0x0008000000000000)
/usr/lib/i486: (hwcap: 0x0002000000000000)
/usr/lib/tls: (hwcap: 0x8000000000000000)
/lib/i386-linux-gnu/i686/cmov: (hwcap: 0x0008000000008000)
/usr/lib/i386-linux-gnu/i686/cmov: (hwcap: 0x0008000000008000)
/usr/lib/i386-linux-gnu/i686/sse2: (hwcap: 0x0008000004000000)
/usr/lib/i686/cmov: (hwcap: 0x0008000000008000)

suggest that /usr/lib/tls should be honored. For some reason it is not
though.

$ cat ./main.c 
#include <stdio.h>
int main(int argc, char **argv)
{
        printf("Yep\n");
        return 0;
}

$ gcc -o main main.c /usr/lib/libGL.so.1
$ ldd ./main
        linux-gate.so.1 =>  (0xb77cc000)
        libGL.so.1 => /usr/lib/libGL.so.1 (0xb76d2000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7589000)
        libnvidia-tls.so.310.44 => /usr/lib/libnvidia-tls.so.310.44 (0xb7584000)
        libnvidia-glcore.so.310.44 => /usr/lib/libnvidia-glcore.so.310.44 (0xb5862000)
        libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb572a000)
        libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb5718000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb5714000)
        /lib/ld-linux.so.2 (0xb77cd000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb56ed000)
        libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb56ca000)
        libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb56c7000)
        libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb56c1000)

$ LD_DEBUG=libs ./main
     15977:     find library=libGL.so.1 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/usr/lib/libGL.so.1
     15977:
     15977:     find library=libc.so.6 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/lib/i386-linux-gnu/libc.so.6
     15977:
     15977:     find library=libnvidia-tls.so.310.44 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/usr/lib/libnvidia-tls.so.310.44
     15977:
     15977:     find library=libnvidia-glcore.so.310.44 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/usr/lib/libnvidia-glcore.so.310.44
     15977:
     15977:     find library=libX11.so.6 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/usr/lib/i386-linux-gnu/libX11.so.6
     15977:
     15977:     find library=libXext.so.6 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/usr/lib/i386-linux-gnu/libXext.so.6
     15977:
     15977:     find library=libdl.so.2 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/lib/i386-linux-gnu/libdl.so.2
     15977:
     15977:     find library=libm.so.6 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/lib/i386-linux-gnu/libm.so.6
     15977:
     15977:     find library=libxcb.so.1 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/usr/lib/i386-linux-gnu/libxcb.so.1
     15977:
     15977:     find library=libXau.so.6 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/usr/lib/i386-linux-gnu/libXau.so.6
     15977:
     15977:     find library=libXdmcp.so.6 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/usr/lib/i386-linux-gnu/libXdmcp.so.6
     15977:
     15977:
     15977:     calling init: /lib/i386-linux-gnu/libc.so.6
     15977:
     15977:
     15977:     calling init: /usr/lib/i386-linux-gnu/libXdmcp.so.6
     15977:
     15977:
     15977:     calling init: /usr/lib/i386-linux-gnu/libXau.so.6
     15977:
     15977:
     15977:     calling init: /usr/lib/i386-linux-gnu/libxcb.so.1
     15977:
     15977:
     15977:     calling init: /lib/i386-linux-gnu/libm.so.6
     15977:
     15977:
     15977:     calling init: /lib/i386-linux-gnu/libdl.so.2
     15977:
     15977:
     15977:     calling init: /usr/lib/i386-linux-gnu/libX11.so.6
     15977:
     15977:
     15977:     calling init: /usr/lib/i386-linux-gnu/libXext.so.6
     15977:
     15977:
     15977:     calling init: /usr/lib/libnvidia-glcore.so.310.44
     15977:
     15977:
     15977:     calling init: /usr/lib/libGL.so.1
     15977:
     15977:     /usr/lib/libGL.so.1: error: symbol lookup error: undefined symbol: pthread_create, version GLIBC_2.0 (fatal)
     15977:     find library=libselinux.so.1 [0]; searching
     15977:      search cache=/etc/ld.so.cache
     15977:       trying file=/lib/i386-linux-gnu/libselinux.so.1
     15977:
     15977:
     15977:     calling init: /lib/i386-linux-gnu/libselinux.so.1
     15977:
     15977:
     15977:     calling fini: /lib/i386-linux-gnu/libselinux.so.1 [0]
     15977:
SEGV

$ LD_LIBRARY_PATH=/usr/lib/tls:/usr/lib  ./main
Yep

Is this a misconfiguration on my end or the glibc doesn't honor tls/
directory?

-- System Information:
Debian Release: 7.0
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=cs_CZ.UTF-8, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libc6 depends on:
ii  libgcc1  1:4.7.2-5

Versions of packages libc6 recommends:
ii  libc6-i686  2.17-3

Versions of packages libc6 suggests:
ii  debconf [debconf-2.0]  1.5.49
pn  glibc-doc              <none>
ii  locales                2.17-3

-- Configuration Files:
/etc/ld.so.conf.d/i486-linux-gnu.conf changed:
/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu


-- debconf information:
* glibc/upgrade: true
* glibc/disable-screensaver:
  glibc/restart-failed:
* glibc/restart-services: vsftpd cron atd
* libraries/restart-without-asking: false

--- End Message ---
--- Begin Message ---
Source: eglibc
Source-Version: 2.17-7

We believe that the bug you reported is fixed in the latest version of
eglibc, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 713837@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Aurelien Jarno <aurel32@debian.org> (supplier of updated eglibc package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sun, 30 Jun 2013 01:18:27 +0200
Source: eglibc
Binary: libc-bin libc-dev-bin glibc-doc eglibc-source locales locales-all nscd multiarch-support libc6 libc6-dev libc6-dbg libc6-prof libc6-pic libc6-udeb libc6.1 libc6.1-dev libc6.1-dbg libc6.1-prof libc6.1-pic libc6.1-udeb libc0.3 libc0.3-dev libc0.3-dbg libc0.3-prof libc0.3-pic libc0.3-udeb libc0.1 libc0.1-dev libc0.1-dbg libc0.1-prof libc0.1-pic libc0.1-udeb libc6-i386 libc6-dev-i386 libc6-sparc libc6-dev-sparc libc6-sparc64 libc6-dev-sparc64 libc6-s390 libc6-dev-s390 libc6-s390x libc6-dev-s390x libc6-amd64 libc6-dev-amd64 libc6-powerpc libc6-dev-powerpc libc6-ppc64 libc6-dev-ppc64 libc6-mipsn32 libc6-dev-mipsn32 libc6-mips64 libc6-dev-mips64 libc6-armhf libc6-dev-armhf libc6-armel libc6-dev-armel libc0.1-i386 libc0.1-dev-i386 libc6-x32 libc6-dev-x32 libc6-i686 libc6-xen libc0.1-i686 libc0.3-i686 libc0.3-xen libc6.1-alphaev67 libc6-loongson2f libnss-dns-udeb libnss-files-udeb
Architecture: source all
Version: 2.17-7
Distribution: unstable
Urgency: medium
Maintainer: Aurelien Jarno <aurel32@debian.org>
Changed-By: Aurelien Jarno <aurel32@debian.org>
Description: 
 eglibc-source - Embedded GNU C Library: sources
 glibc-doc  - Embedded GNU C Library: Documentation
 libc-bin   - Embedded GNU C Library: Binaries
 libc-dev-bin - Embedded GNU C Library: Development binaries
 libc0.1    - Embedded GNU C Library: Shared libraries
 libc0.1-dbg - Embedded GNU C Library: detached debugging symbols
 libc0.1-dev - Embedded GNU C Library: Development Libraries and Header Files
 libc0.1-dev-i386 - Embedded GNU C Library: 32bit development libraries for AMD64
 libc0.1-i386 - Embedded GNU C Library: 32bit shared libraries for AMD64
 libc0.1-i686 - Embedded GNU C Library: Shared libraries [i686 optimized]
 libc0.1-pic - Embedded GNU C Library: PIC archive library
 libc0.1-prof - Embedded GNU C Library: Profiling Libraries
 libc0.1-udeb - Embedded GNU C Library: Shared libraries - udeb (udeb)
 libc0.3    - Embedded GNU C Library: Shared libraries
 libc0.3-dbg - Embedded GNU C Library: detached debugging symbols
 libc0.3-dev - Embedded GNU C Library: Development Libraries and Header Files
 libc0.3-i686 - Embedded GNU C Library: Shared libraries [i686 optimized]
 libc0.3-pic - Embedded GNU C Library: PIC archive library
 libc0.3-prof - Embedded GNU C Library: Profiling Libraries
 libc0.3-udeb - Embedded GNU C Library: Shared libraries - udeb (udeb)
 libc0.3-xen - Embedded GNU C Library: Shared libraries [Xen version]
 libc6      - Embedded GNU C Library: Shared libraries
 libc6-amd64 - Embedded GNU C Library: 64bit Shared libraries for AMD64
 libc6-armel - Embedded GNU C Library: ARM softfp shared libraries for armhf
 libc6-armhf - Embedded GNU C Library: ARM hard float shared libraries for armel
 libc6-dbg  - Embedded GNU C Library: detached debugging symbols
 libc6-dev  - Embedded GNU C Library: Development Libraries and Header Files
 libc6-dev-amd64 - Embedded GNU C Library: 64bit Development Libraries for AMD64
 libc6-dev-armel - Embedded GNU C Library: ARM softfp development libraries for armh
 libc6-dev-armhf - Embedded GNU C Library: ARM hard float development libraries for
 libc6-dev-i386 - Embedded GNU C Library: 32-bit development libraries for AMD64
 libc6-dev-mips64 - Embedded GNU C Library: 64bit Development Libraries for MIPS64
 libc6-dev-mipsn32 - Embedded GNU C Library: n32 Development Libraries for MIPS64
 libc6-dev-powerpc - Embedded GNU C Library: 32bit powerpc development libraries for p
 libc6-dev-ppc64 - Embedded GNU C Library: 64bit Development Libraries for PowerPC64
 libc6-dev-s390 - Embedded GNU C Library: 32bit Development Libraries for IBM zSeri
 libc6-dev-s390x - Embedded GNU C Library: 64bit Development Libraries for IBM zSeri
 libc6-dev-sparc - Embedded GNU C Library: 32bit Development Libraries for SPARC
 libc6-dev-sparc64 - Embedded GNU C Library: 64bit Development Libraries for UltraSPAR
 libc6-dev-x32 - Embedded GNU C Library: X32 ABI Development Libraries for AMD64
 libc6-i386 - Embedded GNU C Library: 32-bit shared libraries for AMD64
 libc6-i686 - Embedded GNU C Library: Shared libraries [i686 optimized]
 libc6-loongson2f - Embedded GNU C Library: Shared libraries (Loongson 2F optimized)
 libc6-mips64 - Embedded GNU C Library: 64bit Shared libraries for MIPS64
 libc6-mipsn32 - Embedded GNU C Library: n32 Shared libraries for MIPS64
 libc6-pic  - Embedded GNU C Library: PIC archive library
 libc6-powerpc - Embedded GNU C Library: 32bit powerpc shared libraries for ppc64
 libc6-ppc64 - Embedded GNU C Library: 64bit Shared libraries for PowerPC64
 libc6-prof - Embedded GNU C Library: Profiling Libraries
 libc6-s390 - Embedded GNU C Library: 32bit Shared libraries for IBM zSeries
 libc6-s390x - Embedded GNU C Library: 64bit Shared libraries for IBM zSeries
 libc6-sparc - Embedded GNU C Library: 32bit Shared libraries for SPARC
 libc6-sparc64 - Embedded GNU C Library: 64bit Shared libraries for UltraSPARC
 libc6-udeb - Embedded GNU C Library: Shared libraries - udeb (udeb)
 libc6-x32  - Embedded GNU C Library: X32 ABI Shared libraries for AMD64
 libc6-xen  - Embedded GNU C Library: Shared libraries [Xen version]
 libc6.1    - Embedded GNU C Library: Shared libraries
 libc6.1-alphaev67 - Embedded GNU C Library: Shared libraries (EV67 optimized)
 libc6.1-dbg - Embedded GNU C Library: detached debugging symbols
 libc6.1-dev - Embedded GNU C Library: Development Libraries and Header Files
 libc6.1-pic - Embedded GNU C Library: PIC archive library
 libc6.1-prof - Embedded GNU C Library: Profiling Libraries
 libc6.1-udeb - Embedded GNU C Library: Shared libraries - udeb (udeb)
 libnss-dns-udeb - Embedded GNU C Library: NSS helper for DNS - udeb (udeb)
 libnss-files-udeb - Embedded GNU C Library: NSS helper for files - udeb (udeb)
 locales    - Embedded GNU C Library: National Language (locale) data [support]
 locales-all - Embedded GNU C Library: Precompiled locale data
 multiarch-support - Transitional package to ensure multiarch compatibility
 nscd       - Embedded GNU C Library: Name Service Cache Daemon
Closes: 709992 712196 713035 713799 713837
Changes: 
 eglibc (2.17-7) unstable; urgency=medium
 .
   [ Aurelien Jarno ]
   * debian/rules.d/build.mk: unexport LD_PRELOAD to allow the testsuite
     to pass even if eatmydata is used.  Closes: #713035.
   * debian/script.in/nohwcap.sh: handle new multiarch format of dpkg-query.
     Closes: #713837.
   * debian/patches/m68k/cvs-sysdep-cfi.diff: new patch from upstream to fix
     cfi assembly code.  Closes: #709992.
   * patches/any/cvs-gethostbyname-numeric.diff: new patch from upstream to fix
     gethostbyname when used with numeric addresses.
   * debian/patches/any/cvs-getaddrinfo-EAI_NONAME.diff: new patch from
     upstream to return EAI_NONAME instead of EAI_SYSTEM when the network
     is down.  Closes: #713799.
   * debian/local/ldconfig_wrap: rename into debian/local/sbin/ldconfig to
     be consistent with the naming of other files in this directory.
   * debian/patches/mips/local-prlimit64.diff: new patch to temporarily
     workaround issues with the prlimit64 syscall on MIPS.
   * debian/testsuite-checking/expected-results-mips*: allow a few tests to
     fail due to the prlimit64 syscall issue on MIPS.
   * Add 32-bit biarch packages on sparc64.
 .
   [ Samuel Thibault ]
   * Remove unapplied hurd-i386/local-nice.diff (applied as tg-nice.diff)
 .
   [ Petr Salinger ]
   * kfreebsd/local-sysdeps.diff: update to revision 4552 (from glibc-bsd).
     Closes: #712196.
Checksums-Sha1: 
 9bc4cc66ad4ddb50eb3d97233491becb2a2f17d8 5263 eglibc_2.17-7.dsc
 f492046ca38fa382157cdaf2cd4f531f6394a1a1 780072 eglibc_2.17-7.debian.tar.xz
 f411015db6e18d9ee6905832c5e9dac05f25ec5f 2124858 glibc-doc_2.17-7_all.deb
 a2d8e1bbbc68e5c710934df337514a56106c9728 13868500 eglibc-source_2.17-7_all.deb
 02424c1e2e0ecb242e2fcc0a33652d6333b25be1 3846276 locales_2.17-7_all.deb
Checksums-Sha256: 
 7f57ff44e970a6c8465092c779981f7f612abcd1cd8651be369478480c88b5dc 5263 eglibc_2.17-7.dsc
 f849f7ace24f8467da29ee8727f88419e9f3a1f11209930392465fddafe9d9ad 780072 eglibc_2.17-7.debian.tar.xz
 91795d7b2296214486dd671481166e652e44d5de98ddc4fd549b32ef6e2d9c29 2124858 glibc-doc_2.17-7_all.deb
 c8d850677276938f7d830afac56f72b26faeb20e7cb614a26c8722a6674c1afc 13868500 eglibc-source_2.17-7_all.deb
 907dd1c793af27f0e2491b6719a3faef2fef8f5ba864bdcbe27bd0d265266717 3846276 locales_2.17-7_all.deb
Files: 
 2782437f9533e51b8a7371f0a6f86b65 5263 libs required eglibc_2.17-7.dsc
 63e46a88f284a00e9012e3d78d010d96 780072 libs required eglibc_2.17-7.debian.tar.xz
 97f00897d030105b88bfb42ab2a7184c 2124858 doc optional glibc-doc_2.17-7_all.deb
 ac9f58701c033bbe65aa58cee2bde18c 13868500 devel optional eglibc-source_2.17-7_all.deb
 3dfcad6b595d6c3cba4f7471525b858e 3846276 localization standard locales_2.17-7_all.deb


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iD8DBQFRz3EGw3ao2vG823MRAtCaAJwLEaJTCjjP7k4sd4UWUw+WvXKZFACeMoIu
nDr7LCYNwVIGigXRg0nRdPo=
=E/bF
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: