[Bug 1387594] Re: init: symbol lookup error: /lib/powerpc64le-linux-gnu/libnss_ldap.so.2: undefined symbol: __libc_lock_lock

Matt Ezell ezellma at ornl.gov
Fri Jan 16 14:16:51 UTC 2015


Anything I can do to help this SRU along?  This is affecting our Trusty
and Utopic boxes.  Right now, I've manually pulled in a Vivid package so
I actually have working systems.  It would be nice to get this into the
*-updates repos.

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1387594

Title:
  init: symbol lookup error: /lib/powerpc64le-linux-
  gnu/libnss_ldap.so.2: undefined symbol: __libc_lock_lock

Status in libnss-ldap package in Ubuntu:
  Fix Released
Status in libnss-ldap source package in Precise:
  Invalid
Status in libnss-ldap source package in Trusty:
  In Progress
Status in libnss-ldap source package in Utopic:
  In Progress

Bug description:
  [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]
  On a server properly configured for ldap authentication :

  root at trusty-ldapclient:~# getent passwd john
  john:x:10000:5000:John Doe:/home/john:/bin/bash

  The same test on arm64 or ppc64el platform where the libnss-ldap have
  been rebuilt recently you will get :

  root at trusty-ldapclient:~# getent passwd john
  Segmentation fault (core dumped)

  $ 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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libnss-ldap/+bug/1387594/+subscriptions



More information about the Ubuntu-sponsors mailing list