Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
5.15.11, 5.15.8, 6.2.4
-
-
9faaf2ea7 (108-based), e3f25da07 (102-based)
Description
When profiling a webpage run with QtWebEngine based browser, there is a crash.
Both debug and release modes crash, but with different call stacks.
Debug
1 std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned char>>>::operator * vector 53 0x7ffb12fc1b89 2 std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned char>>>::operator * Qt6WebEngineCored 0x7ffb16159a43 3 tracing::TracePacketTokenizer::Parse trace_packet_tokenizer.cc 56 0x7ffb1c156237 4 tracing::ReadTraceAsJson perfetto_session.cc 70 0x7ffb1c11fede 5 <lambda_5801be5b857d1a50a4719a999a1a9ce2>::operator() tracing_handler.cc 433 0x7ffb241cd3af 6 std::invoke<<lambda_5801be5b857d1a50a4719a999a1a9ce2> &,perfetto::TracingSession::ReadTraceCallbackArgs> type_traits 1610 0x7ffb241c9703 7 std::_Invoker_ret<void,1>::_Call<<lambda_5801be5b857d1a50a4719a999a1a9ce2> &,perfetto::TracingSession::ReadTraceCallbackArgs> functional 745 0x7ffb241c7efd 8 std::_Func_impl_no_alloc<<lambda_5801be5b857d1a50a4719a999a1a9ce2>,void,perfetto::TracingSession::ReadTraceCallbackArgs>::_Do_call functional 921 0x7ffb241d7ec9 9 std::_Func_class<void,perfetto::TracingSession::ReadTraceCallbackArgs>::operator() functional 969 0x7ffb104fbbba 10 <lambda_30ee7b7d09dfcdce35113e9f15926258>::operator() tracing_muxer_impl.cc 376 0x7ffb104fa20a 11 std::invoke<<lambda_30ee7b7d09dfcdce35113e9f15926258> &> type_traits 1586 0x7ffb104f1283 12 std::_Invoker_ret<void,1>::_Call<<lambda_30ee7b7d09dfcdce35113e9f15926258> &> functional 745 0x7ffb104e8c03 13 std::_Func_impl_no_alloc<<lambda_30ee7b7d09dfcdce35113e9f15926258>,void>::_Do_call functional 921 0x7ffb105055da 14 std::_Func_class<void>::operator() functional 969 0x7ffb0fe44d5f 15 <lambda_c22f1d5e23d556a965af61476e7a8b43>::operator() task_runner.cc 59 0x7ffb1c1221da 16 base::internal::FunctorTraits<<lambda_c22f1d5e23d556a965af61476e7a8b43>,void>::Invoke<<lambda_c22f1d5e23d556a965af61476e7a8b43>,std::function<void __cdecl(void)>> bind_internal.h 380 0x7ffb1c121d04 17 base::internal::InvokeHelper<0,void>::MakeItSo<<lambda_c22f1d5e23d556a965af61476e7a8b43>,std::function<void __cdecl(void)>> bind_internal.h 639 0x7ffb1c121d67 18 base::internal::Invoker<base::internal::BindState<<lambda_c22f1d5e23d556a965af61476e7a8b43>,std::function<void __cdecl(void)>>,void __cdecl(void)>::RunImpl<<lambda_c22f1d5e23d556a965af61476e7a8b43>,std::tuple<std::function<void __cdecl(void bind_internal.h 714 0x7ffb1c121dcc 19 base::internal::Invoker<base::internal::BindState<<lambda_c22f1d5e23d556a965af61476e7a8b43>,std::function<void __cdecl(void)>>,void __cdecl(void)>::RunOnce bind_internal.h 683 0x7ffb1c1227ed 20 base::OnceCallback<void __cdecl(void)>::Run callback.h 101 0x7ffb0ff39b2a ... <More>
Release
1 protozero::ScatteredStreamWriter::ReserveBytes scattered_stream_writer.cc 61 0x7ffb3ee35a40 2 protozero::Message::BeginNestedMessageInternal message.cc 157 0x7ffb3ee343b1 3 content::InputRouterImpl::FilterAndSendWebInputEvent input_router_impl.cc 513 0x7ffb439defb2 4 content::InputRouterImpl::SendMouseEventImmediately input_router_impl.cc 375 0x7ffb439e0c14 5 content::InputRouterImpl::SendMouseEvent input_router_impl.cc 127 0x7ffb439e0b75 6 content::RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo render_widget_host_impl.cc 1381 0x7ffb4383da28 7 content::RenderWidgetHostViewBase::ProcessMouseEvent render_widget_host_view_base.cc 589 0x7ffb43836f37 8 content::RenderWidgetHostInputEventRouter::DispatchMouseEvent render_widget_host_input_event_router.cc 661 0x7ffb4386ef16 9 content::RenderWidgetHostInputEventRouter::DispatchEventToTarget render_widget_host_input_event_router.cc 1849 0x7ffb4386ebe1 10 content::RenderWidgetTargeter::FoundTarget render_widget_targeter.cc 453 0x7ffb43a831f4 11 content::RenderWidgetTargeter::ResolveTargetingRequest render_widget_targeter.cc 271 0x7ffb43a83bbc 12 content::RenderWidgetTargeter::FindTargetAndDispatch render_widget_targeter.cc 207 0x7ffb43a82c02 13 QtWebEngineCore::RenderWidgetHostViewQtDelegateClient::handlePointerEvent<QMouseEvent> render_widget_host_view_qt_delegate_client.cpp 464 0x7ffb3ed94340 14 QtWebEngineCore::RenderWidgetHostViewQtDelegateClient::handleMouseEvent render_widget_host_view_qt_delegate_client.cpp 481 0x7ffb3ed96503 15 QtWebEngineCore::RenderWidgetHostViewQtDelegateClient::forwardEvent render_widget_host_view_qt_delegate_client.cpp 298 0x7ffb3ed9577b 16 QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget::event render_widget_host_view_qt_delegate_widget.cpp 455 0x7ffbb86b8d04 17 QApplicationPrivate::notify_helper qapplication.cpp 3411 0x7ffb4f11305e 18 QApplication::notify qapplication.cpp 2873 0x7ffb4f110fc1 19 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1067 0x7ffb4ec39c75 20 QApplicationPrivate::sendMouseEvent qapplication.cpp 2409 0x7ffb4f115b8f ... <More>
If QtWebEngine based browser is build with release mode, the reproduce rate is much smaller.
Reproduce steps:
- Run simplebrowser example with remote debugging enabled (--remote-debugging-port=8000)
- Open a webpage (qt.io)
- Open Chrome, (localhost:8000)
- Choose the qt.io webpage
- Open dev tools, performance and start recoding
- Let the recording go on for 15seconds in debug build or more in release (may need to restart recording several times in release build)
- simplebrowser crashes with given stack traces