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

Accepting DesktopVideoCapture request on macOS causes assert in auto tests

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.12.0 Beta 1
    • Fix Version/s: 5.12.0 Beta 3
    • Component/s: WebEngine
    • Labels:
    • Platform/s:
      macOS
    • Commits:
      69d8370f5440854c23d20648c9d35096c12426fe

      Description

      tst_QWebEnginePage::getUserMediaRequestDesktopVideoManyPages and tst_QWebEnginePage::getUserMediaRequestDesktopVideoManyRequests asserts on macOS:

      [9009:66311:1008/160324.542868:FATAL:capture_resolution_chooser.cc(72)] Check failed: 0 < min_frame_size.width() (0 vs. 0)
      0   libQt5WebEngineCore_debug.5.dylib   0x000000010e21c3ce base::debug::StackTrace::StackTrace(unsigned long) + 174
      1   libQt5WebEngineCore_debug.5.dylib   0x000000010e21c42d base::debug::StackTrace::StackTrace(unsigned long) + 29
      2   libQt5WebEngineCore_debug.5.dylib   0x000000010de8e8ac base::debug::StackTrace::StackTrace() + 28
      3   libQt5WebEngineCore_debug.5.dylib   0x000000010dee9f4f logging::LogMessage::~LogMessage() + 479
      4   libQt5WebEngineCore_debug.5.dylib   0x000000010deda675 logging::LogMessage::~LogMessage() + 21
      5   libQt5WebEngineCore_debug.5.dylib   0x000000010949f3aa media::CaptureResolutionChooser::SetConstraints(gfx::Size const&, gfx::Size const&, bool) + 218
      6   libQt5WebEngineCore_debug.5.dylib   0x000000010d5a59f2 content::DesktopCaptureDevice::Core::AllocateAndStart(media::VideoCaptureParams const&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >) + 1746
      7   libQt5WebEngineCore_debug.5.dylib   0x000000010d5af5aa void base::internal::FunctorTraits<void (content::DesktopCaptureDevice::Core::*)(media::VideoCaptureParams const&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >), void>::Invoke<void (content::DesktopCaptureDevice::Core::*)(media::VideoCaptureParams const&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >), content::DesktopCaptureDevice::Core*, media::VideoCaptureParams, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> > >(void (content::DesktopCaptureDevice::Core::*)(media::VideoCaptureParams const&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >), content::DesktopCaptureDevice::Core*&&, media::VideoCaptureParams&&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >&&) + 602
      8   libQt5WebEngineCore_debug.5.dylib   0x000000010d5af2ea void base::internal::InvokeHelper<false, void>::MakeItSo<void (content::DesktopCaptureDevice::Core::*)(media::VideoCaptureParams const&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >), content::DesktopCaptureDevice::Core*, media::VideoCaptureParams, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> > >(void (content::DesktopCaptureDevice::Core::*&&)(media::VideoCaptureParams const&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >), content::DesktopCaptureDevice::Core*&&, media::VideoCaptureParams&&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >&&) + 122
      9   libQt5WebEngineCore_debug.5.dylib   0x000000010d5af241 void base::internal::Invoker<base::internal::BindState<void (content::DesktopCaptureDevice::Core::*)(media::VideoCaptureParams const&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >), base::internal::UnretainedWrapper<content::DesktopCaptureDevice::Core>, media::VideoCaptureParams, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> > >, void ()>::RunImpl<void (content::DesktopCaptureDevice::Core::*)(media::VideoCaptureParams const&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >), std::__1::tuple<base::internal::UnretainedWrapper<content::DesktopCaptureDevice::Core>, media::VideoCaptureParams, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> > >, 0ul, 1ul, 2ul>(void (content::DesktopCaptureDevice::Core::*&&)(media::VideoCaptureParams const&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >), std::__1::tuple<base::internal::UnretainedWrapper<content::DesktopCaptureDevice::Core>, media::VideoCaptureParams, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> > >&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) + 193
      10  libQt5WebEngineCore_debug.5.dylib   0x000000010d5af109 base::internal::Invoker<base::internal::BindState<void (content::DesktopCaptureDevice::Core::*)(media::VideoCaptureParams const&, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> >), base::internal::UnretainedWrapper<content::DesktopCaptureDevice::Core>, media::VideoCaptureParams, std::__1::unique_ptr<media::VideoCaptureDevice::Client, std::__1::default_delete<media::VideoCaptureDevice::Client> > >, void ()>::RunOnce(base::internal::BindStateBase*) + 57
      11  libQt5WebEngineCore_debug.5.dylib   0x0000000106a9cbaf base::OnceCallback<void ()>::Run() && + 95
      12  libQt5WebEngineCore_debug.5.dylib   0x000000010de8fe02 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 994
      13  libQt5WebEngineCore_debug.5.dylib   0x000000010df336a6 base::MessageLoop::RunTask(base::PendingTask*) + 902
      14  libQt5WebEngineCore_debug.5.dylib   0x000000010df33c59 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) + 89
      15  libQt5WebEngineCore_debug.5.dylib   0x000000010df34089 base::MessageLoop::DoWork() + 569
      16  libQt5WebEngineCore_debug.5.dylib   0x0000000106af7b3c QtWebEngineCore::(anonymous namespace)::MessagePumpForUIQt::handleScheduledWork() + 44
      17  libQt5WebEngineCore_debug.5.dylib   0x0000000106af7610 QtWebEngineCore::(anonymous namespace)::MessagePumpForUIQt::customEvent(QEvent*) + 32
      18  libQt5Core_debug.5.dylib            0x0000000129ee9269 QObject::event(QEvent*) + 1305
      19  libQt5Widgets_debug.5.dylib         0x00000001033a960f QApplicationPrivate::notify_helper(QObject*, QEvent*) + 431
      20  libQt5Widgets_debug.5.dylib         0x00000001033ab82c QApplication::notify(QObject*, QEvent*) + 1820
      21  libQt5Core_debug.5.dylib            0x0000000129e97fd5 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 277
      22  libQt5Core_debug.5.dylib            0x0000000129e98b68 QCoreApplication::sendEvent(QObject*, QEvent*) + 56
      23  libQt5Core_debug.5.dylib            0x0000000129e99954 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 1364
      24  libQt5Core_debug.5.dylib            0x0000000129f428ec QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 92
      25  libQt5Core_debug.5.dylib            0x0000000129e921db QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 107
      26  libQt5Core_debug.5.dylib            0x0000000129e923ec QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 508
      27  libQt5WebEngineCore_debug.5.dylib   0x0000000106af7706 QtWebEngineCore::(anonymous namespace)::MessagePumpForUIQt::Run(base::MessagePump::Delegate*) + 166
      28  libQt5WebEngineCore_debug.5.dylib   0x000000010df32e82 base::MessageLoop::Run(bool) + 562
      29  libQt5WebEngineCore_debug.5.dylib   0x000000010e004c11 base::RunLoop::Run() + 593
      30  libQt5WebEngineCore_debug.5.dylib   0x000000010e143f29 base::Thread::Run(base::RunLoop*) + 393
      31  libQt5WebEngineCore_debug.5.dylib   0x000000010e144b92 base::Thread::ThreadMain() + 2370
      32  libQt5WebEngineCore_debug.5.dylib   0x000000010e262f2a base::(anonymous namespace)::ThreadFunc(void*) + 682
      33  libsystem_pthread.dylib             0x00007fff5de3f661 _pthread_body + 340
      34  libsystem_pthread.dylib             0x00007fff5de3f50d _pthread_body + 0
      35  libsystem_pthread.dylib             0x00007fff5de3ebf9 thread_start + 13
       
      Trace/BPT trap: 5
      

      This is not related to "many pages" or "many requests" the assert happens after accepting the request on the first page.

       

       

        Attachments

          Issue Links

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

            Activity

              People

              Assignee:
              pvarga Peter Varga
              Reporter:
              pvarga Peter Varga
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes