Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 503084 - >=www-client/chromium-35.0.1862.2 - with Chrome Sync enabled - segmentation fault in google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&) () from /usr/lib64/libprotobuf.so.8
Summary: >=www-client/chromium-35.0.1862.2 - with Chrome Sync enabled - segmentation f...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Chromium Project
URL: https://groups.google.com/a/chromium....
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-01 00:48 UTC by Craig Chasseur
Modified: 2014-03-10 22:33 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 Craig Chasseur 2014-03-01 00:48:55 UTC
Starting www-client/chromium-35.0.1862.2 causes a segfault to crash the program soon after startup. Running under GDB gives the following backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe1bc4700 (LWP 12411)]
0x00007fffef39033b in __dynamic_cast () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/libstdc++.so.6
(gdb) bt
#0  0x00007fffef39033b in __dynamic_cast () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/libstdc++.so.6
#1  0x00007ffff56af40e in google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&) () from /usr/lib64/libprotobuf.so.8
#2  0x0000555558c0a01d in gcm::MCSMessage::CloneProtobuf() const ()
#3  0x0000555558c1ca4f in gcm::MCSClient::SendMessage(gcm::MCSMessage const&) ()
#4  0x0000555558c1de18 in gcm::MCSClient::HandleMCSDataMesssage(scoped_ptr<google::protobuf::MessageLite, base::DefaultDeleter<google::protobuf::MessageLite> >) ()
#5  0x0000555558c1e5a3 in gcm::MCSClient::HandlePacketFromWire(scoped_ptr<google::protobuf::MessageLite, base::DefaultDeleter<google::protobuf::MessageLite> >) ()
#6  0x0000555558c17f1c in base::internal::Invoker<1, base::internal::BindState<base::internal::RunnableAdapter<void (gcm::MCSClient::*)(scoped_ptr<google::protobuf::MessageLite, base::DefaultDeleter<google::protobuf::MessageLite> >)>, void (gcm::MCSClient*, scoped_ptr<google::protobuf::MessageLite, base::DefaultDeleter<google::protobuf::MessageLite> >), void (base::WeakPtr<gcm::MCSClient>)>, void (gcm::MCSClient*, scoped_ptr<google::protobuf::MessageLite, base::DefaultDeleter<google::protobuf::MessageLite> >)>::Run(base::internal::BindStateBase*, scoped_ptr<google::protobuf::MessageLite, base::DefaultDeleter<google::protobuf::MessageLite> >) ()
#7  0x0000555558c0daf0 in gcm::ConnectionHandlerImpl::OnGotMessageBytes() ()
#8  0x0000555558c0e204 in gcm::ConnectionHandlerImpl::WaitForData(gcm::ConnectionHandlerImpl::ProcessingState) ()
#9  0x000055555643a877 in base::internal::Invoker<1, base::internal::BindState<base::Callback<void (int)>, void (int), void (int)>, void (int)>::Run(base::internal::BindStateBase*) ()
#10 0x0000555556661e4d in net::SSLClientSocketNSS::Core::PostOrRunCallback(tracked_objects::Location const&, base::Callback<void ()> const&) ()
#11 0x0000555556527da5 in base::MessageLoop::RunTask(base::PendingTask const&) ()
#12 0x0000555556528861 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask const&) ()
#13 0x000055555652c0a5 in base::MessageLoop::DoWork() ()
#14 0x00005555564fd748 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) ()
#15 0x000055555653eccd in base::RunLoop::Run() ()
#16 0x0000555556526fa5 in base::MessageLoop::Run() ()
#17 0x000055555857d661 in content::BrowserThreadImpl::IOThreadRun(base::MessageLoop*) ()
#18 0x000055555857d6eb in content::BrowserThreadImpl::Run(base::MessageLoop*) ()
#19 0x0000555556551fe7 in base::Thread::ThreadMain() ()
#20 0x000055555654e8fc in base::(anonymous namespace)::ThreadFunc(void*) ()
#21 0x00007ffff53ddd73 in start_thread () from /lib64/libpthread.so.0
#22 0x00007fffeeb6326d in clone () from /lib64/libc.so.6

I did some checking on MCS and GCM and it appears that they are related to cloud messaging. I then tried running chromium with the --disable-sync command line option, which causes chromium to start normally and not crash (although, obviously, sync no longer works).

I also tried moving my ~/.config/chromium directory and restarting Chrome. Chrome started successfully, and I was able to sign into my account. However, when I input my sync password (I use encrypted sync), the segfault reappears immediately after.

As a point of comparison, I also installed www-client/google-chrome-unstable-35.0.1862.2_p1. I can sign in and use sync successfully in google-chrome-unstable with no crash. Note that the version number is the same between chromium and google-chrome-unstable.

Chrome sync was working without a hitch in chromium until today.

Reproducible: Always

Steps to Reproduce:
1. Launch chromium.
2. Sign into Chrome sync.

Actual Results:  
Segmentation fault occurs.

Expected Results:  
Chrome sync works without crashing.

My emerge --info:

Portage 2.2.7 (default/linux/amd64/13.0/desktop/kde, gcc-4.8.2, glibc-2.17, 3.10.25-gentoo x86_64)
=================================================================
System uname: Linux-3.10.25-gentoo-x86_64-Intel-R-_Core-TM-_i5-4670_CPU_@_3.40GHz-with-gentoo-2.2
KiB Mem:    32850544 total,  26526276 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Fri, 28 Feb 2014 23:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.5-r3, 3.3.3
dev-util/cmake:           2.8.11.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.8.2
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo
Installed sets: @chromefonts, @steamdeps, @xfce4
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA Intel-SDP google-chrome google-talkplugin Google-TOS PUEL"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O3 -march=core-avx2 -fomit-frame-pointer -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /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="-O3 -march=core-avx2 -fomit-frame-pointer -pipe"
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 splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O3 -march=core-avx2 -fomit-frame-pointer -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
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=""
USE="S3TC X a52 aac aacplus aacs acl acpi additions adl aes-ni alac alsa amd64 amr amrenc archive asf audio avcodec avformat avx avx2 avx256 berkdb bluetooth bluray bpm branding bzip2 c++0x cairo cdda cddb cdio cdr cdrdao cdrom celt chardet city clang cli cmake consolekit cpufreq cracklib crypt css cups cxx dbus ddate declarative dlna dri drm dts dv dvbpsi dvd dvdnav dvdr dvipdfm ebook ecc ecdsa emboss encode exif faac faad fam fat ffmpeg firefox flac fortran g3dvl gallium gbm gdbm gif git glamor glew gmail go gold google googledrive gpm gpu graphics graphite grub gsm gtalk gtk gtkstyle hvm icedtea7 icons iconv icu id3tag idn infowidget inotify iplayer ipv6 jabber java6 jit jpeg kate kde kdepim kdm kipi kpathsea ladspa lame lastfm latex lcms ldap libass libkms libnotify llvm llvm-shared-libs lm_sensors lto lzma lzo mac mad magic magnetgenerator matroska midi minizip mms mmx mng modplug modules mp3 mp4 mpeg mpg123 mplayer multilib multiprocess nat-pmp ncurses network nls nptl nsplugin ntfs nut nuv ogg ogg123 ogm okular opencl opengl openmp opus pam pango pcre pdf phonon plasma png policykit ppds prison publishers python qrcode qt3support qt4 quicktime r600-llvm-compiler rar readline redeyes rtsp schroedinger science scrypt sdl semantic-desktop session sftp smp sna sound speex spell sse sse2 sse3 sse4 sse4_1 sse4_2 ssl ssse3 startup-notification subtitles subversion svg swscale taglib tcpd theora threads threadsafe tiff toolame transparent-proxy truetype twitter twolame udev udisks unicode upnp upower usb uxa v8 vaapi vcd vcdx vlc vnc vorbis vpx wav webgl webm webp windeco wma wxwidgets x264 xcb xcomposite xinerama xlib-xcb xml xmp xorg xrandr xscreensaver xv xvid xvmc xz youtube zip 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" 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 author" 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 ublox ubx" GRUB_PLATFORMS="efi-64" 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" LINGUAS="en en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="intel fglrx" 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, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 1 Martin Jansa 2014-03-01 15:13:02 UTC
I had the same problem with 34.0.1847.14 and 35.0.1862.2, returning back to 33.0.1750.117 fixed that for me.
Comment 2 Mike Gilbert gentoo-dev 2014-03-01 16:57:26 UTC
I can confirm this.
Comment 3 Mike Gilbert gentoo-dev 2014-03-01 19:06:38 UTC
Using the bundled protobuf library seems to resolve this in chromium-35.0.1862.2.

I am going to perform the same test in chromium-34.0.1847.14, and will commit it if successful.

phajdan.jr: Do you want to switch to bundled protobuf in chromium-35, or do you want to try and debug the issue with system protobuf?
Comment 4 Mike Gilbert gentoo-dev 2014-03-01 20:19:25 UTC
+*chromium-34.0.1847.14-r1 (01 Mar 2014)
+
+  01 Mar 2014; Mike Gilbert <floppym@gentoo.org>
+  +chromium-34.0.1847.14-r1.ebuild, -chromium-34.0.1847.14.ebuild:
+  Switch to bundled protobuf, bug 503084.
Comment 5 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2014-03-03 04:48:41 UTC
(In reply to Mike Gilbert from comment #3)
> phajdan.jr: Do you want to switch to bundled protobuf in chromium-35, or do
> you want to try and debug the issue with system protobuf?

I was thinking about debugging, but I can do that with a modified ebuild. Feel free to change 35. I'll probably either do it myself and/or debug.

Thanks for addressing this quickly, that's obviously good for everyone. :)
Comment 6 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2014-03-05 04:37:53 UTC
  05 Mar 2014; Pawel Hajdan jr
  +chromium-35.0.1870.2.ebuild, +files/chromium-system-jinja-r5.patch:
  Dev channel bump. Use bundled protobuf, bug #503084 by Craig Chasseur, also
  tested by Martin Jansa.

Thanks for reporting this.