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

WebEngine crashes on fling gesture event when viz display compositor is enabled

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.14.0 Alpha
    • 5.14
    • WebEngine
    • None
    • Linux/X11
    • ffbb8cd7cd6bc8b6ff0c73e3fc45cb2f74e0f4c2 (qt/qtwebengine/5.14)

    Description

      To reproduce the crash start qtwebbrowser ( https://code.qt.io/cgit/qt-apps/qtwebbrowser.git/ ) and try to scroll. It is reproducible on desktop with synthetic touch events and on real device (eg. apalis imx6) with real touch events. I assume it is reproducible on every platforms where viz display compositor is enabled but I tried Linux only. The crash is not reproducible when --disable-viz-display-compositor is passed.

      The backtrace is:

      [28233:28233:0827/092045.439916:FATAL:render_widget_host_view_qt.cpp(1744)] Check failed: !m_enableViz. 
      #0 0x7fac3488322b base::debug::CollectStackTrace()
      #1 0x7fac34676ce7 base::debug::StackTrace::StackTrace()
      #2 0x7fac34676c9e base::debug::StackTrace::StackTrace()
      #3 0x7fac346b1106 logging::LogMessage::~LogMessage()
      #4 0x7fac2dca2799 QtWebEngineCore::RenderWidgetHostViewQt::SetNeedsBeginFrames()
      #5 0x7fac331005b2 content::RenderWidgetHostImpl::SetNeedsBeginFrame()
      #6 0x7fac330fecc7 content::RenderWidgetHostImpl::SetNeedsBeginFrameForFlingProgress()
      #7 0x7fac32f0d7be content::FlingScheduler::ScheduleFlingProgress()
      #8 0x7fac32f0aa3a content::FlingController::ScheduleFlingProgress()
      #9 0x7fac32f0a9a7 content::FlingController::ProcessGestureFlingStart()
      #10 0x7fac32f0a78d content::FlingController::ObserveAndMaybeConsumeGestureEvent()
      #11 0x7fac32f0e8fa content::GestureEventQueue::PassToFlingController()
      #12 0x7fac32f155a2 content::InputRouterImpl::SendGestureEvent()
      #13 0x7fac330f9551 content::RenderWidgetHostImpl::ForwardGestureEventWithLatencyInfo()
      #14 0x7fac330f8dd3 content::RenderWidgetHostImpl::ForwardGestureEvent()
      #15 0x7fac2dc9f918 QtWebEngineCore::RenderWidgetHostViewQt::OnGestureEvent()
      #16 0x7fac36062f9a ui::FilteredGestureProvider::ForwardGestureEvent()
      #17 0x7fac3607ed27 ui::TouchDispositionGestureFilter::SendGesture()
      #18 0x7fac3607e742 ui::TouchDispositionGestureFilter::FilterAndSendPacket()
      #19 0x7fac3607e197 ui::TouchDispositionGestureFilter::SendAckedEvents()
      #20 0x7fac3607dcbf ui::TouchDispositionGestureFilter::OnTouchEventAck()
      #21 0x7fac36062d35 ui::FilteredGestureProvider::OnTouchEventAck()
      #22 0x7fac2dca0bce QtWebEngineCore::RenderWidgetHostViewQt::ProcessAckedTouchEvent()
      #23 0x7fac3311ce83 content::TouchEventAckQueue::MarkAcked()
      #24 0x7fac331208b5 content::RenderWidgetHostInputEventRouter::ProcessAckedTouchEvent()
      #25 0x7fac330ff29e content::RenderWidgetHostImpl::OnTouchEventAck()
      #26 0x7fac32f16831 content::InputRouterImpl::OnTouchEventAck()
      #27 0x7fac32f2b196 content::PassthroughTouchEventQueue::AckTouchEventToClient()
      #28 0x7fac32f2b0e6 content::PassthroughTouchEventQueue::AckCompletedEvents()
      #29 0x7fac32f2a78d content::PassthroughTouchEventQueue::QueueEvent()
      #30 0x7fac32f15a05 content::InputRouterImpl::SendTouchEvent()
      #31 0x7fac330f98da content::RenderWidgetHostImpl::ForwardTouchEventWithLatencyInfo()
      #32 0x7fac2dca0c9f QtWebEngineCore::RenderWidgetHostViewQt::processMotionEvent()
      #33 0x7fac2dca24fb QtWebEngineCore::RenderWidgetHostViewQt::handleTouchEvent()
      #34 0x7fac2dca0680 QtWebEngineCore::RenderWidgetHostViewQt::forwardEvent()
      #35 0x7fac4174385c QtWebEngineCore::RenderWidgetHostViewQtDelegateQuick::touchEvent()
      #36 0x7fac2c3a6454 QQuickItem::event()
      #37 0x7fac41743253 QtWebEngineCore::RenderWidgetHostViewQtDelegateQuick::event()
      #38 0x7fac2a971490 QCoreApplicationPrivate::notify_helper()
      #39 0x7fac2a9710a1 doNotify()
      #40 0x7fac2a971004 QCoreApplication::notify()
      #41 0x7fac2ba1f3c5 QGuiApplication::notify()
      #42 0x5576a05285ce TouchMockingApplication::notify()
      #43 0x7fac2a970f25 QCoreApplication::notifyInternal2()
      #44 0x7fac2a971932 QCoreApplication::sendEvent()
      #45 0x7fac2c3d0df8 QQuickWindowPrivate::deliverMatchingPointsToItem()
      #46 0x7fac2c3cfb71 QQuickWindowPrivate::deliverUpdatedTouchPoints()
      #47 0x7fac2c3cf6db QQuickWindowPrivate::deliverTouchEvent()
      #48 0x7fac2c3cf05b QQuickWindowPrivate::deliverPointerEvent()
      #49 0x7fac2c3ce294 QQuickWindowPrivate::handleTouchEvent()
      #50 0x7fac2c3cae25 QQuickWindow::event()
      #51 0x7fac2a971490 QCoreApplicationPrivate::notify_helper()
      #52 0x7fac2a9710a1 doNotify()
      #53 0x7fac2a971004 QCoreApplication::notify()
      #54 0x7fac2ba1f3c5 QGuiApplication::notify()
      #55 0x5576a05292d2 TouchMockingApplication::sendTouchEvent()
      #56 0x5576a0528d56 TouchMockingApplication::notify()
      #57 0x7fac2a970f25 QCoreApplication::notifyInternal2()
      #58 0x7fac2a97196c QCoreApplication::sendSpontaneousEvent()
      #59 0x7fac2ba20359 _ZN22QGuiApplicationPrivate17processMouseEventEPN29QWindowSystemInterfacePrivate10MouseEventE.localalias
      #60 0x7fac2ba1fa4c _ZN22QGuiApplicationPrivate17processMouseEventEPN29QWindowSystemInterfacePrivate10MouseEventE.localalias
      #61 0x7fac2ba1f5b8 QGuiApplicationPrivate::processWindowSystemEvent()
      #62 0x7fac2b9fe78a QWindowSystemInterface::sendWindowSystemEvents()
      #63 0x7fac264997fe xcbSourceDispatch()
      #64 0x7fac27074403 g_main_context_dispatch
      #65 0x7fac27074688 <unknown>
      #66 0x7fac2707471f g_main_context_iteration
      #67 0x7fac2aa07413 QEventDispatcherGlib::processEvents()
      #68 0x7fac26499a36 QXcbGlibEventDispatcher::processEvents()
      #69 0x7fac2a96d611 QEventLoop::processEvents()
      #70 0x7fac2a96d94b QEventLoop::exec()
      #71 0x7fac2a971784 QCoreApplication::exec()
      #72 0x7fac2ba1f36a QGuiApplication::exec()
      #73 0x5576a052374e main
      #74 0x7fac29fb8f1b __libc_start_main
      #75 0x5576a0520b2a _start
      

       
      It crashes without the assert and in release too.

       

      Attachments

        Issue Links

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

          Activity

            People

              juri.valdmann Jüri Valdmann (Inactive)
              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