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

          For Gerrit Dashboard: QTBUG-71005
          # Subject Branch Project Status CR V

            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