[Bug 1387594] [NEW] init: symbol lookup error: /lib/powerpc64le-linux-gnu/libnss_ldap.so.2: undefined symbol: __libc_lock_lock
Launchpad Bug Tracker
1387594 at bugs.launchpad.net
Tue Dec 9 14:47:04 UTC 2014
You have been subscribed to a public bug by Louis Bouchard (louis-bouchard):
[SRU justification]
The version of the library in the archive for Utopic and Trusty has been built prior to a change in glibc that removes an expected symbol. Rebuild of the libnss-ldap library with the current source package will render the library unusable and may cause systems to become unbootable.
[Impact]
Without this fix, a rebuild of the libnss-ldap package will cause grave impact where usage of the libnss-ldap will segfault. Such a segfault during the boot process will cause the system to become unbootable.
[Fix]
Backport the glibc-2.16.patch that is now merged in Vivid into Utopic and Trusty. The version of the library in Precise already uses the correct glibc symbol.
[Test Case]
$ sudo apt-get download libnss-ldap
$ mkdir tmp
$ dpkg -x libnss-ldap_264-2.2ubuntu4_amd64.deb tmp
$ nm -D tmp/lib/x86_64-linux-gnu/libnss_ldap-2.15.so |grep lock$
w __pthread_mutex_lock
w __pthread_mutex_unlock
#Rebuild the library
$ pull-lp-source libnss-ldap trusty
$ sbuild -A -d trusty libnss-ldap_264-2.2ubuntu4.dsc
$ rm -Rf tmp/*
$ dpkg -x libnss-ldap_264-2.2ubuntu4_amd64.deb tmp
$ nm -D tmp/lib/x86_64-linux-gnu/libnss_ldap-2.19.so | grep lock$
U __libc_lock_lock
U __libc_lock_unlock
Notice that the libnss-ldap version change (2.15 -> 2.19). With the
newly built version, the expected _pthread_mutex_lock|unlock is no
longer present.
[Regression]
None expected. This is already present and in use in the upstream version of the library.
[Original Description of the problem]
Unlike previously thought, this bug is _NOT_ specific to the PPC64EL
architecture. More details in the analysis.
Many commands that require the use of libnss-ldap will fail with
Segmentation Fault. The boot procedure itself can be blocked with the
following message.
One potential workaround is to remove the use of ldap from the
/etc/nsswitch.conf file to at least provide a bootable system.
** Affects: libnss-ldap (Ubuntu)
Importance: Critical
Status: Fix Released
** Affects: libnss-ldap (Ubuntu Precise)
Importance: Critical
Status: Invalid
** Affects: libnss-ldap (Ubuntu Trusty)
Importance: Critical
Assignee: Louis Bouchard (louis-bouchard)
Status: In Progress
** Affects: libnss-ldap (Ubuntu Utopic)
Importance: Critical
Assignee: Louis Bouchard (louis-bouchard)
Status: In Progress
** Tags: cts
--
init: symbol lookup error: /lib/powerpc64le-linux-gnu/libnss_ldap.so.2: undefined symbol: __libc_lock_lock
https://bugs.launchpad.net/bugs/1387594
You received this bug notification because you are a member of Ubuntu Sponsors Team, which is subscribed to the bug report.
More information about the Ubuntu-sponsors
mailing list