Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 543384 - sys-libs/glibc-2.19: upgrade resulted in sigsegv on almost any program executed
Summary: sys-libs/glibc-2.19: upgrade resulted in sigsegv on almost any program executed
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-15 02:59 UTC by Honza
Modified: 2015-03-21 16:52 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Log from removing glibc-2.16 with the segfaults (sys-libs:glibc-2.16.0:20150315-021927.log,80.36 KB, text/plain)
2015-03-15 03:06 UTC, Honza
Details
Log from installing glibc-2.19 (sys-libs:glibc-2.19-r1:20150315-021225.log.bz2,197.20 KB, application/x-bzip)
2015-03-15 03:08 UTC, Honza
Details
Dumped core from running LD_PRELOAD=/lib/libc-2.19.so /lib/ld-2.19.so /bin/ls -lisa (core,420.00 KB, application/x-core)
2015-03-21 00:39 UTC, Honza
Details
Log from successfull installation of glibc-2.19 (sys-libs:glibc-2.19-r1:20150321-010620.log.bz2,194.72 KB, application/x-bzip)
2015-03-21 01:36 UTC, Honza
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Honza 2015-03-15 02:59:33 UTC
Due to the GLSA 201503-04, I've tried to upgrade from glibc 2.16 to glibc 2.19. After finding out I also need to install virtual/libc the upgrade proceeded, crashing somewhere around removing the glibc-2.16. Trying to run python (or portage) afterwards resulted in sigsegv, same with xterm, mc, gdb, ls but for example strace was not affected. Also, already running mc didn't crashed.

I was able to copy /lib/*2.16* from other gentoo system and change symlinks, so the system now works. But downgrading to 2.16 is not supported (also, the glsa) and I'm not sure system is in stable state now.

Note: Selected gcc is i686-pc-linux-gnu-4.6.3 and binutils i686-pc-linux-gnu-2.20.1 ... I see these "details" are not mentioned in the emerge info.

Portage 2.2.14 (python 2.7.5-final-0, default/linux/x86/13.0, gcc-4.6.3, glibc-2.19-r1, 3.13.0-46-generic i686)
=================================================================
System uname: Linux-3.13.0-46-generic-i686-AMD_Phenom-tm-_II_X3_720_Processor-with-gentoo-2.2
KiB Mem:    12437648 total,   9481336 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Sun, 15 Mar 2015 00:45:01 +0000
ld GNU ld (GNU Binutils) 2.20.1.20100303
distcc 3.1 i686-pc-linux-gnu [disabled]
app-shells/bash:          4.2_p52
dev-java/java-config:     2.2.0
dev-lang/perl:            5.18.2-r2
dev-lang/python:          2.6.8-r3, 2.7.5-r3
dev-util/cmake:           2.8.12.2
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.4_p6-r1, 1.6.3-r1, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.18-r3, 2.20.1-r1, 2.23.2
sys-devel/gcc:            2.95.3-r8::<unknown repository>, 3.4.6-r2, 4.3.4, 4.5.3-r2, 4.6.3, 4.7.3-r1, 4.8.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo sunrise dev-zero palmer x-portage
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -mtune=k8 -march=k8 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -mtune=k8 -march=k8 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -march=i686 -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 usersync xattr"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://gentoo.mirror.dkm.cz/pub/gentoo/ ftp://ftp.fi.muni.cz/pub/linux/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/ http://trumpetti.atm.tut.fi/gentoo/ http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-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="/usr/local/portage/layman/sunrise /usr/local/portage/layman/dev-zero /usr/local/portage/layman/palmer /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowex 3dnowext X Xaw3d aalib acl alsa apache2 apm avi bash-completion berkdb browserplugin bzip2 caps cdr cli cracklib crypt css curl cxx dbus dga directfb doc dri dts dvd encode erandom esd fbcon ffmpeg flac fltk force-cgi-redirect fortran gd gdbm ggi gif gpm gtk iconv imagemagick imlib innodb ipv6 jadetex java jpeg jpeg2k lcms lesstif libav libcaca libwww lirc lua mad mailwrapper matroska mbox mcal memlimit mikmod mmx mmx2 mmxext mng modules motif mozilla mpeg multislot mysql ncurses nls nptl ogg oggvorbis old-linux opengl openmp oss pam pcre pdflib perl png postscript python qt qt3support quicktime readline real samba sdl session slang snmp spell sqlite sse sse2 ssl svga tcpd tetex theora tiff truetype unicode usb userlocales v4l v4l2 vhosts videos vorbis wmf x264 x86 xattr xgetdefault xml xorg xosd xv xvid zlib" ABI_X86="32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="access auth auth_dbm auth_anon auth_basic auth_digest authz_host authz_default authz_user alias file-cache echo charset-lite cache disk-cache mem-cache ext-filter case_filter case-filter-in deflate mime-magic cern-meta expires headers usertrack unique-id proxy proxy-connect proxy-ftp proxy-http info include cgi cgid dav dav-fs vhost-alias speling rewrite log_config logio env setenvif mime status autoindex asis negotiation dir imap actions userdir so mem_cache mime_magic vhost_alias filter authn_file" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a" 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 ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_6 python2_7" QEMU_SOFTMMU_TARGETS="arm i386 x86_64" QEMU_USER_TARGETS="alpha arm i386 x86_64" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="r128 radeon radeonhd vesa r300 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"
USE_PYTHON="2.6 2.7"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Honza 2015-03-15 03:06:44 UTC
Created attachment 398952 [details]
Log from removing glibc-2.16 with the segfaults

Log from removing glibc-2.16 with the segfaults
Comment 2 Honza 2015-03-15 03:08:08 UTC
Created attachment 398954 [details]
Log from installing glibc-2.19

Log from installing glibc-2.19 ... I see the segfaults are here as well.
Comment 3 Honza 2015-03-21 00:39:02 UTC
Created attachment 399334 [details]
Dumped core from running LD_PRELOAD=/lib/libc-2.19.so  /lib/ld-2.19.so /bin/ls -lisa

The core produced when I run LD_PRELOAD=/lib/libc-2.19.so  /lib/ld-2.19.so /bin/ls -lisa

It's interesting that ls without arguments run without segfault and ls with arguments segfaults.

... not sure if it's good for something, but I have no idea what other informations may be needed. I'm not able to say where the segfault occured because as I said, gdb is segfaulting as well ... if there are some options how to discover it from this core file or using some different method I'm not aware of them.

I've found https://forums.gentoo.org/viewtopic-t-982658-highlight-glibc.html but they claim that glibc-2.19 SOLVED their problem ...
Comment 4 Honza 2015-03-21 01:17:12 UTC
Ok ... tried some blind updates: installing sys-kernel/linux-headers-3.13, switching binutils to i686-pc-linux-gnu-2.23.2 and emerging glibc 2.19 again apparently helped, no segfaults with that one yet.
Comment 5 Honza 2015-03-21 01:36:36 UTC
Created attachment 399336 [details]
Log from successfull installation of glibc-2.19

 Log from successfull installation of glibc-2.19, for comparison. Interesting differences:

checking whether to use .ctors/.dtors header and trailer... no
checking linker output format... elf32-i386

... of course, might not be related.
Comment 6 Andrew Savchenko gentoo-dev 2015-03-21 07:54:17 UTC
When reporting segfaults you should provide a meaningful backtrace as described here:
http://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces

Core dump itself is almost useless without exact binary caused it, especially when program was compiled without debugging and was stripped.
Comment 7 SpanKY gentoo-dev 2015-03-21 08:58:44 UTC
my guess is that it was due to your old version of binutils -- 2.20 is more than 4 years old.  newer versions of glibc already force an upgrade to 2.24.

so if things are working for you now, i'd say that's that
Comment 8 Honza 2015-03-21 11:08:59 UTC
Andrew Savchenko: The instruction from producing backtrace are useless or at least not enough for debugging glibc. As I said, gdb itself was segfaulting, and newer glibc was not running without new dynamic linker ... but sorry about debugging symbols. I've should post the core after compiling the glibc with splitdebug or something.

SpanKY: 4 years already? .... If you think so, you should resolve this bug by changing the DEPEND to higher version and not by WONTFIX. Or are you waiting for another user having same problem before that? On the other hand, 2.24 apparently wasn't needed.

PS: Technically it was glibc-2.19-r1 I was trying. Forgot to add that -r1. Although I doubt that made difference.
Comment 9 SpanKY gentoo-dev 2015-03-21 16:52:15 UTC
(In reply to Honza from comment #8)

glibc-2.20 is already in the pipeline for stabilization and requires newer binutils.  considering you're the first to hit this, i'm not worried about it being a wider problem.  unless the problem is triaged deeper and shown it is actually an issue with old binutils, i don't want to change the code.

considering you updated to a current stable system and things are working fine, it doesn't sound like it's worth the time to track this down.