Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 462618 - dev-lang/v8-3.16.14.9 breaks ABI causing symbol lookup error in chromium built against 3.16.14.2
Summary: dev-lang/v8-3.16.14.9 breaks ABI causing symbol lookup error in chromium buil...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-21 18:52 UTC by PM
Modified: 2013-03-27 23:05 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description PM 2013-03-21 18:52:00 UTC
$ chromium
chromium-browser: symbol lookup error: chromium-browser: undefined symbol: _ZN2v82V818AddMessageListenerEPFvNS_6HandleINS_7MessageEEENS1_INS_5ValueEEEE

Downgrading v8 to 3.16.14.2 fixes it. Rebuilding chromium against the new version probably fixes it as well, but I don't have the time to verify that now.



Reproducible: Always




Portage 2.2.0_alpha168 (default/linux/amd64/13.0/desktop, gcc-4.7.2, glibc-2.16.0, 3.8.1-pf x86_64)
=================================================================
System uname: Linux-3.8.1-pf-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9450_@_2.66GHz-with-gentoo-2.2
KiB Mem:     4044408 total,   1337544 free
KiB Swap:    4095996 total,   3472252 free
Timestamp of tree: Thu, 21 Mar 2013 18:30:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
distcc 3.1 x86_64-pc-linux-gnu [disabled]
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-r2::kde
dev-util/pkgconfig:       0.28                                                                                                                              
sys-apps/baselayout:      2.2                                                                                                                               
sys-apps/openrc:          0.11.8                                                                                                                            
sys-apps/sandbox:         2.6                                                                                                                               
sys-devel/autoconf:       2.13, 2.69                                                                                                                        
sys-devel/automake:       1.4_p6-r1, 1.9.6-r3, 1.11.6, 1.13.1                                                                                               
sys-devel/binutils:       2.23.1                                                                                                                            
sys-devel/gcc:            4.6.3, 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.16.0
Repositories: gentoo multimedia sunrise steam-overlay kde roslin dupa
Installed sets: @system
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/polkit-1/actions /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=native -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going --quiet-build=n"
FCFLAGS="-O2 -march=native -pipe -ggdb"
FEATURES="assume-digests binpkg-logs compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles installsources merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -march=native -pipe -ggdb"
GENTOO_MIRRORS="http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/"
LANG="pl_PL.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/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="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/multimedia /usr/local/portage/layman/sunrise /usr/local/portage/layman/steam /usr/local/portage/layman/kde /usr/local/portage/layman/roslin /usr/local/portage/moje"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac aalib acl acpi alsa amd64 amr amrnb amrwb apng async audiofile automount avahi avresample bash-completion berkdb bfq bineditor bluetooth bluray branding bzip2 c++0x cairo cdda cddb cdparanoia cdr chdir clang cli consolekit cracklib crypt css cuda cups curl cxx dbus dirac disk-partition divx djvu dri dts dvd dvdr ebook editor emboss emovix enca encode exchange exif faac faad fam fat ffmpeg fftw firefox firefox3 flac fontconfig fortran g3dvl gd gdbm geoip gif glitz gmedia gnuplot gphoto2 gpm gtk hddtemp iconv id3 id3tag imagemagick inotify iostats ipod jpeg kde kde4 kdehiddenvisibility kipi kompare kpathsea kqemu ladspa lame laptop lastfm latex lcms libass libcaca libnotify libsamplerate lm_sensors lzma lzo mad matroska midi mjpeg mmap mmx mmxext mng modules moodbar mp3 mp3tunes mp4 mpeg mplayer mtp mudflap multilib musicbrainz ncurses networkmanager nls nptl nsplugin ntfs nvidia ogg okteta openal opencl opencore-amr opengl openmp optimized-qmake pam pango pch pcre pdf plasma png policykit portage ppds private-headers pulseaudio qt3 qt3support qt4 qthelp raster readline realmedia roe scanner schroedinger sdl secure-delete semantic-desktop sensord session shaders slang sndfile solver soundtouch sourceview sparse spell sse sse2 sse3 sse4 sse41 sse4_1 sse4a ssl ssse3 startup-notification suid svg swat symlink syslog tcpd theora threads tiff truetype udev udisks unicode upnp upower usb vaapi vamp vcd vdpau vorbis wifi wmf wmp wxwidgets wxwindows x264 xcb xcomposite xml xscreensaver xv xvid xvmc zlib" ABI_X86="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="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif 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" 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" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="pl" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="x86_64 i386" QEMU_USER_TARGETS="x86_64 i386" RUBY_TARGETS="ruby18 ruby19" 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 1 Pavel Volkov 2013-03-21 22:00:35 UTC
I confirm that rebuilding Chromium helps.
Comment 2 Ben Kohler gentoo-dev 2013-03-22 16:07:05 UTC
Most people aren't hitting this because of fortuitous timing on a chromium upgrade.  But if, for any reason, you upgrade v8 from 3.16.14.2 to 3.16.14.9 without immediately rebuilding/upgrading chromium, you'll hit this bug.  

Bumping the subslot for .9 or making the subslots just match the full $PV should take care of this.
Comment 3 Mike Gilbert gentoo-dev 2013-03-22 16:25:20 UTC
Looks like the symbol change happened in v8-3.16.14.4[1]. I'm going to use that as the soname and subslot.

I'll also have to start checking this more carefully I guess.

[1] http://upstream-tracker.org/versions/v8.html
Comment 4 Mike Gilbert gentoo-dev 2013-03-22 16:28:14 UTC
+*v8-3.16.14.9-r1 (22 Mar 2013)
+
+  22 Mar 2013; Mike Gilbert <floppym@gentoo.org> +v8-3.16.14.9-r1.ebuild:
+  Update soname to 3.16.14.4 due to abi break. Bug 462618 by Piotr Mitas.
+
Comment 5 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2013-03-22 16:54:56 UTC
(In reply to comment #3)
> Looks like the symbol change happened in v8-3.16.14.4[1]. I'm going to use
> that as the soname and subslot.
> 
> I'll also have to start checking this more carefully I guess.
> 
> [1] http://upstream-tracker.org/versions/v8.html

Looks like there was another ABI break between 3.15.11.16 and 3.15.11.17 (whether it affected Gentoo or not).

Upstream is clearly becoming more crazy - let's make the subslot all parts of the version number.
Comment 6 Mike Gilbert gentoo-dev 2013-03-22 16:59:29 UTC
+  22 Mar 2013; Mike Gilbert <floppym@gentoo.org> v8-3.16.14.9-r1.ebuild:
+  Just set soname to ${PV} instead. Bug 462618.

Should probably wait for a version bump to do the other branches.
Comment 7 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2013-03-27 22:52:45 UTC
  27 Mar 2013; Pawel Hajdan jr -v8-3.17.6.ebuild,
  +v8-3.17.15.3.ebuild:
  Dev channel bump. Set SONAME to PV (bug #462618 by Piotr Mitas). Remove old.