Closed slartibart70 closed 8 months ago
I am on archlinux, KDE and wayland. QT_QPA_PLATFORM=xcb zeal
works fine for me but QT_QPA_PLATFORM=wayland zeal
stutters heavily. Mouse events have a delay in the order of seconds.
zeal-0.7.0-1
I attached gdb and suspended the process when it did not respond to UI events. The backtrace suggests it is not a bug in zeal
#0 0x00007fffebd20f6f in __GI___poll (fds=0x7fffffffd5d8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffc6c08aa4 in () at /usr/lib/libnvidia-eglcore.so.545.29.02
#2 0x00007fffd5c9eb2b in () at /usr/lib/libEGL_nvidia.so.0
#3 0x00007fffd5ca00c3 in () at /usr/lib/libEGL_nvidia.so.0
#4 0x00007fffd5c49614 in () at /usr/lib/libEGL_nvidia.so.0
#5 0x00007fffece457c8 in () at /usr/bin/../lib/libQt6WebEngineCore.so.6
#6 0x00007fff90dfac10 in ()
#7 0x0000555555aaae40 in ()
#8 0x00007fffffffd830 in ()
#9 0x00007fffece45bd8 in () at /usr/bin/../lib/libQt6WebEngineCore.so.6
#10 0x0000555555bf1ee0 in ()
#11 0x0000555555aaae40 in ()
#12 0x00007fffffffd850 in ()
#13 0x00007fffecdea972 in QtWebEngineCore::RenderWidgetHostViewQtDelegateItem::onBeforeRendering() () at /usr/bin/../lib/libQt6WebEngineCore.so.6
#14 0x00007fff90154138 in ()
#15 0x00007fffffffd8e8 in ()
#16 0x00007ffff73b9a59 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x555555b90c00, r=0x555555bdded0, this=0x555555bf1eb0, this=<optimized out>, r=<optimized out>, a=<optimized out>)
at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobjectdefs_impl.h:433
#17 doActivate<false>(QObject*, int, void**) (sender=0x555555b96930, signal_index=27, argv=0x555555b90c00) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobject.cpp:4021
#18 0x00007fffea276689 in QQuickWindowPrivate::renderSceneGraph() () at /usr/bin/../lib/libQt6Quick.so.6
#19 0x00007fffeae61b36 in () at /usr/bin/../lib/libQt6QuickWidgets.so.6
#20 0x00007fffeae62010 in QQuickWidget::timerEvent(QTimerEvent*) () at /usr/bin/../lib/libQt6QuickWidgets.so.6
#21 0x00007ffff73a4fe6 in QObject::event(QEvent*) (this=0x555555bf9da0, e=0x7fffffffdbe0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobject.cpp:1414
#22 0x00007ffff797318b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x555555bf9da0, e=0x7fffffffdbe0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/widgets/kernel/qapplication.cpp:3290
#23 0x00007ffff73626d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555555bf9da0, event=0x7fffffffdbe0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qcoreapplication.cpp:1118
#24 0x00007ffff74c7b86 in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7fffffffdbe0, receiver=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qcoreapplication.cpp:1536
#25 QTimerInfoList::activateTimers() (this=0x555555735560) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qtimerinfo_unix.cpp:507
#26 0x00007ffff7599cac in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventdispatcher_glib.cpp:149
#27 0x00007fffeba3ef69 in () at /usr/bin/../lib/libglib-2.0.so.0
#28 0x00007fffeba9d327 in () at /usr/bin/../lib/libglib-2.0.so.0
#29 0x00007fffeba3d162 in g_main_context_iteration () at /usr/bin/../lib/libglib-2.0.so.0
#30 0x00007ffff7597934 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555556ea270, flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventdispatcher_glib.cpp:393
#31 0x00007ffff736cc5e in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=..., this=0x7fffffffdeb0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventloop.cpp:100
#32 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffffffdeb0, flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventloop.cpp:182
#33 0x00007ffff7365178 in QCoreApplication::exec() () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/global/qflags.h:74
#34 0x0000555555591683 in main(int, char**) (argc=<optimized out>, argv=0x7fffffffe2d8) at /usr/src/debug/zeal/zeal/src/app/main.cpp:261
Building zeal with Qt5 seems to fix it so I am sticking to zeal-git on AUR for now
Edit: Qt5 builds appear to be flaky as well https://bugreports.qt.io/browse/QTWB-73
Looks like an issue in Qt platform plugin and/or Qt WebEngine :( Not something I can fix on Zeal side.
It is fixed on plasma 6, Qt 6.6.2. Zeal works fine for me - the app does not crash on exit and the webengine no longer lags
Closing per above comment.
Just a heads-up: qt6-webengine 6.6.3-1
broke it again yesterday.
Workarounds from upstream bug report:
QTWEBENGINE_CHROMIUM_FLAGS=--disable-gpu
or QT_OPENGL_NO_SANITY_CHECK=1
fixes it for me
On fedora38/wayland zeal dumps on exit:
This does not happen when started with xwayland:
QT_QPA_PLATFORM=xcb zeal