Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 411569 - www-client/chromium-18.0.1025.151- Segmentation fault on startup in ld-linux.so.2
Summary: www-client/chromium-18.0.1025.151- Segmentation fault on startup in ld-linux....
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-11 09:18 UTC by Norman Back
Modified: 2012-04-12 08:55 UTC (History)
1 user (show)

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


Attachments
strace /usr/lib/chromium-browser/chrome 2> /tmp/strace-chromium (strace-chromium,39.38 KB, text/plain)
2012-04-11 09:23 UTC, Norman Back
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Norman Back 2012-04-11 09:18:06 UTC
www-client/chromium-18.0.1025.151- Segmentation fault on startup.
dmesg | tail shows:
chrome[28051]: segfault at 6537b315 ip b47390ec sp bfde6b84 error 6 in ld-2.13.so[b472e000+1c000]

Reproducible: Always

Steps to Reproduce:
1. Attempt to start chromium by typing 'chromium' in Konsole
2. 
3.
Actual Results:  
'Segmentation fault' displayed

Expected Results:  
chromium starts normally

dmesg | tail shows:
chrome[28051]: segfault at 6537b315 ip b47390ec sp bfde6b84 error 6 in ld-2.13.so[b472e000+1c000]
Comment 1 Norman Back 2012-04-11 09:18:53 UTC
emerge --info
Portage 2.2.0_alpha100 (default/linux/x86/10.0/desktop, gcc-4.5.3, glibc-2.13-r4, 3.2.14-gentoo-2 i686)
=================================================================
System uname: Linux-3.2.14-gentoo-2-i686-AMD_Phenom-tm-_II_X4_965_Processor-with-gentoo-2.1
Timestamp of tree: Wed, 11 Apr 2012 02:00:01 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 3.1.6 [disabled]
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.6.7-r2, 2.7.2-r3, 3.1.4-r3, 3.2.2
dev-util/ccache:          3.1.6
dev-util/cmake:           2.8.7-r5
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.9.3
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.3.6-r1, 4.4.7, 4.5.3-r2
sys-devel/gcc-config:     1.6
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo local kde-sunset ikelos
Installed sets: @kde-3.5, @kde-4.7, @system
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=k8-sse3 -mtune=amdfam10 -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=k8-sse3 -mtune=amdfam10 -O2 -pipe -fomit-frame-pointer"
DISTDIR="/mnt/portage.autofs/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FEATURES="assume-digests binpkg-logs buildpkg distlocks ebuild-locks fixlafiles news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://mirrors.linuxant.fr/distfiles.gentoo.org/ http://mirror.qubenet.net/mirror/gentoo/ http://mirror.ovh.net/gentoo-distfiles/ http://gentoo.mneisen.org/ http://mirror.bytemark.co.uk/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ http://ftp.heanet.ie/pub/gentoo/ http://mirror.netcologne.de/gentoo/ http://gentoo.tiscali.nl/"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_GB"
MAKEOPTS="-j12 --load-average=15.2"
PKGDIR="/mnt/portage.autofs/packages"
PORTAGE_CONFIGROOT="/"
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="/mnt/portage.autofs/tmp-portage"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /var/lib/layman/kde-sunset /var/lib/layman/ikelos"
SYNC="rsync://blue/gentoo-portage"
USE="3dnow X a52 aac accessibility acl acpi alsa amarok amr authdaemond bash-completion berkdb bluetooth branding bzip2 cairo caps cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dv dvd dvdr dvdread emboss encode exif fam firefox flac fortran gdbm gdu gif gpm gtk iconv ieee1394 ipv6 jpeg kde lcms ldap libnotify lm_sensors lock mad mmx mng modules mp3 mp4 mpeg mudflap mysql ncurses network nls nptl nptlonly ofx ogg opengl openmp oss pam pango pcre pdf png policykit ppds pppd qt3 qt3support qt4 readline samba sasl sdl semantic-desktop session spell sse ssl startup-notification svg sysfs tcpd thunar tiff truetype udev uk_bleb uk_rt unicode usb v4l v4l2 vorbis x264 x86 xcb xine xinerama xml xorg xulrunner xv xvid zlib" 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" 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="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="lvm syslog" DVB_CARDS="usb-dib0700" 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" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" SANE_BACKENDS="hp5590" USERLAND="GNU" VIDEO_CARDS="nvidia" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 2 Norman Back 2012-04-11 09:20:04 UTC
I've looked for ways to enable debug but can't find it in this ebuild
Comment 3 Norman Back 2012-04-11 09:21:50 UTC
gdb /usr/lib/chromium-browser/chrome
GNU gdb (Gentoo 7.3.1 p2) 7.3.1
Copyright (C) 2011 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 "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/lib/chromium-browser/chrome...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/lib/chromium-browser/chrome 

Program received signal SIGSEGV, Segmentation fault.
0xb7fed0ec in ?? () from /lib/ld-linux.so.2
(gdb) bt
#0  0xb7fed0ec in ?? () from /lib/ld-linux.so.2
#1  0xb7fe4f7f in ?? () from /lib/ld-linux.so.2
#2  0xb7ff6240 in ?? () from /lib/ld-linux.so.2
#3  0xb7fe69c0 in ?? () from /lib/ld-linux.so.2
#4  0xb7fe2907 in ?? () from /lib/ld-linux.so.2
Backtrace stopped: Not enough registers or memory available to unwind further
(gdb)
Comment 4 Norman Back 2012-04-11 09:23:48 UTC
Created attachment 308513 [details]
strace /usr/lib/chromium-browser/chrome 2> /tmp/strace-chromium
Comment 5 Norman Back 2012-04-11 09:37:35 UTC
revdep-rebuild -p -i
 * Configuring search environment for revdep-rebuild

 * Checking reverse dependencies
 * Packages containing binaries and libraries broken by a package update
 * will be emerged.

 * Collecting system binaries and libraries
 * Generated new 1_files.rr
 * Collecting complete LD_LIBRARY_PATH
 * Generated new 2_ldpath.rr
 * Checking dynamic linking consistency
[ 100% ]                 

 * Dynamic linking on your system is consistent... All done.
Comment 6 Norman Back 2012-04-11 09:46:31 UTC
Re-emerging chromium has no effect on this issue
Comment 7 Tolga Dalman 2012-04-11 12:08:34 UTC
Is this by chance related to Bug 410777 ? What version of ICU do you have installed ?
Have you tried removing your ~/.cache/chromium/ and ~/.config/chromium/ directories ?
Comment 8 Norman Back 2012-04-11 13:36:59 UTC
(In reply to comment #7)
> Is this by chance related to Bug 410777 ? What version of ICU do you have
> installed ?
> Have you tried removing your ~/.cache/chromium/ and ~/.config/chromium/
> directories ?

dev-libs/icu-4.8.1.1-r1 (I've already experienced bug 410777 and masked icu-49, 
https://bugs.gentoo.org/show_bug.cgi?id=410777#c3)

Yes, I tried rm -r ~/.cache/chromium/* ~/.config/chromium/*

After rm, chromium segfaults before creating anything in these cache & config folders.
Comment 9 Mike Gilbert gentoo-dev 2012-04-11 15:36:41 UTC
A segfault in ld-linux.so is pretty weird.

Here's a guide for getting better backtraces:

http://www.gentoo.org/proj/en/qa/backtraces.xml

ld-linux.so.2 is part of sys-libs/glibc, so you would need to rebuild that.
Comment 10 Norman Back 2012-04-11 16:11:06 UTC
(In reply to comment #9)
> A segfault in ld-linux.so is pretty weird.
> 
> Here's a guide for getting better backtraces:
> 
> http://www.gentoo.org/proj/en/qa/backtraces.xml
> 
> ld-linux.so.2 is part of sys-libs/glibc, so you would need to rebuild that.

OK, I'll give that a try. Maybe I'll try re-emerging sys-libs/glibc first before applying the backtraces options.
Comment 11 Norman Back 2012-04-11 18:05:00 UTC
Re-emerging glibc does not resolve the issue.

Re-emerging chromium with the backtrace options set fails with:
/usr/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/ld: failed to set dynamic section sizes: Memory exhausted

I have 16GB of physical memory!! What now?
Comment 12 Norman Back 2012-04-11 20:54:03 UTC
As I don't seem to ba able to emerge chromium with backtrace enabled I thought it might be helpful just to emerge glibc with bt. This does give some additional information but I don't know what to make of it.

gdb /usr/lib/chromium-browser/chrome                                                                                                 
GNU gdb (Gentoo 7.4 p1) 7.4                                                                                                                              
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 "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/lib/chromium-browser/chrome...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/lib/chromium-browser/chrome 

Program received signal SIGSEGV, Segmentation fault.
elf_dynamic_do_rela (relsize=<optimized out>, reladdr=3037536256, map=<optimized out>, lazy=<optimized out>) at do-rel.h:105
105     do-rel.h: No such file or directory.
(gdb) bt
#0  elf_dynamic_do_rela (relsize=<optimized out>, reladdr=3037536256, map=<optimized out>, lazy=<optimized out>) at do-rel.h:105
#1  _dl_relocate_object (scope=0xb50d21b8, reloc_mode=1, consider_profiling=0) at dl-reloc.c:268
#2  0xb7fe4f7f in dl_main (phdr=0x80000034, phnum=11, user_entry=0xbfffe79c, auxv=0xbfffe95c) at rtld.c:2260
#3  0xb7ff6240 in _dl_sysdep_start (start_argptr=0xbfffe800, dl_main=0xb7fe3ee0 <dl_main>) at ../elf/dl-sysdep.c:244
#4  0xb7fe69c0 in _dl_start_final (arg=0xbfffe800) at rtld.c:336
#5  _dl_start (arg=0xbfffe800) at rtld.c:562
#6  0xb7fe2907 in _start () from /lib/ld-linux.so.2
(gdb)
Comment 13 Mike Gilbert gentoo-dev 2012-04-11 21:10:21 UTC
(In reply to comment #11)
> Re-emerging chromium with the backtrace options set fails with:
> /usr/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/ld:
> failed to set dynamic section sizes: Memory exhausted
> 
> I have 16GB of physical memory!! What now?

I suspect you are running into the 2 GB per-process memory limit there. It is a bit odd for you to be running x86 on a Phenom II by the way. :)

I don't have any thoughts on that backtrace, but maybe someone with some glibc knowledge might. I would like to wait for phajdan.jr to have a look and bring in an expert if he thinks that is appropriate.
Comment 14 Tolga Dalman 2012-04-11 21:16:01 UTC
Looking at your traces, I noticed the following:

------------------------------------------
open("/usr/lib/libnvidia-glcore.so.290.10", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0RAL4\0\0\0"..., 512) = 512
[...]
mmap2(NULL, 31701984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xafa0d000
[...]
mprotect(0xafa0d000, 31223808, PROT_READ|PROT_WRITE) = 0
--- {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x653a6315} (Segmentation fault) ---
------------------------------------------

The segfault occurs while accessing nvidia-glcore.so. Could you try upgrading
your nvidia-drivers (and don't forget to eselect opengl and reboot).
Have you checked other versions of chromium ?
Comment 15 Norman Back 2012-04-11 21:35:40 UTC
I'm running x11-drivers/nvidia-drivers-290.10-r2. Later dirvers are broken, see bug 409247.

I have been running this nvidia-drivers version since Feb 5 and I sure I've had chromium working at times between then and now. I guess it could be kernel related, I'm on sys-kernel/gentoo-sources-3.2.14. I try an older kernel & nvidia-drivers
Comment 16 Norman Back 2012-04-12 05:28:56 UTC
I selected xorg-x11 opengl driver rebooted and chromium started OK.
I reverted to the previous nvidia driver,  x11-drivers/nvidia-drivers-290.10, selected opengl nvidia, rebooted and chromium started OK.
I then installed the original nvidia driver, x11-drivers/nvidia-drivers-290.10-r2, selected opengl nvidia, rebooted and chromium still started OK.

The issue has 'gone away'. Thanks for your help guys. The upside is I've learnt how to get backtraces.
Comment 17 Norman Back 2012-04-12 05:39:14 UTC
(In reply to comment #13)
> (In reply to comment #11)
> > Re-emerging chromium with the backtrace options set fails with:
> > /usr/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/ld:
> > failed to set dynamic section sizes: Memory exhausted
> > 
> > I have 16GB of physical memory!! What now?
> 
> I suspect you are running into the 2 GB per-process memory limit there. It
> is a bit odd for you to be running x86 on a Phenom II by the way. :)
> 
> I don't have any thoughts on that backtrace, but maybe someone with some
> glibc knowledge might. I would like to wait for phajdan.jr to have a look
> and bring in an expert if he thinks that is appropriate.

When I started using gentoo, back in 2004, 64bit seemed a bit flaky. Now converting to from 32 to 64 bit is non-trival.

The issue has now gone away. See previous post.