Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Aug 2015 13:22:23 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        gecko@freebsd.org
Subject:   firefox 40 crashes
Message-ID:  <20150808102223.GZ2072@kib.kiev.ua>

next in thread | raw e-mail | index | archive | help
Hi,
I rushed to upgrade the firefox port due to reported pdf issues, and
I get a source of serious troubles.  All this happens on the up to date
stable/10 amd64 machine, all ports are from HEAD and also up to date.

Updated firefox crashes randomly, usually in several minutes after the
startup. I ensured that there is no ABI-incompatible libraries linked
or loaded by the binary (e.g. libc++ and libstdc++, lib/compat/pkg-
originated libs etc). The dumped core' backtrace shows that there was
something wrong in libxul.so, so I enabled debugging in the ports
options and recompiled the firefox.

Now, the browser does not even starts.  The following is printed on
the startup:

(process:85085): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
[85085] WARNING: Last startup was detected as a crash.: file /usr/home/portworkdir/usr/bsd/ports/www/firefox/work/mozilla-release/toolkit/components/startup/nsAppStartup.cpp, line 896
++DOCSHELL 0x820266b00 == 1 [pid = 85085] [id = 1]
++DOMWINDOW == 1 (0x8202bcc00) [pid = 85085] [serial = 1] [outer = 0x0]
[85085] WARNING: Enabling vsync refresh driver: file /usr/home/portworkdir/usr/bsd/ports/www/firefox/work/mozilla-release/layout/base/nsRefreshDriver.cpp, line 862
[85085] WARNING: Hardware Vsync support not yet implemented. Falling back to software timers: file /usr/home/portworkdir/usr/bsd/ports/www/firefox/work/mozilla-release/gfx/thebes/gfxPlatform.cpp, line 2343
++DOMWINDOW == 2 (0x8202a4800) [pid = 85085] [serial = 2] [outer = 0x8202bcc00]
++DOCSHELL 0x820eca400 == 2 [pid = 85085] [id = 2]
++DOMWINDOW == 3 (0x81df5d400) [pid = 85085] [serial = 3] [outer = 0x0]
++DOMWINDOW == 4 (0x81fdfb400) [pid = 85085] [serial = 4] [outer = 0x81df5d400]
Assertion failure: leafname.Length() > 4, at /usr/home/portworkdir/usr/bsd/ports/www/firefox/work/mozilla-release/dom/media/gmp/GMPParent.cpp:109
#01: JS::CompileOptions::setElementAttributeName(JSString*)[/usr/sfw/local8/lib/firefox/libxul.so +0x3c0af17]
#02: JS::CompileOptions::setElementAttributeName(JSString*)[/usr/sfw/local8/lib/firefox/libxul.so +0x3c16df7]
#03: JS::CompileOptions::setElementAttributeName(JSString*)[/usr/sfw/local8/lib/firefox/libxul.so +0x3c1702e]
#04: XRE_AddJarManifestLocation[/usr/sfw/local8/lib/firefox/libxul.so +0xb29dd5]
#05: JS::GCCellPtr::GCCellPtr(JSString*)[/usr/sfw/local8/lib/firefox/libxul.so +0xb7c567]
#06: _ZNSt3__13mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES6_NS_4lessIS6_EENS4_INS_4pairIKS6_S6_EEEEE25__construct_node_with_keyEOS6_[/usr/sfw/local8/lib/firefox/libxul.so +0x11a7cc1]
#07: std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>, std::__1::__map_value_compare<std::__1::[/usr/sfw/local8/lib/firefox/libxul.so +0x10db855]
#08: std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>, std::__1::__map_value_compare<std::__1::[/usr/sfw/local8/lib/firefox/libxul.so +0x10db785]
#09: std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>, std::__1::__map_value_compare<std::__1::[/usr/sfw/local8/lib/firefox/libxul.so +0x10db75d]
#10: XRE_AddJarManifestLocation[/usr/sfw/local8/lib/firefox/libxul.so +0xb28466]
#11: PR_GetThreadName[/usr/local/lib/libplds4.so.1 +0x1a7f9]
#12: operator->[/lib/libthr.so.3 +0x87c5]
#13: ??? (???:???)
[1]    85085 segmentation fault (core dumped)  firefox

The backtrace from the gdb:
(gdb) bt
#0  0x000000080113dd2a in thr_kill () from /lib/libc.so.7
#1  0x000000080113dc96 in raise () from /lib/libc.so.7
#2  0x00000008072d014a in nsProfileLock::FatalSignalHandler (signo=11,
    info=0x7fffde7c7770, context=0x7fffde7c7400) at nsProfileLock.cpp:181
#3  0x000000080742f4cf in AsmJSFaultHandler (signum=11, info=0x7fffde7c7770,
    context=0x7fffde7c7400) at AsmJSSignalHandlers.cpp:1135
#4  0x0000000800de2997 in pthread_sigmask () from /lib/libthr.so.3
#5  0x0000000800de21a8 in pthread_getspecific () from /lib/libthr.so.3
#6  <signal handler called>
#7  mozilla::gmp::GMPParent::Init (this=0x821059c00, aService=0x81f9cfa00,
    aPluginDir=0x801c3d800) at GMPParent.cpp:109
#8  0x0000000805a16df7 in mozilla::gmp::GeckoMediaPluginServiceParent::AddOnGMPThread (this=0x81f9cfa00, aDirectory=@0x81f9d09a0) at GMPServiceParent.cpp:853
#9  0x0000000805a1702e in mozilla::gmp::GeckoMediaPluginServiceParent::PathRunnable::Run (this=0x81f9d0980) at GMPServiceParent.cpp:575
#10 0x0000000802929dd5 in nsThread::ProcessNextEvent (this=0x81f9cfb00,
    aMayWait=true, aResult=0x7fffde7c7d2e) at nsThread.cpp:866
#11 0x000000080297c567 in NS_ProcessNextEvent (aThread=0x81f9cfb00,
    aMayWait=true) at nsThreadUtils.cpp:265
#12 0x0000000802fa7cc1 in mozilla::ipc::MessagePumpForNonMainThreads::Run (
    this=0x81f9d09c0, aDelegate=0x81fdbccc0) at MessagePump.cpp:355
#13 0x0000000802edb855 in MessageLoop::RunInternal (this=0x81fdbccc0)
    at message_loop.cc:233
#14 0x0000000802edb785 in MessageLoop::RunHandler (this=0x81fdbccc0)
    at message_loop.cc:226
#15 0x0000000802edb75d in MessageLoop::Run (this=0x81fdbccc0)
    at message_loop.cc:200
#16 0x0000000802928466 in nsThread::ThreadFunc (aArg=0x81f9cfb00)
    at nsThread.cpp:362
#17 0x000000080cb3a7f9 in _pt_root () from /usr/local/lib/libplds4.so.1
#18 0x0000000800ddd7c5 in pthread_create () from /lib/libthr.so.3
#19 0x0000000000000000 in ?? ()
Frames 0-6 are from the ff signal interceptor.

The list of the libraries from the core (usr/sfw/local8 is the physical mount
point for a location linked to by usr/local). I provide this since often
the reason for firefox problems are badly updated or inconsistend depended
ports, which is not the case there, seemingly:

(gdb) info sharedlibrary
>From                To                  Syms Read   Shared Object Library
0x000000080070d840  0x0000000800766ad8  Yes (*)     /usr/lib/libc++.so.1
0x0000000800997f20  0x00000008009a4068  Yes (*)     /lib/libcxxrt.so.1
0x0000000800bb0d20  0x0000000800bc9038  Yes (*)     /lib/libm.so.5
0x0000000800ddc790  0x0000000800de91b8  Yes (*)     /lib/libthr.so.3
0x0000000801033e00  0x0000000801140738  Yes (*)     /lib/libc.so.7
0x00000008013a7150  0x00000008013b08e8  Yes (*)     /lib/libgcc_s.so.1
0x00000008027a8cd0  0x0000000808489248  Yes         /usr/sfw/local8/lib/firefox/libxul.so
0x000000080a343560  0x000000080a347ee8  Yes (*)     /usr/local/lib/libffi.so.6
0x000000080a6d9450  0x000000080a8284c8  Yes (*)     /usr/local/lib/libicui18n.so.55
0x000000080ab041d0  0x000000080abc6288  Yes (*)     /usr/local/lib/libicuuc.so.55
0x000000080b05d200  0x000000080b05d2c8  Yes (*)     /usr/local/lib/libicudata.so.55
0x000000080cb2c710  0x000000080cb49048  Yes (*)     /usr/local/lib/libplds4.so.1
0x000000080cd62990  0x000000080cd7f7a8  Yes (*)     /usr/local/lib/libplc4.so.1
0x000000080cf99900  0x000000080cfb9878  Yes (*)     /usr/local/lib/libnspr4.so.1
0x000000080d1ca370  0x000000080d1d7b18  Yes (*)     /lib/libz.so.6
0x000000080d3e9f00  0x000000080d418028  Yes (*)     /usr/local/lib/nss/libssl3.so.1
0x000000080d631d10  0x000000080d648e08  Yes (*)     /usr/local/lib/nss/libsmime3.so.1
0x000000080d86b2d0  0x000000080d96fcf8  Yes (*)     /usr/local/lib/nss/libnss3.so.1
0x000000080dbb0a90  0x000000080dbbfea8  Yes (*)     /usr/local/lib/nss/libnssutil3.so.1
0x000000080ddd98f0  0x000000080deb0bc8  Yes (*)     /usr/local/lib/libsqlite3.so.0
0x000000080e0d6e00  0x000000080e143308  Yes (*)     /usr/local/lib/libfreetype.so.6
0x000000080e36d5f0  0x000000080e38ff98  Yes (*)     /usr/local/lib/libfontconfig.so.1
0x000000080e5ab720  0x000000080e5b3bf8  Yes (*)     /lib/libutil.so.9
0x000000080e7ca850  0x000000080e88aa98  Yes (*)     /usr/local/lib/libcairo.so.2
0x000000080eabc9b0  0x000000080eac68c8  Yes (*)     /usr/local/lib/libXext.so.6
0x000000080eccbbf0  0x000000080ecd1278  Yes (*)     /usr/local/lib/libXrender.so.1
0x000000080eef2bb0  0x000000080ef7bf48  Yes (*)     /usr/local/lib/libX11.so.6
0x000000080f20de60  0x000000080f2131a8  Yes (*)     /usr/local/lib/libv4l2.so.0
0x000000080f419ae0  0x000000080f41a3f8  Yes (*)     /usr/local/lib/libXdamage.so.1
0x000000080f61c5d0  0x000000080f61e848  Yes (*)     /usr/local/lib/libXfixes.so.3
0x000000080f820b80  0x000000080f821528  Yes (*)     /usr/local/lib/libXcomposite.so.1
0x000000080fa26b20  0x000000080fa55ac8  Yes (*)     /usr/local/lib/libjpeg.so.8
0x000000080fc62dc0  0x000000080fc895c8  Yes (*)     /usr/local/lib/libpng16.so.16
0x000000080fe9c820  0x000000080febec08  Yes (*)     /usr/local/lib/libhunspell-1.3.so.0
0x00000008100e6760  0x00000008100e8ee8  Yes (*)     /usr/local/lib/libogg.so.0
0x00000008102eeb30  0x00000008103076b8  Yes (*)     /usr/local/lib/libvorbis.so.0
0x000000081052b9d0  0x000000081052e9a8  Yes (*)     /usr/local/lib/libvorbisenc.so.2
0x00000008107c1530  0x00000008107c74d8  Yes (*)     /usr/local/lib/libSoundTouch.so.0
0x00000008109d81f0  0x0000000810a004c8  Yes (*)     /usr/local/lib/libevent-2.0.so.5
0x0000000810c15570  0x0000000810d7c228  Yes (*)     /usr/local/lib/libvpx.so.2
0x0000000810fb9350  0x0000000811041548  Yes (*)     /usr/local/lib/libpixman-1.so.0
0x0000000811260360  0x0000000811274e38  Yes (*)     /usr/local/lib/libgraphite2.so.3
0x0000000811484870  0x00000008114b8a88  Yes (*)     /usr/local/lib/libharfbuzz.so.0
0x00000008116dba10  0x00000008116ef2b8  Yes (*)     /usr/local/lib/libdbus-glib-1.so.2
0x000000081190dcf0  0x0000000811938cb8  Yes (*)     /usr/local/lib/libdbus-1.so.3
0x0000000811b575b0  0x0000000811b80408  Yes (*)     /usr/local/lib/libgobject-2.0.so.0
0x0000000811db08c0  0x0000000811e2aec8  Yes (*)     /usr/local/lib/libglib-2.0.so.0
0x000000081209c250  0x00000008120a26b8  Yes (*)     /usr/local/lib/libintl.so.8
0x00000008124865c0  0x00000008126ffcc8  Yes (*)     /usr/local/lib/libgtk-x11-2.0.so.0
0x0000000812a40a40  0x0000000812a521d8  Yes (*)     /usr/local/lib/libatk-1.0.so.0
0x0000000812c98120  0x0000000812d6a368  Yes (*)     /usr/local/lib/libgio-2.0.so.0
0x0000000812fce3b0  0x0000000812fd5bb8  Yes (*)     /usr/local/lib/libpangoft2-1.0.so.0
0x00000008131fb1a0  0x00000008132561e8  Yes (*)     /usr/local/lib/libgdk-x11-2.0.so.0
0x0000000813490ef0  0x00000008134960f8  Yes (*)     /usr/local/lib/libpangocairo-1.0.so.0
0x00000008136a9060  0x00000008136cd5d8  Yes (*)     /usr/local/lib/libpango-1.0.so.0
0x00000008138f1670  0x0000000813902de8  Yes (*)     /usr/local/lib/libgdk_pixbuf-2.0.so.0
0x0000000813b0d390  0x0000000813b10458  Yes (*)     /usr/local/lib/libstartup-notification-1.so.0
0x0000000813d26d80  0x0000000813d62198  Yes (*)     /usr/local/lib/libXt.so.6
0x0000000813f75570  0x0000000813f75748  Yes (*)     /usr/local/lib/libgthread-2.0.so.0
0x000000081417ce00  0x000000081418fe68  Yes (*)     /usr/local/lib/libproxy.so.1
0x0000000814397730  0x00000008143a58d8  Yes (*)     /usr/lib/libbz2.so.4
0x00000008145abf50  0x00000008145c83f8  Yes (*)     /usr/local/lib/libexpat.so.1
0x00000008147cecb0  0x00000008147cf438  Yes (*)     /usr/local/lib/libxcb-shm.so.0
0x00000008149d3730  0x00000008149d61f8  Yes (*)     /usr/local/lib/libxcb-render.so.0
0x0000000814be3990  0x0000000814bef568  Yes (*)     /usr/local/lib/libxcb.so.1
0x0000000814dfb160  0x0000000814dfeb48  Yes (*)     /usr/lib/librpcsvc.so.5
0x00000008150044b0  0x000000081501b688  Yes (*)     /usr/local/lib/libv4lconvert.so.0
0x000000081527acb0  0x0000000815292508  Yes (*)     /usr/local/lib/libiconv.so.2
0x00000008155737c0  0x00000008155d0bc8  Yes (*)     /usr/local/lib/libpcre.so.1
0x00000008157e79b0  0x00000008157e8398  Yes (*)     /usr/local/lib/libXinerama.so.1
0x00000008159eb3f0  0x00000008159f4e98  Yes (*)     /usr/local/lib/libXi.so.6
0x0000000815bf8c30  0x0000000815bfde38  Yes (*)     /usr/local/lib/libXrandr.so.2
0x0000000815e01be0  0x0000000815e07588  Yes (*)     /usr/local/lib/libXcursor.so.1
0x000000081600a120  0x000000081600aee8  Yes (*)     /usr/local/lib/libgmodule-2.0.so.0
0x000000081620e4a0  0x000000081620eff8  Yes (*)     /usr/local/lib/libxcb-util.so.1
0x0000000816411490  0x0000000816411578  Yes (*)     /usr/local/lib/libX11-xcb.so.1
0x0000000816613ec0  0x0000000816617b78  Yes (*)     /usr/local/lib/libSM.so.6
0x000000081681e510  0x000000081682b5a8  Yes (*)     /usr/local/lib/libICE.so.6
0x0000000816a353b0  0x0000000816a3a6e8  Yes (*)     /usr/local/lib/libmodman.so.1
0x0000000816c3ce40  0x0000000816c3d9f8  Yes (*)     /usr/local/lib/libXau.so.6
0x0000000816e3e3c0  0x0000000816e3e488  Yes (*)     /usr/local/lib/libpthread-stubs.so.0
0x0000000817040220  0x0000000817041e18  Yes (*)     /usr/local/lib/libXdmcp.so.6
0x0000000817246cc0  0x0000000817248268  Yes (*)     /usr/lib/librt.so.1
0x000000081744a8b0  0x000000081744b4d8  Yes (*)     /usr/lib/i18n/libiconv_std.so.4
0x000000081764c710  0x000000081764d0a8  Yes (*)     /usr/lib/i18n/libUTF1632.so.4
0x000000081784ea10  0x000000081784eeb8  Yes (*)     /usr/lib/i18n/libmapper_parallel.so.4
0x0000000817a509f0  0x0000000817a51158  Yes (*)     /usr/lib/i18n/libmapper_std.so.4
0x0000000817c762d0  0x0000000817cc07e8  Yes (*)     /usr/local/lib/libgnomeui-2.so.0
0x0000000817f2a5e0  0x0000000818042168  Yes (*)     /usr/local/lib/libxml2.so.2
0x00000008182a2cd0  0x00000008182dbfb8  Yes (*)     /usr/local/lib/libbonoboui-2.so.0
0x0000000818501df0  0x0000000818521428  Yes (*)     /usr/local/lib/libgnomecanvas-2.so.0
0x000000081872e170  0x0000000818740468  Yes (*)     /usr/local/lib/libart_lgpl_2.so.2
0x000000081894ab30  0x00000008189551a8  Yes (*)     /usr/local/lib/libgnome-2.so.0
0x0000000818b83f60  0x0000000818bb0c38  Yes (*)     /usr/local/lib/libbonobo-2.so.0
0x0000000818ddc870  0x0000000818de4d38  Yes (*)     /usr/local/lib/libbonobo-activation.so.4
0x0000000819016130  0x000000081903a928  Yes (*)     /usr/local/lib/libORBit-2.so.0
0x0000000819274a00  0x00000008192a8cb8  Yes (*)     /usr/local/lib/libgnomevfs-2.so.0
0x00000008194d1e90  0x00000008194eec18  Yes (*)     /usr/local/lib/libgconf-2.so.4
0x0000000819707b20  0x0000000819719ae8  Yes (*)     /usr/local/lib/libgnome-keyring.so.0
0x0000000819925950  0x000000081992cce8  Yes (*)     /usr/local/lib/libpopt.so.0
0x0000000819b33750  0x0000000819b4a068  Yes (*)     /usr/lib/liblzma.so.5
0x0000000819d56c10  0x0000000819d5a4c8  Yes (*)     /usr/local/lib/libgailutil.so.18
0x0000000819f5e040  0x0000000819f65f08  Yes (*)     /usr/local/lib/libcanberra.so.0
0x000000081a16d310  0x000000081a16dcd8  Yes (*)     /usr/local/lib/libORBitCosNaming-2.so.0
0x000000081a38b250  0x000000081a3c56a8  Yes (*)     /usr/lib/libssl.so.7
0x000000081a65b400  0x000000081a74e658  Yes (*)     /lib/libcrypto.so.7
0x000000081a9db900  0x000000081aa78888  Yes (*)     /usr/local/lib/libgcrypt.so.20
0x000000081acabb70  0x000000081acb4228  Yes (*)     /usr/local/lib/libgpg-error.so.0
0x000000081aebc1d0  0x000000081aec0bc8  Yes (*)     /usr/local/lib/libvorbisfile.so.6
0x000000081b0c4770  0x000000081b0c8b68  Yes (*)     /usr/local/lib/libltdl.so.7
0x00000008005a1870  0x00000008005cb9b8  Yes         /usr/sfw/local8/lib/firefox/components/libdbusservice.so
0x00000008005ea6f0  0x0000000800617078  Yes         /usr/sfw/local8/lib/firefox/components/libmozgnome.so
0x0000000800630bd0  0x00000008006677a8  Yes         /usr/sfw/local8/lib/firefox/browser/components/libbrowsercomps.so
0x000000081db017d0  0x000000081db02178  Yes (*)     /usr/local/lib/pango/1.8.0/modules/pango-basic-fc.so
0x000000081e704d20  0x000000081e7369c8  Yes (*)     /usr/local/lib/nss/libsoftokn3.so.1
0x000000081e9470c0  0x000000081e960b78  Yes (*)     /usr/local/lib/nss/libnssdbm3.so.1
0x000000081eb6b640  0x000000081ebd4968  Yes (*)     /usr/local/lib/nss/libfreebl3.so.1
0x000000081ef239d0  0x000000081ef325e8  Yes (*)     /usr/local/lib/nss/libnssckbi.so
0x0000000820301f90  0x0000000820303a88  Yes (*)     /usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so
0x00000008004b4420  0x00000008004c9489  Yes (*)     /libexec/ld-elf.so.1
(*): Shared library is missing debugging information.

Ports option (I had to enable logging since otherwise port did not built):

# This file is auto-generated by 'make config'.
# Options for firefox-40.0,1
_OPTIONS_READ=firefox-40.0,1
_FILE_COMPLETE_OPTIONS_LIST=CANBERRA DBUS DEBUG DTRACE GCONF GIO GNOMEUI GSTREAMER LIBPROXY LOGGING OPTIMIZED_CFLAGS PGO PROFILE TEST GTK2 GTK3 ALSA PULSEAUDIO
OPTIONS_FILE_UNSET+=CANBERRA
OPTIONS_FILE_SET+=DBUS
OPTIONS_FILE_SET+=DEBUG
OPTIONS_FILE_UNSET+=DTRACE
OPTIONS_FILE_UNSET+=GCONF
OPTIONS_FILE_UNSET+=GIO
OPTIONS_FILE_UNSET+=GNOMEUI
OPTIONS_FILE_UNSET+=GSTREAMER
OPTIONS_FILE_SET+=LIBPROXY
OPTIONS_FILE_SET+=LOGGING
OPTIONS_FILE_UNSET+=OPTIMIZED_CFLAGS
OPTIONS_FILE_UNSET+=PGO
OPTIONS_FILE_UNSET+=PROFILE
OPTIONS_FILE_UNSET+=TEST
OPTIONS_FILE_SET+=GTK2
OPTIONS_FILE_UNSET+=GTK3
OPTIONS_FILE_UNSET+=ALSA
OPTIONS_FILE_SET+=PULSEAUDIO

I am not sure whether the startup problem is related to the random
SIGSEGV during the firefox operation. But getting the core from the
running browser requires me disabling the debugging ports option,
otherwise the browser would not start.

So, any advise ?  How could I help debug the issue(s) ?




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150808102223.GZ2072>