Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#76053 - [qgnomeplatform-qt5] libqgnomeplatformdecoration.so segfaults in GNOME Wayland

Attached to Project: Community Packages
Opened by Keyu Tao (taoky) - Thursday, 29 September 2022, 04:57 GMT
Last edited by Antonio Rojas (arojas) - Thursday, 29 September 2022, 07:26 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

With `QT_QPA_PLATFORM=wayland` all Qt5 programs in GNOME Wayland crashes when mouse hovers the minimum/maximum/close icon in window decoration.

The upstream (<https://github.com/FedoraQt/QGnomePlatform>) version at commit 36b4d103595c0915787c608834207f3d37ae67a0 works just fine so it does not look like an upstream bug.

Also I noticed that "This library will have to be recompiled with every Qt update", so maybe maintainers should rebuild this package, or set a stricter dependencies requirement for it?

Additional info:
* package version(s)

qgnomeplatform-qt5 0.9.0-1

* config and/or log files etc.

GDB backtrace:

#0 0x00007fb544b9b1b4 in QGnomePlatformDecoration::forceRepaint() () at /usr/lib/qt/plugins/wayland-decoration-client/libqgnomeplatformdecoration.so
#1 0x00007fb544b9b628 in QGnomePlatformDecoration::updateButtonHoverState(Button) () at /usr/lib/qt/plugins/wayland-decoration-client/libqgnomeplatformdecoration.so
#2 0x00007fb544b9ba8a in QGnomePlatformDecoration::processMouseTop(QtWaylandClient::QWaylandInputDevice*, QPointF const&, QFlags<Qt::MouseButton>, QFlags<Qt::KeyboardModifier>) () at /usr/lib/qt/plugins/wayland-decoration-client/libqgnomeplatformdecoration.so
#3 0x00007fb544b9bd81 in QGnomePlatformDecoration::handleMouse(QtWaylandClient::QWaylandInputDevice*, QPointF const&, QPointF const&, QFlags<Qt::MouseButton>, QFlags<Qt::KeyboardModifier>) () at /usr/lib/qt/plugins/wayland-decoration-client/libqgnomeplatformdecoration.so
#4 0x00007fb54fcf0fec in QtWaylandClient::QWaylandWindow::handleMouseEventWithDecoration(QtWaylandClient::QWaylandInputDevice*, QtWaylandClient::QWaylandPointerEvent const&) () at /usr/lib/libQt5WaylandClient.so.5
#5 0x00007fb54fcf13e5 in QtWaylandClient::QWaylandWindow::handleMouse(QtWaylandClient::QWaylandInputDevice*, QtWaylandClient::QWaylandPointerEvent const&) () at /usr/lib/libQt5WaylandClient.so.5
#6 0x00007fb54fce0368 in QtWaylandClient::QWaylandInputDevice::Pointer::flushFrameEvent() () at /usr/lib/libQt5WaylandClient.so.5
#7 0x00007fb550793536 in () at /usr/lib/libffi.so.8
#8 0x00007fb550790037 in () at /usr/lib/libffi.so.8
#9 0x00007fb55d4bf645 in () at /usr/lib/libwayland-client.so.0
#10 0x00007fb55d4bfe03 in () at /usr/lib/libwayland-client.so.0
#11 0x00007fb55d4bfffc in wl_display_dispatch_queue_pending () at /usr/lib/libwayland-client.so.0
#12 0x00007fb54fce2b56 in QtWaylandClient::QWaylandDisplay::flushRequests() () at /usr/lib/libQt5WaylandClient.so.5
#13 0x00007fb55495a520 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#14 0x00007fb555908b1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#15 0x00007fb554936b88 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#16 0x00007fb554937693 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#17 0x00007fb55497d728 in () at /usr/lib/libQt5Core.so.5
#18 0x00007fb5552a881b in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#19 0x00007fb5552feec9 in () at /usr/lib/libglib-2.0.so.0
#20 0x00007fb5552a70d2 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#21 0x00007fb55498150c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#22 0x00007fb55492f32c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#23 0x00007fb554939e59 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#24 0x0000562aa0fd9163 in main ()

* link to upstream bug report, if any

N/A

Steps to reproduce:

1. Install qgnomeplatform-qt5 package
2. In GNOME Wayland session open any Qt5 program with `QT_QPA_PLATFORM=wayland` env, such as `QT_QPA_PLATFORM=wayland wireshark`. And although by default QT_QPA_PLATFORM is not set to "wayland", some Qt programs will still try to use Wayland backend, such as OBS 27.2.4-2.
This task depends upon

Closed by  Antonio Rojas (arojas)
Thursday, 29 September 2022, 07:26 GMT
Reason for closing:  Fixed
Additional comments about closing:  qgnomeplatform-qt5 0.9.0-2
Comment by Antonio Rojas (arojas) - Thursday, 29 September 2022, 06:47 GMT
Please test 0.9.0-2
Comment by Keyu Tao (taoky) - Thursday, 29 September 2022, 07:13 GMT
I tested 0.9.0-2 and this bug has been fixed by that.

Loading...