Comment 15 for bug 1563184

Revision history for this message
Will Glynn (willglynn) wrote :

I encountered this on a Raspberry Pi 2 running a minimal Ubuntu 16.04. The initial install was based on ubuntu-16.04-preinstalled-server-armhf+raspi2.img.xz from https://wiki.ubuntu.com/ARM/RaspberryPi.

Starting chromium-browser 50.0.2661.102-0ubuntu0.16.04.1 (armhf) with no args, I get:

    $ chromium-browser

    (chromium-browser:9976): GLib-GIO-CRITICAL **: g_settings_schema_source_lookup: assertion 'source != NULL' failed
    [10031:10031:0526/000302:ERROR:sandbox_linux.cc(334)] InitializeSandbox() called with multiple threads in process gpu-process

    (chromium-browser:9976): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
    /usr/bin/dbus-launch terminated abnormally without any error message
    chro: pthread_getattr_np.c:71: pthread_getattr_np: Assertion `abs (thread->pid) == thread->tid' failed.
    Received signal 4 <unknown> 0000721733e6
    #0 0x000076d9fe1a base::debug::StackTrace::StackTrace()
    #1 0x000076da0104 <unknown>
    #2 0x000072173260 <unknown>
    #3 0x0000721733e6 abort
    [end of stack trace]
    Segmentation fault

If I allow it to dump core, I get a backtrace:

    $ ulimit -c unlimited
    $ chromium-browser

    (chromium-browser:13589): GLib-GIO-CRITICAL **: g_settings_schema_source_lookup: assertion 'source != NULL' failed

    (chromium-browser:13589): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
    /usr/bin/dbus-launch terminated abnormally without any error message
    chro: pthread_getattr_np.c:71: pthread_getattr_np: Assertion `abs (thread->pid) == thread->tid' failed.
    Received signal 4 <unknown> 0000721bc3e6
    #0 0x000076de8e1a base::debug::StackTrace::StackTrace()
    #1 0x000076de9104 <unknown>
    #2 0x0000721bc260 <unknown>
    #3 0x0000721bc3e6 abort
    [end of stack trace]
    [13645:13645:0526/002513:ERROR:sandbox_linux.cc(334)] InitializeSandbox() called with multiple threads in process gpu-process
    Segmentation fault (core dumped)

    $ gdb /usr/lib/chromium-browser/chromium-browser core
    GNU gdb (Ubuntu 7.11-0ubuntu1) 7.11
    …
    Core was generated by `chromium-browser --enable-pinch '.
    Program terminated with signal SIGSEGV, Segmentation fault.
    #0 0x72426bc6 in ?? () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
    [Current thread is 1 (Thread 0x673c8230 (LWP 13616))]
    (gdb) bt
    #0 0x72426bc6 in ?? () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
    #1 0x5509389c in std::_Rb_tree_iterator<std::pair<unsigned long long const, int> > std::_Rb_tree<unsigned long long, std::pair<unsigned long long const, int>, std::_Select1st<std::pair<unsigned long long const, int> >, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, int> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<unsigned long long const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<unsigned long long const, int> >, std::piecewise_construct_t const&, std::tuple<unsigned long long const&>&&, std::tuple<>&&) ()
    #2 0x553ea784 in ?? ()
    #3 0x553eec6c in ?? ()
    #4 0x54f04afa in ?? ()
    #5 0x741be894 in net::URLRequestHttpJob::StartTransactionInternal() () from /usr/lib/chromium-browser/libs/libnet.so
    #6 0x741beb88 in net::URLRequestHttpJob::MaybeStartTransactionInternal(int) () from /usr/lib/chromium-browser/libs/libnet.so
    #7 0x741bec00 in net::URLRequestHttpJob::StartTransaction() () from /usr/lib/chromium-browser/libs/libnet.so
    #8 0x741bec7c in net::URLRequestHttpJob::AddCookieHeaderAndStart() () from /usr/lib/chromium-browser/libs/libnet.so
    #9 0x741bf228 in net::URLRequestHttpJob::Start() () from /usr/lib/chromium-browser/libs/libnet.so
    #10 0x741b6a5c in net::URLRequest::StartJob(net::URLRequestJob*) () from /usr/lib/chromium-browser/libs/libnet.so
    #11 0x741b7234 in net::URLRequest::BeforeRequestComplete(int) () from /usr/lib/chromium-browser/libs/libnet.so
    #12 0x741b7384 in net::URLRequest::Start() () from /usr/lib/chromium-browser/libs/libnet.so
    #13 0x741b4a76 in ?? () from /usr/lib/chromium-browser/libs/libnet.so
    #14 0x741b4d9c in ?? () from /usr/lib/chromium-browser/libs/libnet.so
    #15 0x741b5b94 in net::URLFetcherFileWriter::DidOpenFile(base::Callback<void (int)> const&, int) () from /usr/lib/chromium-browser/libs/libnet.so
    #16 0x741b5988 in ?? () from /usr/lib/chromium-browser/libs/libnet.so
    #17 0x7409bd7e in ?? () from /usr/lib/chromium-browser/libs/libnet.so
    #18 0x7409c3fa in net::FileStream::Context::OnAsyncCompleted(base::Callback<void (long long)> const&, net::FileStream::Context::IOResult const&) () from /usr/lib/chromium-browser/libs/libnet.so
    #19 0x7409c4a2 in net::FileStream::Context::OnOpenCompleted(base::Callback<void (int)> const&, net::FileStream::Context::OpenResult) () from /usr/lib/chromium-browser/libs/libnet.so
    #20 0x7409c236 in ?? () from /usr/lib/chromium-browser/libs/libnet.so
    #21 0x7409c1c0 in ?? () from /usr/lib/chromium-browser/libs/libnet.so
    #22 0x76e8494c in ?? () from /usr/lib/chromium-browser/libs/libbase.so
    #23 0x76e49e58 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask const&) () from /usr/lib/chromium-browser/libs/libbase.so
    #24 0x76e5fbba in base::MessageLoop::RunTask(base::PendingTask const&) () from /usr/lib/chromium-browser/libs/libbase.so
    #25 0x76e60090 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask const&) () from /usr/lib/chromium-browser/libs/libbase.so
    #26 0x76e6023c in base::MessageLoop::DoWork() () from /usr/lib/chromium-browser/libs/libbase.so
    #27 0x76e3f524 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) () from /usr/lib/chromium-browser/libs/libbase.so
    #28 0x76e71e68 in base::RunLoop::Run() () from /usr/lib/chromium-browser/libs/libbase.so
    #29 0x76e5f3d4 in base::MessageLoop::Run() () from /usr/lib/chromium-browser/libs/libbase.so
    #30 0x7528aa5c in content::BrowserThreadImpl::IOThreadRun(base::MessageLoop*) () from /usr/lib/chromium-browser/libs/libcontent.so
    #31 0x7528af88 in content::BrowserThreadImpl::Run(base::MessageLoop*) () from /usr/lib/chromium-browser/libs/libcontent.so
    #32 0x76e87624 in base::Thread::ThreadMain() () from /usr/lib/chromium-browser/libs/libbase.so
    #33 0x76e8485c in ?? () from /usr/lib/chromium-browser/libs/libbase.so
    #34 0x722e85a4 in start_thread (arg=0x0) at pthread_create.c:335
    #35 0x72289cec in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:89 from /lib/arm-linux-gnueabihf/libc.so.6
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    (gdb)

The InitializeSandbox() error here (along with the pthread_getattr_np error above) appears to be unrelated to this crash. Running `chromium-browser --disable-gpu --no-sandbox --single-process` avoids calling InitializeSandbox() from the GPU process, since there's no GPU acceleration, no sandbox, and only one process, yet it segfaults all the same:

    $ chromium-browser --disable-gpu --no-sandbox --dbus-stub --single-process
    [14460:14460:0526/002818:ERROR:browser_main_loop.cc(219)] Running without the SUID sandbox! See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the sandbox on.

    (chromium-browser:14460): GLib-GIO-CRITICAL **: g_settings_schema_source_lookup: assertion 'source != NULL' failed
    [14460:14482:0526/002821:ERROR:proxy_service_factory.cc(130)] Cannot use V8 Proxy resolver in single process mode.
    [14460:14482:0526/002822:ERROR:proxy_service_factory.cc(130)] Cannot use V8 Proxy resolver in single process mode.

    (chromium-browser:14460): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
    /usr/bin/dbus-launch terminated abnormally without any error message
    Segmentation fault (core dumped)

The backtrace from this invocation appears identical to the above, confirming that the InitializeSandbox() error is a red herring, at least on my machine.