Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some issues when using a Wayland compositor #1373

Closed
xerpi opened this issue Oct 5, 2016 · 6 comments
Closed

Some issues when using a Wayland compositor #1373

xerpi opened this issue Oct 5, 2016 · 6 comments
Labels
bug Broken behavior. qt issue Qt related issue.

Comments

@xerpi
Copy link

xerpi commented Oct 5, 2016

I'm using Tiled on Arch Linux GNOME Shell 3.22 Wayland.

When using the Qt's X11 backend through XWayland everything looks/works fine, except when saving, or when opening (whenever it should pop out a file select dialog in general).
Here's some GDB backtrace when clicking the Open menu entry:

Thread 1 "tiled" received signal SIGSEGV, Segmentation fault.
0x00000000013a5c90 in ?? ()
(gdb) bt
#0  0x00000000013a5c90 in  ()
#1  0x00007ffff107a567 in XChangeProperty () at /usr/lib/libX11.so.6
#2  0x00007ffff1097919 in XSetTransientForHint () at /usr/lib/libX11.so.6
#3  0x00007fffe968a46e in  () at /usr/lib/qt/plugins/platformthemes/libqgtk3.so
#4  0x00007fffe968d101 in  () at /usr/lib/qt/plugins/platformthemes/libqgtk3.so
#5  0x00007ffff73fc6f0 in QDialogPrivate::setNativeDialogVisible(bool) () at /usr/lib/libQt5Widgets.so.5
#6  0x00007ffff740ed32 in QFileDialog::setVisible(bool) () at /usr/lib/libQt5Widgets.so.5
#7  0x00007ffff73fd5a1 in QDialog::exec() () at /usr/lib/libQt5Widgets.so.5
#8  0x00007ffff740f8fb in QFileDialog::getOpenFileUrls(QWidget*, QString const&, QUrl const&, QString const&, QString*, QFlags<QFileDialog::Option>, QStringList const&) () at /usr/lib/libQt5Widgets.so.5
#9  0x00007ffff740fa9f in QFileDialog::getOpenFileNames(QWidget*, QString const&, QString const&, QString const&, QString*, QFlags<QFileDialog::Option>) () at /usr/lib/libQt5Widgets.so.5
#10 0x000000000053927b in  ()
#11 0x00000000005f7f60 in  ()
#12 0x00007ffff61f3659 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#13 0x00007ffff720a442 in QAction::triggered(bool) () at /usr/lib/libQt5Widgets.so.5
#14 0x00007ffff720ce30 in QAction::activate(QAction::ActionEvent) () at /usr/lib/libQt5Widgets.so.5
#15 0x00007ffff737ae6a in  () at /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff738105c in  () at /usr/lib/libQt5Widgets.so.5
#17 0x00007ffff7385050 in QMenu::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/libQt5Widgets.so.5
#18 0x00007ffff7257ef8 in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#19 0x00007ffff7385b0b in QMenu::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#20 0x00007ffff7210e0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#21 0x00007ffff721943d in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#22 0x00007ffff61c7de0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#23 0x00007ffff7217aed in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib/libQt5Widgets.so.5
#24 0x00007ffff7272580 in  () at /usr/lib/libQt5Widgets.so.5
#25 0x00007ffff7274743 in  () at /usr/lib/libQt5Widgets.so.5
#26 0x00007ffff7210e0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#27 0x00007ffff7218581 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#28 0x00007ffff61c7de0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#29 0x00007ffff6a7f303 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
    at /usr/lib/libQt5Gui.so.5
#30 0x00007ffff6a80e85 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
    at /usr/lib/libQt5Gui.so.5
---Type <return> to continue, or q <return> to quit---
#31 0x00007ffff6a5ecab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/libQt5Gui.so.5
#32 0x00007fffecf522f0 in  () at /usr/lib/libQt5XcbQpa.so.5
#33 0x00007ffff2f5e587 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#34 0x00007ffff2f5e7f0 in  () at /usr/lib/libglib-2.0.so.0
#35 0x00007ffff2f5e89c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#36 0x00007ffff621c70f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#37 0x00007ffff61c623a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#38 0x00007ffff61ce73c in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#39 0x0000000000457cc9 in  ()
#40 0x00007ffff5103291 in __libc_start_main () at /usr/lib/libc.so.6
#41 0x00000000004586ca in  ()
(gdb) 

I haven't compiled with debug symbols, so if you need a full backtrace I'll enable them.

Also, when running tiled with Qt's EGL Wayland backend (QT_QPA_PLATFORM=wayland), the tile map editor flickers, but at least it doesn't crash on the file select dialog.
Here's some video I've recorded: https://a.pomf.cat/oyilbh.webm

@bjorn
Copy link
Member

bjorn commented Oct 5, 2016

Thanks for the report. My first question would be, does the Open File dialog work in any other Qt application? Judging by the backtrace this crash is really in Qt's GTK3 platform plugin so it's not something that I could fix in Tiled.

Note that Tiled should work fine without Qt's GTK3 platform plugin, so as a workaround you may want to try just removing it.

Also, when running tiled with Qt's EGL Wayland backend (QT_QPA_PLATFORM=wayland), the tile map editor flickers, but at least it doesn't crash on the file select dialog.
Here's some video I've recorded: https://a.pomf.cat/oyilbh.webm

Unfortunately I can't see the video right now, but also here I think we'll have to forward this problem to the Qt issue tracker.

@bjorn bjorn added bug Broken behavior. qt issue Qt related issue. labels Oct 5, 2016
@xerpi
Copy link
Author

xerpi commented Oct 5, 2016

I haven't tried with other Qt applications, but it seems like other people are having the same problems and they already reported this bug to both the Qt and the GNOME issue trackers:
https://bugreports.qt.io/browse/QTBUG-55583
https://bugzilla.gnome.org/show_bug.cgi?id=769743

@bjorn
Copy link
Member

bjorn commented Oct 6, 2016

@xerpi Thanks for the references! I've just voted up the Qt issue for now.

@ranjak
Copy link
Contributor

ranjak commented Oct 20, 2016

I'm on Arch with GNOME as well, and I can confirm the the Open File dialog causes the same issue in other Qt applications.

@bjorn
Copy link
Member

bjorn commented Oct 20, 2016

@ranjak The bug report is still unresolved. You may be able to help raising its priority by upvoting it. You can also find workarounds there.

@bjorn
Copy link
Member

bjorn commented Sep 9, 2022

Since the related QTBUG-55583 was closed with the fix going into Qt 5.8, I guess it's time to close this issue as well.

@bjorn bjorn closed this as completed Sep 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Broken behavior. qt issue Qt related issue.
Projects
None yet
Development

No branches or pull requests

3 participants