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

WebEngine will SEGV when using a web media player

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • P2: Important
    • None
    • 5.9.0
    • WebEngine
    • None
    • Linux, Raspberry Pi

    Description

      I updated from qt 5.9.0 Beta 3 to qt 5.9.0 and found out some new issue that i didn't have in 5.9.0 Beta3.
      I crossbuild Qt on Linux for LibreELEC (minimal Linux media distribution). it is build with the rpi2 device file config that is delivered with qt.

      Our app that uses webengine didn't seem to work anymore with it.
      It would start and then remain on a black screen. i would get this from the shell :

      Received signal 11 SEGV_MAPERR 000049646445
       #0 0x0000741e3562 <unknown>
       #1 0x0000741e3842 <unknown>
       #2 0x00007286d830 <unknown>

      Then i started to debug to try to get a stacktrace and used --single-process and was able to get this :

      Thread 39 "Chrome_InProcRe" received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 0x5f0073c0 (LWP 864)]
      0x72452918 in ?? () from /usr/lib/libstdc++.so.6
      (gdb) bt
      #0 0x72452918 in ?? () from /usr/lib/libstdc++.so.6
      #1 0x74a869c8 in std::_Rb_tree_iterator<std::pair<int const, base::TimeTicks> >::operator-- () at /home/longchair/LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.0.2/toolchain/armv7ve-libreelec-linux-gnueabi/include/c++/5.4.0/bits/stl_tree.h:220
      #2 std::_Rb_tree<int, std::pair<int const, base::TimeTicks>, std::_Select1st<std::pair<int const, base::TimeTicks> >, std::less<int>, std::allocator<std::pair<int const, base::TimeTicks> > >::_M_get_insert_hint_unique_pos ()
       at /home/longchair/LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.0.2/toolchain/armv7ve-libreelec-linux-gnueabi/include/c++/5.4.0/bits/stl_tree.h:1924
      #3 std::_Rb_tree<int, std::pair<int const, base::TimeTicks>, std::_Select1st<std::pair<int const, base::TimeTicks> >, std::less<int>, std::allocator<std::pair<int const, base::TimeTicks> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<int const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<int const, base::TimeTicks> >, std::piecewise_construct_t const&, std::tuple<int const&>&&, std::tuple<>&&) () at /home/longchair/LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.0.2/toolchain/armv7ve-libreelec-linux-gnueabi/include/c++/5.4.0/bits/stl_tree.h:2174
      #4 0x74ad17dc in std::map<int, base::TimeTicks, std::less<int>, std::allocator<std::pair<int const, base::TimeTicks> > >::operator[] () at /home/longchair/LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.0.2/toolchain/armv7ve-libreelec-linux-gnueabi/include/c++/5.4.0/bits/stl_map.h:483
      #5 media::RendererWebMediaPlayerDelegate::AddIdleDelegate () at ../../3rdparty/chromium/content/renderer/media/renderer_webmediaplayer_delegate.cc:193
      #6 0x74ad189c in media::RendererWebMediaPlayerDelegate::AddObserver () at ../../3rdparty/chromium/content/renderer/media/renderer_webmediaplayer_delegate.cc:58
      #7 0x75a21f02 in media::WebMediaPlayerImpl::WebMediaPlayerImpl () at ../../3rdparty/chromium/media/blink/webmediaplayer_impl.cc:253
      #8 0x74a603fe in content::RenderFrameImpl::createMediaPlayer () at ../../3rdparty/chromium/content/renderer/render_frame_impl.cc:2894
      #9 0x74c173ea in blink::FrameLoaderClientImpl::createWebMediaPlayer(blink::HTMLMediaElement&, blink::WebMediaPlayerSource const&, blink::WebMediaPlayerClient*) () from /storage/qt_release/libQt5WebEngineCore.so.5
      #10 0x7516a1b8 in blink::HTMLMediaElement::startPlayerLoad(blink::KURL const&) () from /storage/qt_release/libQt5WebEngineCore.so.5
      #11 0x7516a6ee in blink::HTMLMediaElement::loadResource(blink::WebMediaPlayerSource const&, blink::ContentType const&) () from /storage/qt_release/libQt5WebEngineCore.so.5
      #12 0x7516aa96 in blink::HTMLMediaElement::loadSourceFromAttribute() () from /storage/qt_release/libQt5WebEngineCore.so.5
      #13 0x7516ae44 in blink::HTMLMediaElement::loadInternal() () from /storage/qt_release/libQt5WebEngineCore.so.5
      #14 0x7516ae92 in blink::HTMLMediaElement::loadTimerFired(blink::TimerBase*) () from /storage/qt_release/libQt5WebEngineCore.so.5
      #15 0x74ba6f26 in blink::TimerBase::runInternal() () from /storage/qt_release/libQt5WebEngineCore.so.5
      #16 0x73b392fa in base::internal::RunMixin<base::Callback<void (), (base::internal::CopyMode)0, (base::internal::RepeatMode)0> >::Run() && () at ../../3rdparty/chromium/base/callback.h:47
      #17 base::debug::TaskAnnotator::RunTask () at ../../3rdparty/chromium/base/debug/task_annotator.cc:52
      #18 0x74b7ef7e in blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(blink::scheduler::internal::WorkQueue*) () from /storage/qt_release/libQt5WebEngineCore.so.5
      #19 0x74b7f5ca in blink::scheduler::TaskQueueManager::DoWork(base::TimeTicks, bool) () from /storage/qt_release/libQt5WebEngineCore.so.5
      #20 0x74b7d752 in base::internal::Invoker<base::internal::BindState<void (blink::scheduler::TaskQueueManager::*)(base::TimeTicks, bool), base::WeakPtr<blink::scheduler::TaskQueueManager>, base::TimeTicks, bool>, void ()>::Run(base::internal::BindStateBase*) ()
       from /storage/qt_release/libQt5WebEngineCore.so.5
      #21 0x73b392fa in base::internal::RunMixin<base::Callback<void (), (base::internal::CopyMode)0, (base::internal::RepeatMode)0> >::Run() && () at ../../3rdparty/chromium/base/callback.h:47
      #22 base::debug::TaskAnnotator::RunTask () at ../../3rdparty/chromium/base/debug/task_annotator.cc:52
      #23 0x73afcc70 in base::MessageLoop::RunTask () at ../../3rdparty/chromium/base/message_loop/message_loop.cc:413
      #24 0x73afdbbe in base::MessageLoop::DeferOrRunPendingTask () at ../../3rdparty/chromium/base/message_loop/message_loop.cc:422
      #25 0x73afdc90 in base::MessageLoop::DoDelayedWork () at ../../3rdparty/chromium/base/message_loop/message_loop.cc:554
      #26 0x73afe748 in base::MessagePumpDefault::Run () at ../../3rdparty/chromium/base/message_loop/message_pump_default.cc:39
      #27 0x73afc48e in base::MessageLoop::RunHandler () at ../../3rdparty/chromium/base/message_loop/message_loop.cc:378
      #28 0x73b0edd2 in base::RunLoop::Run () at ../../3rdparty/chromium/base/run_loop.cc:35
      #29 0x73b1ecc4 in base::Thread::Run () at ../../3rdparty/chromium/base/threading/thread.cc:245
      #30 base::Thread::ThreadMain () at ../../3rdparty/chromium/base/threading/thread.cc:333
      #31 0x73b1c31e in ThreadFunc () at ../../3rdparty/chromium/base/threading/platform_thread_posix.cc:71
      #32 0x76893ed0 in start_thread (arg=0x5f0073c0) at pthread_create.c:335
      #33 0x722e6390 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:89 from /usr/lib/libc.so.6
      Backtrace stopped: previous frame identical to this frame (corrupt stack?)

       

       

      Attachments

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

        Activity

          People

            michal Michal Klocek
            longchair LongChair
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes