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

Assert when closing select element on macOS

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.14
    • Fix Version/s: 5.12.6, 5.13.2, 5.14.0 Beta 1
    • Component/s: WebEngine
    • Labels:
      None
    • Platform/s:
      macOS
    • Commits:
      2f72083601fb6a4fcc66b6440222291fc334cb3f (qt/qtwebengine/5.13) 15b7a43417e6ae2a3922010524881405ef6b7474 (qt/qtwebengine/5.12)

      Description

      For reproducing, start quick minimal browser with https://plexinc.github.io/sandbox/matt/bugs/qt/select/ then open and close the drop-down list (same as https://bugreports.qt.io/browse/QTBUG-77072)

      The issue is flaky so it may not assert for the first try.

      In release mode, it produces an error message:

      [27567:775:0806/154812.109601:ERROR:gl_bindings_autogen_gl.cc(14572)] Trying to call glFlush without current GL context
      

      In debug mode, it asserts:

      [36101:775:0806/155102.998924:FATAL:gl_bindings_autogen_gl.cc(14570)] Check failed: false. Trying to call glFlush without current GL context
      0   libQt5WebEngineCore_debug.5.dylib   0x000000011df0d861 base::debug::CollectStackTrace(void**, unsigned long) + 33
      1   libQt5WebEngineCore_debug.5.dylib   0x000000011dbc45db base::debug::StackTrace::StackTrace(unsigned long) + 75
      2   libQt5WebEngineCore_debug.5.dylib   0x000000011dbc465d base::debug::StackTrace::StackTrace(unsigned long) + 29
      3   libQt5WebEngineCore_debug.5.dylib   0x000000011dbc4635 base::debug::StackTrace::StackTrace() + 37
      4   libQt5WebEngineCore_debug.5.dylib   0x000000011dc0e7be logging::LogMessage::~LogMessage() + 142
      5   libQt5WebEngineCore_debug.5.dylib   0x000000011dc0d425 logging::LogMessage::~LogMessage() + 21
      6   libQt5WebEngineCore_debug.5.dylib   0x000000011e91d6d0 gl::(anonymous namespace)::NoContextHelper(char const*) + 160
      7   libQt5WebEngineCore_debug.5.dylib   0x000000011e91f0f8 gl::NoContextGLApi::glFlushFn() + 24
      8   libQt5WebEngineCore_debug.5.dylib   0x000000011e98c9bd gl::GLContextCGL::MakeCurrent(gl::GLSurface*) + 333
      9   libQt5WebEngineCore_debug.5.dylib   0x000000011e9260f2 gl::GLContext::MakeVirtuallyCurrent(gl::GLContext*, gl::GLSurface*) + 242
      10  libQt5WebEngineCore_debug.5.dylib   0x0000000122bfceca gpu::GLContextVirtual::MakeCurrent(gl::GLSurface*) + 138
      11  libQt5WebEngineCore_debug.5.dylib   0x0000000122c62268 gpu::gles2::GLES2DecoderImpl::MakeCurrent() + 472
      12  libQt5WebEngineCore_debug.5.dylib   0x0000000123150044 gpu::CommandBufferStub::MakeCurrent() + 84
      13  libQt5WebEngineCore_debug.5.dylib   0x000000012314f494 gpu::CommandBufferStub::OnMessageReceived(IPC::Message const&) + 548
      14  libQt5WebEngineCore_debug.5.dylib   0x000000011ff9de68 IPC::MessageRouter::RouteMessage(IPC::Message const&) + 88
      15  libQt5WebEngineCore_debug.5.dylib   0x0000000123163292 gpu::GpuChannel::HandleMessageHelper(IPC::Message const&) + 98
      16  libQt5WebEngineCore_debug.5.dylib   0x000000012315f3d3 gpu::GpuChannel::HandleMessage(IPC::Message const&) + 515
      17  libQt5WebEngineCore_debug.5.dylib   0x000000012317ad47 void base::internal::FunctorTraits<void (gpu::GpuChannel::*)(IPC::Message const&), void>::Invoke<void (gpu::GpuChannel::*)(IPC::Message const&), base::WeakPtr<gpu::GpuChannel>, IPC::Message>(void (gpu::GpuChannel::*)(IPC::Message const&), base::WeakPtr<gpu::GpuChannel>&&, IPC::Message&&) + 151
      18  libQt5WebEngineCore_debug.5.dylib   0x000000012317abef void base::internal::InvokeHelper<true, void>::MakeItSo<void (gpu::GpuChannel::*)(IPC::Message const&), base::WeakPtr<gpu::GpuChannel>, IPC::Message>(void (gpu::GpuChannel::*&&)(IPC::Message const&), base::WeakPtr<gpu::GpuChannel>&&, IPC::Message&&) + 127
      19  libQt5WebEngineCore_debug.5.dylib   0x000000012317ab43 void base::internal::Invoker<base::internal::BindState<void (gpu::GpuChannel::*)(IPC::Message const&), base::WeakPtr<gpu::GpuChannel>, IPC::Message>, void ()>::RunImpl<void (gpu::GpuChannel::*)(IPC::Message const&), std::__1::tuple<base::WeakPtr<gpu::GpuChannel>, IPC::Message>, 0ul, 1ul>(void (gpu::GpuChannel::*&&)(IPC::Message const&), std::__1::tuple<base::WeakPtr<gpu::GpuChannel>, IPC::Message>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 99
      20  libQt5WebEngineCore_debug.5.dylib   0x000000012317aa0e base::internal::Invoker<base::internal::BindState<void (gpu::GpuChannel::*)(IPC::Message const&), base::WeakPtr<gpu::GpuChannel>, IPC::Message>, void ()>::RunOnce(base::internal::BindStateBase*) + 62
      21  libQt5WebEngineCore_debug.5.dylib   0x0000000113a5296c base::OnceCallback<void ()>::Run() && + 92
      22  libQt5WebEngineCore_debug.5.dylib   0x000000012252bef7 gpu::Scheduler::RunNextTask() + 1383
      23  libQt5WebEngineCore_debug.5.dylib   0x000000012254b1ef void base::internal::FunctorTraits<void (gpu::Scheduler::*)(), void>::Invoke<void (gpu::Scheduler::*)(), base::WeakPtr<gpu::Scheduler> >(void (gpu::Scheduler::*)(), base::WeakPtr<gpu::Scheduler>&&) + 127
      24  libQt5WebEngineCore_debug.5.dylib   0x000000012254b13a void base::internal::InvokeHelper<true, void>::MakeItSo<void (gpu::Scheduler::*)(), base::WeakPtr<gpu::Scheduler> >(void (gpu::Scheduler::*&&)(), base::WeakPtr<gpu::Scheduler>&&) + 106
      25  libQt5WebEngineCore_debug.5.dylib   0x000000012254b0a2 void base::internal::Invoker<base::internal::BindState<void (gpu::Scheduler::*)(), base::WeakPtr<gpu::Scheduler> >, void ()>::RunImpl<void (gpu::Scheduler::*)(), std::__1::tuple<base::WeakPtr<gpu::Scheduler> >, 0ul>(void (gpu::Scheduler::*&&)(), std::__1::tuple<base::WeakPtr<gpu::Scheduler> >&&, std::__1::integer_sequence<unsigned long, 0ul>) + 66
      26  libQt5WebEngineCore_debug.5.dylib   0x000000012254afce base::internal::Invoker<base::internal::BindState<void (gpu::Scheduler::*)(), base::WeakPtr<gpu::Scheduler> >, void ()>::RunOnce(base::internal::BindStateBase*) + 62
      27  libQt5WebEngineCore_debug.5.dylib   0x0000000113a5296c base::OnceCallback<void ()>::Run() && + 92
      28  libQt5WebEngineCore_debug.5.dylib   0x000000011dd67dfd base::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 989
      29  libQt5WebEngineCore_debug.5.dylib   0x000000011ddaae36 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*, bool*) + 1350
      30  libQt5WebEngineCore_debug.5.dylib   0x000000011ddab2b7 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoDelayedWork(base::TimeTicks*) + 119
      31  libQt5WebEngineCore_debug.5.dylib   0x0000000113a55bf9 QtWebEngineCore::MessagePumpForUIQt::handleScheduledWork() + 89
      32  libQt5WebEngineCore_debug.5.dylib   0x0000000113a55b98 QtWebEngineCore::MessagePumpForUIQt::MessagePumpForUIQt()::'lambda'()::operator()() const + 24
      33  libQt5WebEngineCore_debug.5.dylib   0x0000000113a55b5d decltype(std::__1::forward<QtWebEngineCore::MessagePumpForUIQt::MessagePumpForUIQt()::'lambda'()&>(fp)()) std::__1::__invoke<QtWebEngineCore::MessagePumpForUIQt::MessagePumpForUIQt()::'lambda'()&>(QtWebEngineCore::MessagePumpForUIQt::MessagePumpForUIQt()::'lambda'()&&&) + 29
      34  libQt5WebEngineCore_debug.5.dylib   0x0000000113a55b0d void std::__1::__invoke_void_return_wrapper<void>::__call<QtWebEngineCore::MessagePumpForUIQt::MessagePumpForUIQt()::'lambda'()&>(QtWebEngineCore::MessagePumpForUIQt::MessagePumpForUIQt()::'lambda'()&&&) + 29
      35  libQt5WebEngineCore_debug.5.dylib   0x0000000113a54771 std::__1::__function::__func<QtWebEngineCore::MessagePumpForUIQt::MessagePumpForUIQt()::'lambda'(), std::__1::allocator<QtWebEngineCore::MessagePumpForUIQt::MessagePumpForUIQt()::'lambda'()>, void ()>::operator()() + 33
      36  libQt5WebEngineCore_debug.5.dylib   0x00000001148c72d5 std::__1::function<void ()>::operator()() const + 53
      37  libQt5WebEngineCore_debug.5.dylib   0x000000012762c39f QWebEngineMessagePumpScheduler::timerEvent(QTimerEvent*) + 143
      38  libQt5Core_debug.5.dylib            0x00000001073548af QObject::event(QEvent*) + 223
      39  libQt5Core_debug.5.dylib            0x00000001073004eb QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) + 203
      40  libQt5Core_debug.5.dylib            0x00000001072fffba doNotify(QObject*, QEvent*) + 138
      41  libQt5Core_debug.5.dylib            0x0000000107300087 QCoreApplication::notify(QObject*, QEvent*) + 55
      42  libQt5Gui_debug.5.dylib             0x0000000104a593d1 QGuiApplication::notify(QObject*, QEvent*) + 113
      43  libQt5Core_debug.5.dylib            0x00000001072ffec5 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 277
      44  libQt5Core_debug.5.dylib            0x0000000107300a88 QCoreApplication::sendEvent(QObject*, QEvent*) + 56
      45  libQt5Core_debug.5.dylib            0x0000000107301844 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 1380
      46  libQt5Core_debug.5.dylib            0x000000010730099d QCoreApplication::sendPostedEvents(QObject*, int) + 45
      47  libqcocoa_debug.dylib               0x000000010a443e1f QCocoaEventDispatcherPrivate::processPostedEvents() + 303
      48  libqcocoa_debug.dylib               0x000000010a444b1b QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 91
      49  CoreFoundation                      0x00007fff4a48b083 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
      50  CoreFoundation                      0x00007fff4a48b029 __CFRunLoopDoSource0 + 108
      51  CoreFoundation                      0x00007fff4a46e9eb __CFRunLoopDoSources0 + 195
      52  CoreFoundation                      0x00007fff4a46dfb5 __CFRunLoopRun + 1189
      53  CoreFoundation                      0x00007fff4a46d8be CFRunLoopRunSpecific + 455
      54  HIToolbox                           0x00007fff4975996b RunCurrentEventLoopInMode + 292
      55  HIToolbox                           0x00007fff497596a5 ReceiveNextEventCommon + 603
      56  HIToolbox                           0x00007fff49759436 _BlockUntilNextEventMatchingListInModeWithFilter + 64
      57  AppKit                              0x00007fff47af3987 _DPSNextEvent + 965
      58  AppKit                              0x00007fff47af271f -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
      59  AppKit                              0x00007fff47aec83c -[NSApplication run] + 699
      60  libqcocoa_debug.dylib               0x000000010a442931 QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 929
      61  libQt5Core_debug.5.dylib            0x00000001072f9af8 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 104
      62  libQt5Core_debug.5.dylib            0x00000001072f9d0c QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 508
      63  libQt5Core_debug.5.dylib            0x00000001073007ec QCoreApplication::exec() + 380
      64  libQt5Gui_debug.5.dylib             0x0000000104a59356 QGuiApplication::exec() + 22
      65  minimal                             0x0000000103b60c3e main + 190
      66  libdyld.dylib                       0x00007fff7639c3d5 start + 1
      67  ???                                 0x0000000000000001 0x0 + 1
      Task trace:
      0   libQt5WebEngineCore_debug.5.dylib   0x000000012252657e gpu::Scheduler::TryScheduleSequence(gpu::Scheduler::Sequence*) + 1070
      1   libQt5WebEngineCore_debug.5.dylib   0x000000011ea61670 mojo::SimpleWatcher::Context::Notify(unsigned int, MojoHandleSignalsState, unsigned int) + 384
      

        Attachments

          Issue Links

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

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes