Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.12.4, 5.13.1
-
None
-
-
6d61b10 (qtbase/5.12, 19.6.2019, 5.12.4) 6d61b10f65cd276e009a02cec563cc469245e1f2 (qt/qtbase/5.12)
Description
When launching e.g. simplebrowser with QT_SCALE_FACTOR=2 and multiple screens, it crashes instantly.
With other QtWebEngine projects I tested, they didn't crash immediately, but did as soon as they were moved to be visible on multiple screens.
I'm guessing https://codereview.qt-project.org/c/qt/qtbase/+/251394 is to blame somehow.
Stack:
#0 0x00007ffff075c316 in QHighDpiScaling::mapPositionFromGlobal(QPoint const&, QPoint const&, QWindow const*) (pos=..., windowGlobalPosition=..., window=window@entry=0x555555d89680) at kernel/qhighdpiscaling.cpp:414 #1 0x00007ffff072cac4 in QWindow::mapFromGlobal(QPoint const&) const (this=0x555555d89680, pos=...) at kernel/qwindow.cpp:2571 #2 0x00007ffff14cccd0 in QQuickWindow::event(QEvent*) () at /usr/lib/libQt5Quick.so.5 #3 0x00007ffff0d23da4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x5555555c2f50, receiver=receiver@entry=0x555555d89680, e=e@entry=0x7fffffffcff0) at kernel/qapplication.cpp:3737 #4 0x00007ffff0d2b3c1 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffdb90, receiver=0x555555d89680, e=0x7fffffffcff0) at kernel/qapplication.cpp:3483 #5 0x00007fffefc31ef9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555555d89680, event=0x7fffffffcff0) at ../../include/QtCore/5.12.4/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:322 #6 0x00007fffef3ed2bc in QQuickWidget::event(QEvent*) () at /usr/lib/libQt5QuickWidgets.so.5 #7 0x00007ffff7f63c21 in QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget::event(QEvent*) (this=0x555555e60a90, event=0x7fffffffd460) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-everywhere-src-5.12.4/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp:489 #8 0x00007ffff0d23da4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x5555555c2f50, receiver=receiver@entry=0x555555e60a90, e=e@entry=0x7fffffffd460) at kernel/qapplication.cpp:3737 #9 0x00007ffff0d2b3c1 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffdb90, receiver=0x555555e60a90, e=0x7fffffffd460) at kernel/qapplication.cpp:3483 #10 0x00007fffefc31ef9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555555e60a90, event=0x7fffffffd460) at ../../include/QtCore/5.12.4/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:322 #11 0x00007ffff0d2a3cd in QApplicationPrivate::dispatchEnterLeave(QWidget*, QWidget*, QPointF const&) (enter=enter@entry=0x555555e60a90, leave=leave@entry=0x0, globalPosF=...) at kernel/qapplication.cpp:2333 #12 0x00007ffff0d2a772 in QApplicationPrivate::dispatchEnterLeave(QWidget*, QWidget*, QPointF const&) (enter=enter@entry=0x555555e60a90, leave=leave@entry=0x0, globalPosF=...) at kernel/qapplication.cpp:2256 #13 0x00007ffff0d7e4a6 in QWidgetWindow::handleEnterLeaveEvent(QEvent*) (this=0x555555e1f6a0, event=0x7fffffffd810) at ../../include/QtGui/../../src/gui/kernel/qevent.h:98 #14 0x00007ffff0d82b81 in QWidgetWindow::event(QEvent*) (event=0x7fffffffd810, this=0x555555e1f6a0) at kernel/qwidgetwindow.cpp:245 #15 0x00007ffff0d82b81 in QWidgetWindow::event(QEvent*) (this=0x555555e1f6a0, event=0x7fffffffd810) at kernel/qwidgetwindow.cpp:224 #16 0x00007ffff0d23da4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x5555555c2f50, receiver=receiver@entry=0x555555e1f6a0, e=e@entry=0x7fffffffd810) at kernel/qapplication.cpp:3737 #17 0x00007ffff0d2b3c1 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffdb90, receiver=0x555555e1f6a0, e=0x7fffffffd810) at kernel/qapplication.cpp:3483 #18 0x00007fffefc31ef9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555555e1f6a0, event=0x7fffffffd810) at ../../include/QtCore/5.12.4/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:322 #19 0x00007ffff07225dc in QGuiApplicationPrivate::processEnterEvent(QWindowSystemInterfacePrivate::EnterEvent*) (e=0x555559ef6ba0) at /usr/include/c++/8.3.0/bits/atomic_base.h:390 #20 0x00007ffff07225dc in QGuiApplicationPrivate::processEnterEvent(QWindowSystemInterfacePrivate::EnterEvent*) (e=0x555559ef6ba0) at kernel/qguiapplication.cpp:2253 #21 0x00007ffff0727566 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (e=e@entry=0x555559ef6ba0) at kernel/qguiapplication.cpp:1857 #22 0x00007ffff070255c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1151 #23 0x00007fffe51b9b7c in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at qxcbeventdispatcher.cpp:105 #24 0x00007fffe9e3090f in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #25 0x00007fffe9e32869 in () at /usr/lib/libglib-2.0.so.0 #26 0x00007fffe9e328ae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #27 0x00007fffefc87079 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555555c8740, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #28 0x00007fffefc30abc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffdb10, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #29 0x00007fffefc38c46 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #30 0x000055555556f1eb in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at main.cpp:84
I can't reproduce with other QtWidgets/qtquickcontrols examples, so it seems like this is QtWebEngine-specific somehow.