Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 463658

Summary: =mail-client/thunderbird{,-bin}-17.0.4-r1[ldap] segfault on start-up since upgrade to =sys-libs/glibc-2.17 (suspected)
Product: Gentoo Linux Reporter: Dan Goodliffe <gentoo>
Component: Current packagesAssignee: Mozilla Gentoo Team <mozilla>
Status: RESOLVED DUPLICATE    
Severity: normal CC: david+gentoo.org
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Dan Goodliffe 2013-03-28 21:26:06 UTC
As per description.
I downgraded other packages in today's update that I suspected might be the fault and I rebuilt openldap (shot in the dark) but no change.
Disabled ldap use flag on thunderbird, all well.


Reproducible: Always

Steps to Reproduce:
1. emerge -1 =sys-libs/glibc-2.17 =mail-client/thunderbird-17*
2. start thunderbird
Actual Results:  
$ gdb thunderbird
GNU gdb (Gentoo 7.5.1 p1) 7.5.1                                                                                                                                     
Copyright (C) 2012 Free Software Foundation, Inc.                                                                                                                   
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/thunderbird...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/thunderbird 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff73a42c8 in strtok_r () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff73a42c8 in strtok_r () from /lib64/libc.so.6
#1  0x00007ffff6ed3bdf in ldap_str2charray () from /usr/lib64/thunderbird/libldap60.so
#2  0x00007ffff14e09a5 in ?? () from /usr/lib64/libldap-2.4.so.2
#3  0x00007ffff14e21b8 in ldap_int_initialize_global_options () from /usr/lib64/libldap-2.4.so.2
#4  0x00007ffff14e22c1 in ldap_int_initialize () from /usr/lib64/libldap-2.4.so.2
#5  0x00007ffff14c964d in ldap_create () from /usr/lib64/libldap-2.4.so.2
#6  0x00007ffff14c9a5f in ldap_initialize () from /usr/lib64/libldap-2.4.so.2
#7  0x00007ffff17064c8 in ?? () from /lib64/libnss_ldap.so.2
#8  0x00007ffff170802c in ?? () from /lib64/libnss_ldap.so.2
#9  0x00007ffff1709679 in ?? () from /lib64/libnss_ldap.so.2
#10 0x00007ffff1709d57 in _nss_ldap_getpwnam_r () from /lib64/libnss_ldap.so.2
#11 0x00007ffff73d6acd in getpwnam_r () from /lib64/libc.so.6
#12 0x00000031f1674645 in ?? () from /usr/lib64/libglib-2.0.so.0
#13 0x00000031f167512d in g_get_user_name () from /usr/lib64/libglib-2.0.so.0
#14 0x00007ffff2190fbd in ?? () from /usr/lib64/libgnomeui-2.so.0
#15 0x0000003439831b17 in g_type_create_instance () from /usr/lib64/libgobject-2.0.so.0
#16 0x0000003439816779 in ?? () from /usr/lib64/libgobject-2.0.so.0
#17 0x0000003439818272 in g_object_newv () from /usr/lib64/libgobject-2.0.so.0
#18 0x000000343981885c in g_object_new () from /usr/lib64/libgobject-2.0.so.0
#19 0x00007ffff2192ab2 in gnome_client_new_without_connection () from /usr/lib64/libgnomeui-2.so.0
#20 0x00007ffff2193830 in ?? () from /usr/lib64/libgnomeui-2.so.0
#21 0x00000038fec0da1e in gnome_program_preinit () from /usr/lib64/libgnome-2.so.0
#22 0x00000038fec0e69c in ?? () from /usr/lib64/libgnome-2.so.0
#23 0x00000038fec0e91d in gnome_program_initv () from /usr/lib64/libgnome-2.so.0
#24 0x00000038fec0ea17 in gnome_program_init () from /usr/lib64/libgnome-2.so.0
#25 0x00007ffff44beef0 in ?? () from /usr/lib64/thunderbird/libxul.so
#26 0x00007ffff44b6d5d in ?? () from /usr/lib64/thunderbird/libxul.so
#27 0x00007ffff44b8a6c in ?? () from /usr/lib64/thunderbird/libxul.so
#28 0x00007ffff44b8d0a in XRE_main () from /usr/lib64/thunderbird/libxul.so
#29 0x0000000000402d68 in ?? ()
#30 0x00007ffff733ebf5 in __libc_start_main () from /lib64/libc.so.6
#31 0x0000000000402e09 in _start ()
(gdb) quit

Expected Results:  
Thunderbird start normally.

Portage 2.2.0_alpha170 (default/linux/amd64/13.0/desktop/kde, gcc-4.7.2, glibc-2.17, 3.8.4-gentoo x86_64)
=================================================================
System uname: Linux-3.8.4-gentoo-x86_64-Intel-R-_Core-TM-_i7-3820_CPU_@_3.60GHz-with-gentoo-2.2
KiB Mem:     8157896 total,    681784 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Thu, 28 Mar 2013 14:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.3-r3, 3.2.3-r2
dev-util/cmake:           2.8.10.2-r1
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.6, 1.13.1
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.7.2-r1
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.8 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo RandomLAN dotnet
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL AdobeFlash-10.1 Oracle-BCLA-JavaSE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe -fno-stack-protector"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/polkit-1/actions /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -pipe -fno-stack-protector"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://defiant.random.lan/portage http://firebrand.random.lan/portage http://sys.randomdan.homeip.net/"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="-e ssh"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/RandomLAN /var/lib/layman/dotnet"
SYNC="rsync://portage@portage/gentoo-portage"
USE="64bit X a52 aac accessibility acl acpi additions aim alsa amd64 apm apng audiofile automount autoshutdown autoupdate bash-completion berkdb bluetooth branding browserplugin bzip2 c++0x cairo caps cdb cdda cddb cdparanoia cdr cli consolekit cracklib cscope css ctype curl curlwrappers custom-cflags custom-march custom-optimization cxx dbus declarative device-mapper dhcpcd dio disable-sound disable-torrent disk-partition divx dlloader docbook dotnet dpms dri drm dts dv dvb dvd dvdr dvdread dynagraph ebook effects emerald encode exif extensions extrafilters extras fam fame fastcgi ffmpeg firefox flac fontconfig frei0r frontendonly ftp fts3 fuse g3dvl gallium gbm gdbm gif gimp git glamor gles gles1 gles2 glib glitz glut glx gmail gmailtimestamps gmedia gnutls gtk gtk3 h323 hardenedphp hpn iconv icq icu id3 id3tag imagemagick imap imlib imlib2 innodb inotify ipv6 ithreads javascript jpeg jpeg2k kde kdeenablefinal kipi kqemu lame lcms ldap libkms libnotify lightning lm_sensors logrotate lvm lvmboot lvmroot lzma lzo mad maildir melt messenger minimal minizip mmx mmxext modules mozcalendar mp3 mp4 mp4live mpeg mpeg2 mpeg4 mpm-prefork msn mudflap multilib multithreaded mysql mysqli mythtv ncurses network network-cron networkmanager nls no-old-linux nocardbus nocd nohardenedkernel nptl nptlonly nsplugin ntp nuv nvidia offensive ogg openexr opengl openvg optimize oscar osmesa pam pango pch pcre pdf phonon plasma png policykit portage postgres ppds pvr python qt3support qt4 rdesktop rdp readline realmedia redland remote resolvconf rtmp sblive screen secure-delete session shared-dricore sharedext shorten silc smp sndfile soap sockets spell sql sqlite sse sse-filters sse2 sse3 sse4_1 sse4_2 ssl ssse3 startup-notification stats stencil-buffer stream subversion svg symlink sysfs syslog system-jpeg system-sqlite system-v8 tcpd themes theora threads thumbnail tidy tiff transcode truetype udev udisks underscores unicode unity-lobby unlock-notify upnp upower usb uuid v4l v4l2 vaapi vdpau vhosts vim vim-pager vim-syntax vim-with-x vlc vorbis vpnc wmf wmp wxwidgets x264 xa xattr xcb xcomposite xinerama xml xmms xmp xrandr xscreensaver xsl xslt xv xvfb xvid xvmc yahoo yvl2 zip zlib" ABI_X86="32 64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="filter authz_host cgid mime_magic mime autoindex vhost_alias dav dir deflate log_config env rewrite cache mem_cache unixd socache authz_core authn_core socache_shmcb" CALLIGRA_FEATURES="braindump flow karbon stage tables words" CAMERAS="sony_dscf1 sony_dscf55" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="syslog lvm plymouth" DVB_CARDS="none" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="none" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_GB" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="radeon r600" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON
Comment 1 Jory A. Pratt gentoo-dev 2013-03-30 13:05:08 UTC
You need to either disable ldap useflag on source build or start nscd either way not much mozilla can do when nss_ldap/openldap are installed on the system. This has nothing to do with glibc
Comment 2 Dan Goodliffe 2013-03-30 14:22:07 UTC
I have nscd running, always. (ldap use flag set, nss_ldap and openldap installed)
This configuration worked just fine until 28th March.
Comment 3 Dan Goodliffe 2013-03-30 15:51:48 UTC
Tell a small lie.
I have nscd configured to start, but it doesn't.

akira ~ # /etc/init.d/nscd start
 * Starting Name Service Cache Daemon ...
mkdir: cannot create directory '': No such file or directory
start-stop-daemon: unrecognized option '--foreground'
Usage: start-stop-daemon [options] 
... <list of usage options>

akira ~ # etc-update 
Scanning Configuration files...
Exiting: Nothing left to do; exiting. :)

So this is what stops thunderbird[ldap] from working?
That feels very wrong somehow.
Comment 4 Dan Goodliffe 2013-03-31 01:05:18 UTC
Just had chance to look into this further. glibc-2.17 unmasks the nscd use flag. If it's not set, you get a broken (not just because nscd doesn't exist) nscd init script (new bug), and a broken thunderbird[ldap].

Should thunderbird[ldap] depend on glibc[nscd] or at least give a warning or indication what the problem is?

I don't think segmentation fault really helps.
Comment 5 Jory A. Pratt gentoo-dev 2013-03-31 10:11:41 UTC
(In reply to comment #4)
> Just had chance to look into this further. glibc-2.17 unmasks the nscd use
> flag. If it's not set, you get a broken (not just because nscd doesn't
> exist) nscd init script (new bug), and a broken thunderbird[ldap].
> 
> Should thunderbird[ldap] depend on glibc[nscd] or at least give a warning or
> indication what the problem is?
> 
> I don't think segmentation fault really helps.

I will add an additional ewarn if openldap/nss_ldap is installed on the system, the dep of nscd on glibc is not needed unless either package is installed.
Comment 6 Blu3 2013-04-07 06:41:30 UTC
this is wholly a bug in thunderbird's libldap60.so

#0  0x00007ffff6e6aeb8 in strtok_r () from /lib64/libc.so.6
#1  0x00007ffff68d2eae in ldap_str2charray () from /usr/lib64/thunderbird/libldap60.so
#2  0x00007fffdedb0d05 in ?? () from /usr/lib64/libldap-2.4.so.2
#3  0x00007fffdedb2478 in ldap_int_initialize_global_options () from /usr/lib64/libldap-2.4.so.2
#4  0x00007fffdedb25da in ldap_int_initialize () from /usr/lib64/libldap-2.4.so.2
#5  0x00007fffded9852a in ldap_create () from /usr/lib64/libldap-2.4.so.2
#6  0x00007fffded98a21 in ldap_initialize () from /usr/lib64/libldap-2.4.so.2

i haven't had time to debug it further and produce a patch.  see also bug 438692
Comment 7 Jory A. Pratt gentoo-dev 2013-12-16 15:35:10 UTC

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