Details
-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
None
-
6.4.2
-
None
Description
This is on a RPI4 + touchscreen, running Raspbian bookworm, using the official Debian Qt 6.4.2 packages. The app uses EGLFS.
I have a QML app that uses WebEngineView + Qt Virtual Keyboard to create a very basic browser. If I open google.com and then touch the search input field, I see the VKB trying to show (it slides in a few pixels), but then the app crashes 100% of the time with the following back-trace. Debugging isn't fun as both the PI and the TS are mounted inside a kitchen cabinet
I'll try to find another TS so I can reproduce it on an x86_64 Debian PC where debugging is much more comfortable, but maybe someone has an idea what might be wrong already from this backtrace:
(gdb) bt #0 qmlEngine(QObject const*) (obj=obj@entry=0x0) at ./src/qml/qml/qqml.cpp:69 #1 0x0000007ff7f1e760 in QQuickWebEngineViewPrivate::createTouchHandleDelegate(QMap<int, QImage> const&) (this=<optimized out>, images=...) at ./src/webenginequick/api/qquickwebengineview.cpp:1261 #2 0x0000007fed568494 in QtWebEngineCore::TouchSelectionControllerClientQt::CreateDrawable() () at /build/qt6-webengine-5ltows/qt6-webengine-6.4.2-final+dfsg/src/core/touch_selection_controller_client_qt.cpp:270 #3 0x0000007ff1c834ec in ui::TouchSelectionController::CreateDrawable() () at ./../../../../../src/3rdparty/chromium/ui/touch_selection/touch_selection_controller.cc:501 #4 ui::TouchHandle::TouchHandle(ui::TouchHandleClient*, ui::TouchHandleOrientation, gfx::RectF const&) () at ./../../../../../src/3rdparty/chromium/ui/touch_selection/touch_handle.cc:74 #5 0x0000007ff1c849a4 in std::make_unique<ui::TouchHandle, ui::TouchSelectionController*, ui::TouchHandleOrientation, gfx::RectF&>(ui::TouchSelectionController*&&, ui::TouchHandleOrientation&&, gfx::RectF&) () at /usr/include/c++/12/bits/unique_ptr.h:1065 #6 ui::TouchSelectionController::ActivateInsertionIfNecessary() () at ./../../../../../src/3rdparty/chromium/ui/touch_selection/touch_selection_controller.cc:567 #7 0x0000007ff1c85b0c in ui::TouchSelectionController::OnInsertionChanged() () at ./../../../../../src/3rdparty/chromium/ui/touch_selection/touch_selection_controller.cc:529 #8 0x0000007ff1c85d8c in ui::TouchSelectionController::OnSelectionBoundsChanged(gfx::SelectionBound const&, gfx::SelectionBound const&) () at ./../../../../../src/3rdparty/chromium/ui/touch_selection/touch_selection_controller.cc:151 #9 0x0000007fed541eb0 in QtWebEngineCore::RenderWidgetHostViewQt::OnRenderFrameMetadataChangedAfterActivation(base::TimeTicks) () at /build/qt6-webengine-5ltows/qt6-webengine-6.4.2-final+dfsg/src/core/render_widget_host_view_qt.cpp:1003 #10 0x0000007feeb7d7a8 in content::RenderFrameMetadataProviderImpl::OnRenderFrameMetadataChangedAfterActivation(cc::RenderFrameMetadata, base::TimeTicks) () at ../../../../../src/3rdparty/chromium/content/browser/renderer_host/render_frame_metadata_provider_impl.cc:89 #11 0x0000007feeb7cb68 in base::internal::FunctorTraits<void (content::RenderFrameMetadataProviderImpl::*)(cc::RenderFrameMetadata, base::TimeTicks), void>::Invoke<void (content::RenderFrameMetadataProviderImpl::*)(cc::RenderFrameMetadata, base::TimeTicks), base::WeakPtr<content::RenderFrameMetadataProviderImpl>, cc::RenderFrameMetadata, base::TimeTicks>(void (content::RenderFrameMetadataProviderImpl::*)(cc::RenderFrameMetadata, base::TimeTicks), base::WeakPtr<content::RenderFrameMetadataProviderImpl>&&, cc::RenderFrameMetadata&&, base::TimeTicks&&) () at ../../../../../src/3rdparty/chromium/base/bind_internal.h:542 #12 base::internal::InvokeHelper<true, void>::MakeItSo<void (content::RenderFrameMetadataProviderImpl::*)(cc::RenderFrameMetadata, base::TimeTicks), base::WeakPtr<content::RenderFrameMetadataProviderImpl>, cc::RenderFrameMetadata, base::TimeTicks>(void (content::RenderFrameMetadataProviderImpl::*&&)(cc::RenderFrameMetadata, base::TimeTicks), base::WeakPtr<content::RenderFrameMetadataProviderImpl>&&, cc::RenderFrameMetadata&&, base::TimeTicks&&) () at ../../../../../src/3rdparty/chromium/base/bind_internal.h:726 #13 base::internal::Invoker<base::internal::BindState<void (content::RenderFrameMetadataProviderImpl::*)(cc::RenderFrameMetadata, base::TimeTicks), base::WeakPtr<content::RenderFrameMetadataProviderImpl>, cc::RenderFrameMetadata>, void (base::TimeTicks)>::RunImpl<void (content::RenderFrameMetadataProviderImpl::*)(cc::RenderFrameMetadata, base::TimeTicks), std::tuple<base::WeakPtr<content::RenderFrameMetadataProviderImpl>, cc::RenderFrameMetadata>, 0ul, 1ul>(void (content::RenderFrameMetadataProviderImpl::*&&)(cc::RenderFrameMetadata, base::TimeTicks), std::tuple<base::WeakPtr<content::RenderFrameMetadataProviderImpl>, cc::RenderFrameMetadata>&&, std::integer_sequence<unsigned long, 0ul, 1ul>, base::TimeTicks&&) () at ../../../../../src/3rdparty/chromium/base/bind_internal.h:779 #14 base::internal::Invoker<base::internal::BindState<void (content::RenderFrameMetadataProviderImpl::*)(cc::RenderFrameMetadata, base::TimeTicks), base::WeakPtr<content::RenderFrameMetadataProviderImpl>, cc::RenderFrameMetadata>, void (base::TimeTicks)>::RunOnce(base::internal::BindStateBase*, base::TimeTicks&&) () at ../../../../../src/3rdparty/chromium/base/bind_internal.h:748 #15 0x0000007feea70aa0 in base::OnceCallback<void (base::TimeTicks)>::Run(base::TimeTicks) && () at ../../../../../src/3rdparty/chromium/base/callback.h:143 #16 content::FrameTokenMessageQueue::DidProcessFrame(unsigned int, base::TimeTicks) () at ../../../../../src/3rdparty/chromium/content/browser/renderer_host/frame_token_message_queue.cc:52 #17 0x0000007fee17d1fc in viz::mojom::FrameSinkManagerClientStubDispatch::Accept(viz::mojom::FrameSinkManagerClient*, mojo::Message*) () at gen/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.cc:2717 #18 0x0000007ff0d189c0 in mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message*) () at ../../../../../src/3rdparty/chromium/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:957 #19 0x0000007ff0d19498 in mojo::MessageDispatcher::Accept(mojo::Message*) () at ../../../../../src/3rdparty/chromium/mojo/public/cpp/bindings/lib/message_dispatcher.cc:43 #20 0x0000007ff0d181c0 in mojo::InterfaceEndpointClient::HandleIncomingMessage(mojo::Message*) () at ../../../../../src/3rdparty/chromium/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:690 #21 0x0000007ff0d1d7f4 in mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) () at ../../../../../src/3rdparty/chromium/mojo/public/cpp/bindings/lib/multiplex_router.cc:1102 #22 0x0000007ff0d20764 in mojo::internal::MultiplexRouter::Accept(mojo::Message*) () at ../../../../../src/3rdparty/chromium/mojo/public/cpp/bindings/lib/multiplex_router.cc:716 #23 0x0000007ff0d19498 in mojo::MessageDispatcher::Accept(mojo::Message*) () at ../../../../../src/3rdparty/chromium/mojo/public/cpp/bindings/lib/message_dispatcher.cc:43 #24 0x0000007ff0d12ed8 in mojo::Connector::DispatchMessage(mojo::ScopedHandleBase<mojo::MessageHandle>) () at ../../../../../src/3rdparty/chromium/mojo/public/cpp/bindings/lib/connector.cc:561 #25 0x0000007ff0d13604 in mojo::Connector::ReadAllAvailableMessages() () at ../../../../../src/3rdparty/chromium/mojo/public/cpp/bindings/lib/connector.cc:618 #26 0x0000007ff0d35af8 in base::RepeatingCallback<void (unsigned int, mojo::HandleSignalsState const&)>::Run(unsigned int, mojo::HandleSignalsState const&) const & () at ../../../../../src/3rdparty/chromium/base/callback.h:242 #27 mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) () at ../../../../../src/3rdparty/chromium/mojo/public/cpp/system/simple_watcher.cc:278 #28 0x0000007ff05d886c in base::OnceCallback<void ()>::Run() && () at ../../../../../src/3rdparty/chromium/base/callback.h:143 #29 base::TaskAnnotator::RunTaskImpl(base::PendingTask&) () at ./../../../../../src/3rdparty/chromium/base/task/common/task_annotator.cc:135 #30 0x0000007ff05ee8a8 in RunTask<base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*)::<lambda(perfetto::EventContext&)> > () at ../../../../../src/3rdparty/chromium/base/task/common/task_annotator.h:74 #31 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*) () at ./../../../../../src/3rdparty/chromium/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:386 #32 0x0000007ff05eef80 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() () at ./../../../../../src/3rdparty/chromium/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:291 #33 0x0000007fed4c5e68 in QtWebEngineCore::MessagePumpForUIQt::handleScheduledWork() () at /build/qt6-webengine-5ltows/qt6-webengine-6.4.2-final+dfsg/src/core/browser_main_parts_qt.cpp:190 #34 0x0000007ff5e728f4 in QObject::event(QEvent*) (this=0x5555df6340, e=0x7f34023cc0) at ./src/corelib/kernel/qobject.cpp:1355 #35 0x0000007ff71a7f7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5555df6340, e=0x7f34023cc0) at ./src/widgets/kernel/qapplication.cpp:3315 #36 0x0000007ff5e36624 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=receiver@entry=0x5555df6340, event=event@entry=0x7f34023cc0) at ./src/corelib/kernel/qcoreapplication.cpp:1026 #37 0x0000007ff5e36668 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=receiver@entry=0x5555df6340, event=event@entry=0x7f34023cc0) at ./src/corelib/kernel/qcoreapplication.cpp:1442 #38 0x0000007ff5e3689c in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55556f7af0) at ./src/corelib/kernel/qcoreapplication.cpp:1804 #39 0x0000007ff6016ea8 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55556fb9f0) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:243 #40 0x0000007fec30774c in g_main_dispatch (context=0x555570efc0) at ../../../glib/gmain.c:3454 #41 g_main_context_dispatch (context=context@entry=0x555570efc0) at ../../../glib/gmain.c:4172 #42 0x0000007fec3079e0 in g_main_context_iterate (context=context@entry=0x555570efc0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4248 #43 0x0000007fec307a84 in g_main_context_iteration (context=0x555570efc0, may_block=1) at ../../../glib/gmain.c:4313 #44 0x0000007ff6014804 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55556fba70, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393 #45 0x0000007ff5e40610 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffffed80, flags=...) at ./src/corelib/global/qflags.h:34 #46 0x0000007ff5e39448 in QCoreApplication::exec() () at ./src/corelib/global/qflags.h:74 #47 0x000000555556b4a0 in main ()