Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-76913

[REG 5.13] Segfault in QtWebEngineCore::CompositorResourceTracker::consumeMailbox

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.13.0
    • Fix Version/s: 5.13.1, 5.14.0 Alpha
    • Component/s: WebEngine
    • Labels:
      None
    • Platform/s:
      Linux/X11
    • Commits:
      4746bb904bf6841137d5b50357bf79c852bf5d06 (qt/qtwebengine/5.13)

      Description

      So far I haven't seen this happen myself, but one of my users reports segfaults around once a day, especially when surfing on media-heavy sites (e.g. www.pr0gramm.com):

      #0  0x00007f81c76a9755 in raise () at /usr/lib/libc.so.6
      #1  0x00007f81c76a97e0 in <signal handler called> () at /usr/lib/libc.so.6
      #2  0x00007f81b43e83f0 in service_id(gpu::TextureBase*) (tex=0x0)
          at ../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/gpu/command_buffer/service/texture_base.h:22
      #3  0x00007f81b43e9773 in QtWebEngineCore::CompositorResourceTracker::consumeMailbox(gpu::MailboxHolder const&) (this=this@entry=0x55f968a6ba40, mailboxHolder=...)
          at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-everywhere-src-5.13.0/src/core/compositor/compositor_resource_tracker.cpp:177
      #4  0x00007f81b43e9cec in QtWebEngineCore::CompositorResourceTracker::updateMailboxes(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >)
          (this=0x55f968a6ba40, resources=std::vector of length 3, capacity 3 = {...})
          at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-everywhere-src-5.13.0/src/core/compositor/compositor_resource_tracker.cpp:233
      #5  0x00007f81b43e91da in base::internal::FunctorTraits<void (QtWebEngineCore::CompositorResourceTracker::*)(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >), void>::Invoke<void (QtWebEngineCore::CompositorResourceTracker::*)(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >), base::LockedPtr<QtWebEngineCore::CompositorResourceTracker, (base::LockedPtrMode)1>, std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> > >(void (QtWebEngineCore::CompositorResourceTracker::*)(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >), base::LockedPtr<QtWebEngineCore::CompositorResourceTracker, (base::LockedPtrMode)1>&&, std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >&&)
          (receiver_ptr=..., method=<optimized out>) at /usr/include/c++/9.1.0/bits/stl_vector.h:99
      #6  0x00007f81b43e91da in base::internal::InvokeHelper<true, void>::MakeItSo<void (QtWebEngineCore::CompositorResourceTracker::*)(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >), base::LockedPtr<QtWebEngineCore::CompositorResourceTracker, (base::LockedPtrMode)1>, std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> > >(void (QtWebEngineCore::CompositorResourceTracker::*&&)(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >), base::LockedPtr<QtWebEngineCore::CompositorResourceTracker, (base::LockedPtrMode)1>&&, std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >&&) (functor=
          @0x7f817458f010: (void (QtWebEngineCore::CompositorResourceTracker::*)(class QtWebEngineCore::CompositorResourceTracker * const, class std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >)) 0x7f81b43e9cb0 <QtWebEngineCore::CompositorResourceTracker::updateMailboxes(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >)>, weak_ptr=...)
          at ../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/bind_internal.h:636
      #7  0x00007f81b43e91da in base::internal::Invoker<base::internal::BindState<void (QtWebEngineCore::CompositorResourceTracker::*)(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >), base::LockedPtr<QtWebEngineCore::CompositorResourceTracker, (base::LockedPtrMode)0>, std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> > >, void ()>::RunImpl<void (QtWebEngineCore::CompositorResourceTracker::*)(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >), std::tuple<base::LockedPtr<QtWebEngineCore::CompositorResourceTracker, (base::LockedPtrMode)0>, std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> > >, 0ul, 1ul>(void (QtWebEngineCore::CompositorResourceTracker::*&&)(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >), std::tuple<base::LockedPtr<QtWebEngineCore::CompositorResourceTracker, (base::LockedPtrMode)0>, std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> > >&&, std::integer_sequence<unsigned long, 0ul, 1ul>) (bound=..., functor=
          @0x7f817458f010: (void (QtWebEngineCore::CompositorResourceTracker::*)(class QtWebEngineCore::CompositorResourceTracker * const, class std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >)) 0x7f81b43e9cb0 <QtWebEngineCore::CompositorResourceTracker::updateMailboxes(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> >)>) at ../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/bind_internal.h:690
      #8  0x00007f81b43e91da in base::internal::Invoker<base::internal::BindState<void (QtWebEngineCore::CompositorResourceTracker::*)(std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::C--Type <RET> for more, q to quit, c to continue without paging--
      ompositorResource*> >), base::LockedPtr<QtWebEngineCore::CompositorResourceTracker, (base::LockedPtrMode)0>, std::vector<QtWebEngineCore::CompositorResource*, std::allocator<QtWebEngineCore::CompositorResource*> > >, void ()>::RunOnce(base::internal::BindStateBase*) (base=0x7f817458eff0)
          at ../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/bind_internal.h:658
      #9  0x00007f81b670b24b in base::OnceCallback<void ()>::Run() && ()
          at ../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/callback.h:99
      #10 0x00007f81b670b24b in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) ()
          at ./../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/debug/task_annotator.cc:105
      #11 0x00007f81b6727b07 in base::MessageLoopImpl::RunTask(base::PendingTask*) ()
          at ./../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/message_loop/message_loop_impl.cc:355
      #12 0x00007f81b6728a4e in base::MessageLoopImpl::DeferOrRunPendingTask(base::PendingTask) ()
          at ./../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/message_loop/message_loop_impl.cc:366
      #13 0x00007f81b6728d1c in base::MessageLoopImpl::DoWork() ()
          at ./../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/message_loop/message_loop_impl.cc:458
      #14 0x00007f81b6729081 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) ()
          at ./../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/message_loop/message_pump_default.cc:39
      #15 0x00007f81b6749867 in base::RunLoop::Run() ()
          at ./../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/run_loop.cc:150
      #16 0x00007f81b6749867 in base::RunLoop::Run() ()
          at ./../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/run_loop.cc:121
      #17 0x00007f81b678322f in base::Thread::Run(base::RunLoop*) ()
          at ./../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/threading/thread.cc:251
      #18 0x00007f81b678322f in base::Thread::ThreadMain() ()
          at ./../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/threading/thread.cc:333
      #19 0x00007f81b67b6975 in ThreadFunc() ()
          at ./../../../../qtwebengine-everywhere-src-5.13.0/src/3rdparty/chromium/base/threading/platform_thread_posix.cc:81
      #20 0x00007f81c730a57f in start_thread () at /usr/lib/libpthread.so.0
      #21 0x00007f81c776b0e3 in clone () at /usr/lib/libc.so.6
      

      Note the service_id(gpu::TextureBase*) (tex=0x0)

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            • Assignee:
              juri.valdmann Jüri Valdmann
              Reporter:
              the compiler Florian Bruhin
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes