Bug 412809

Summary: Gwenview crashes when opening a picture under wayland
Product: [Applications] gwenview Reporter: Tianyu Zhu <tian.tian098>
Component: generalAssignee: Gwenview Bugs <gwenview-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: ennereu, meven29
Priority: NOR Keywords: drkonqi, wayland
Version: 19.08.1   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Tianyu Zhu 2019-10-10 11:17:52 UTC
Application: gwenview (19.08.1)

Qt Version: 5.13.1
Frameworks Version: 5.62.0
Operating System: Linux 5.3.2-1-default x86_64
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:
I was loading a large folder of pictures (around 45k files). Gwenview crashed when I hit <enter> to load a picture.

- Custom settings of the application:
Gwenview started using Wayland.

The crash can be reproduced every time.

-- Backtrace:
Application: Gwenview (gwenview), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f2bddbc99c0 (LWP 12830))]

Thread 3 (Thread 0x7f2bd8868700 (LWP 12832)):
#0  0x00007f2bdf8286a5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2bd91a672b in ?? () from /usr/lib64/dri/i965_dri.so
#2  0x00007f2bd91a5067 in ?? () from /usr/lib64/dri/i965_dri.so
#3  0x00007f2bdf821f2a in start_thread () from /lib64/libpthread.so.0
#4  0x00007f2be10a54af in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f2bdb435700 (LWP 12831)):
#0  0x00007f2be109abdf in poll () from /lib64/libc.so.6
#1  0x00007f2bdef883ce in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f2bdef8849f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f2be163c99b in QEventDispatcherGlib::processEvents (this=0x7f2bd4000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f2be15e50db in QEventLoop::exec (this=this@entry=0x7f2bdb434bb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#5  0x00007f2be141d021 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#6  0x00007f2be0e464f6 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007f2be141e1a2 in QThreadPrivate::start (arg=0x7f2be0ec8d80) at thread/qthread_unix.cpp:360
#8  0x00007f2bdf821f2a in start_thread () from /lib64/libpthread.so.0
#9  0x00007f2be10a54af in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f2bddbc99c0 (LWP 12830)):
[KCrash Handler]
#6  0x00007f2be0fe20d1 in raise () from /lib64/libc.so.6
#7  0x00007f2be0fcb55d in abort () from /lib64/libc.so.6
#8  0x00007f2be32248e1 in wl_abort (fmt=fmt@entry=0x7f2be3229e88 "Error marshalling request: %s\n") at src/wayland-util.c:417
#9  0x00007f2be322809d in wl_proxy_marshal_array_constructor_versioned (proxy=proxy@entry=0x560214622f30, opcode=opcode@entry=1, args=args@entry=0x7ffccff45810, interface=interface@entry=0x7f2bdbe79500 <wl_subsurface_interface>, version=<optimized out>) at src/wayland-client.c:744
#10 0x00007f2be3228289 in wl_proxy_marshal_array_constructor (proxy=proxy@entry=0x560214622f30, opcode=opcode@entry=1, args=args@entry=0x7ffccff45810, interface=interface@entry=0x7f2bdbe79500 <wl_subsurface_interface>) at src/wayland-client.c:690
#11 0x00007f2be3228387 in wl_proxy_marshal_constructor (proxy=0x560214622f30, opcode=opcode@entry=1, interface=0x7f2bdbe79500 <wl_subsurface_interface>) at src/wayland-client.c:824
#12 0x00007f2bdbdd2dbf in wl_subcompositor_get_subsurface (parent=<optimized out>, surface=<optimized out>, wl_subcompositor=<optimized out>) at ../../include/QtWaylandClient/5.13.1/QtWaylandClient/private/../../../../../src/client/wayland-wayland-client-protocol.h:5399
#13 QtWayland::wl_subcompositor::get_subsurface (this=this@entry=0x560214622f10, surface=<optimized out>, parent=<optimized out>) at qwayland-wayland.cpp:2269
#14 0x00007f2bdbda83e7 in QtWaylandClient::QWaylandDisplay::createSubSurface (this=<optimized out>, window=window@entry=0x5602148d97f0, parent=parent@entry=0x560214bf9030) at ../../include/QtWaylandClient/5.13.1/QtWaylandClient/private/../../../../../src/client/qwayland-wayland.h:622
#15 0x00007f2bdbdb49e5 in QtWaylandClient::QWaylandWindow::initWindow (this=0x5602148d97f0) at qwaylandwindow.cpp:128
#16 0x00007f2bdbdb4ffa in QtWaylandClient::QWaylandWindow::setVisible (visible=true, this=0x5602148d97f0) at qwaylandwindow.cpp:397
#17 QtWaylandClient::QWaylandWindow::setVisible (this=this@entry=0x5602148d97f0, visible=<optimized out>) at qwaylandwindow.cpp:392
#18 0x00007f2bd973f3d4 in QtWaylandClient::QWaylandEglWindow::setVisible (this=0x5602148d97f0, visible=<optimized out>) at ../../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp:168
#19 0x00007f2be1c09544 in QWindowPrivate::setVisible (this=0x560214a29900, visible=visible@entry=true) at kernel/qwindow.cpp:408
#20 0x00007f2be228f47d in QWidgetWindow::setNativeWindowVisibility (this=this@entry=0x5602149e3030, visible=visible@entry=true) at kernel/qwidgetwindow.cpp:205
#21 0x00007f2be2268d67 in QWidgetPrivate::show_sys (this=this@entry=0x560214b87a20) at kernel/qwidget.cpp:8173
#22 0x00007f2be2271acb in QWidgetPrivate::show_helper (this=0x560214b87a20) at kernel/qwidget.cpp:8096
#23 0x00007f2be22718f1 in QWidgetPrivate::show_recursive (this=<optimized out>) at kernel/qwidget.cpp:7965
#24 0x00007f2be2271a2a in QWidgetPrivate::showChildren (this=this@entry=0x560214c57180, spontaneous=spontaneous@entry=false) at kernel/qwidget.h:131
#25 0x00007f2be2271a9f in QWidgetPrivate::show_helper (this=this@entry=0x560214c57180) at kernel/qwidget.cpp:8041
#26 0x00007f2be2274bc3 in QWidgetPrivate::setVisible (this=0x560214c57180, visible=<optimized out>) at kernel/qwidget.cpp:8398
#27 0x00007f2be2258f64 in QStackedLayout::setCurrentIndex (this=0x5602147126c0, index=1) at kernel/qstackedlayout.cpp:321
#28 0x00007f2be2259209 in QStackedLayout::setCurrentWidget (this=0x5602147126c0, widget=widget@entry=0x560214962360) at kernel/qstackedlayout.cpp:376
#29 0x00007f2be23e47a5 in QStackedWidget::setCurrentWidget (this=<optimized out>, widget=0x560214962360) at widgets/qstackedwidget.cpp:248
#30 0x0000560214027e0b in Gwenview::MainWindow::setActiveViewModeAction (this=0x5602146b9630, action=<optimized out>) at /usr/src/debug/gwenview5-19.08.1-1.2.x86_64/app/mainwindow.cpp:1002
#31 0x00007f2be1611638 in QtPrivate::QSlotObjectBase::call (a=0x7ffccff45ff0, r=0x5602146b9630, this=0x5602149c9470) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#32 QMetaObject::activate (sender=0x5602149c94f0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3789
#33 0x00007f2be223000f in QActionGroup::triggered (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qactiongroup.cpp:247
#34 0x00007f2be22301f8 in QActionGroupPrivate::_q_actionTriggered (this=<optimized out>) at kernel/qactiongroup.cpp:91
#35 0x00007f2be2230ad2 in QActionGroup::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at kernel/qactiongroup.h:56
#36 0x00007f2be16114d8 in QMetaObject::activate (sender=0x5602149cf0b0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3809
#37 0x00007f2be222c852 in QAction::triggered (this=this@entry=0x5602149cf0b0, _t1=<optimized out>) at .moc/moc_qaction.cpp:381
#38 0x00007f2be222ef22 in QAction::activate (this=0x5602149cf0b0, event=<optimized out>) at kernel/qaction.cpp:1166
#39 0x0000560214026dc2 in QAction::trigger (this=<optimized out>) at /usr/include/qt5/QtWidgets/qaction.h:187
#40 Gwenview::MainWindow::toggleSlideShow (this=0x5602146b9630) at /usr/src/debug/gwenview5-19.08.1-1.2.x86_64/app/mainwindow.cpp:1480
#41 0x0000560213ffaf8c in Gwenview::MainWindow::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/gwenview5-19.08.1-1.2.x86_64/build/app/gwenview_autogen/EWIEGA46WW/moc_mainwindow.cpp:221
#42 0x00007f2be16114d8 in QMetaObject::activate (sender=0x560214b91fb0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3809
#43 0x00007f2be222c852 in QAction::triggered (this=this@entry=0x560214b91fb0, _t1=<optimized out>) at .moc/moc_qaction.cpp:381
#44 0x00007f2be222ef22 in QAction::activate (this=0x560214b91fb0, event=<optimized out>) at kernel/qaction.cpp:1166
#45 0x00007f2be222f7bf in QAction::event (e=<optimized out>, this=<optimized out>) at kernel/qaction.cpp:1092
#46 QAction::event (this=<optimized out>, e=<optimized out>) at kernel/qaction.cpp:1081
#47 0x00007f2be2232c62 in QApplicationPrivate::notify_helper (this=this@entry=0x5602146134a0, receiver=receiver@entry=0x560214b91fb0, e=e@entry=0x7ffccff466a0) at kernel/qapplication.cpp:3703
#48 0x00007f2be223c1e0 in QApplication::notify (this=0x7ffccff46c00, receiver=0x560214b91fb0, e=0x7ffccff466a0) at kernel/qapplication.cpp:3449
#49 0x00007f2be15e6572 in QCoreApplication::notifyInternal2 (receiver=0x560214b91fb0, event=0x7ffccff466a0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:143
#50 0x00007f2be1c289ae in QShortcutMap::dispatchEvent (this=this@entry=0x560214613580, e=e@entry=0x7ffccff46750) at kernel/qshortcutmap.cpp:700
#51 0x00007f2be1c28a8b in QShortcutMap::tryShortcut (this=this@entry=0x560214613580, e=e@entry=0x7ffccff46750) at kernel/qshortcutmap.cpp:351
#52 0x00007f2be1bde4fe in QWindowSystemInterface::handleShortcutEvent (window=<optimized out>, window@entry=0x5602149faba0, timestamp=20678212, keyCode=32, modifiers=..., nativeScanCode=65, nativeVirtualKey=32, nativeModifiers=0, text=..., autorepeat=false, count=1) at kernel/qwindowsysteminterface.cpp:465
#53 0x00007f2be1bfae4d in QGuiApplicationPrivate::processKeyEvent (e=e@entry=0x56022bdc9170) at kernel/qguiapplication.cpp:2216
#54 0x00007f2be1c00271 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x56022bdc9170) at kernel/qguiapplication.cpp:1852
#55 0x00007f2be1bdb25b in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1148
#56 0x00007f2bdbde2230 in userEventSourceDispatch (source=<optimized out>) at qeventdispatcher_glib.cpp:74
#57 0x00007f2bdef866b3 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#58 0x00007f2bdef88460 in ?? () from /usr/lib64/libglib-2.0.so.0
#59 0x00007f2bdef8849f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#60 0x00007f2be163c981 in QEventDispatcherGlib::processEvents (this=0x560214642130, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#61 0x00007f2be15e50db in QEventLoop::exec (this=this@entry=0x7ffccff46b00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#62 0x00007f2be15ecd42 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#63 0x0000560213ff908d in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/gwenview5-19.08.1-1.2.x86_64/app/main.cpp:163
[Inferior 1 (process 12830) detached]

The reporter indicates this bug may be a duplicate of or related to bug 410083.

Possible duplicates by query: bug 410083, bug 381034, bug 381033.

Reported using DrKonqi
Comment 1 Bennet 2019-10-13 11:36:26 UTC
Seems to be a duplicate of https://bugs.kde.org/show_bug.cgi?id=410083, could you please confirm it.
Comment 2 Bug Janitor Service 2019-10-28 04:33:10 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Bennet 2019-10-31 16:45:59 UTC

*** This bug has been marked as a duplicate of bug 410083 ***
Comment 4 Méven Car 2019-10-31 17:00:31 UTC
This crash has strong similiraties with https://bugs.kde.org/show_bug.cgi?id=411596
The crash there ends with :

Thread 1 (Thread 0x7ff9e3d54800 (LWP 7577)):
[KCrash Handler]
#7  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#8  0x00007ff9e34ee801 in __GI_abort () at abort.c:79
#9  0x00007ff9ce196def in wl_abort (fmt=<optimized out>) at ../src/wayland-util.c:417
#10 0x00007ff9ce192c3d in wl_proxy_marshal_array_constructor_versioned (proxy=proxy@entry=0x55da790bdbf0, opcode=opcode@entry=1, args=args@entry=0x7ffd7a8ab730, interface=interface@entry=0x7ff9ce399b00 <wl_subsurface_interface>, version=1) at ../src/wayland-client.c:741
#11 0x00007ff9ce192c59 in wl_proxy_marshal_array_constructor (proxy=proxy@entry=0x55da790bdbf0, opcode=opcode@entry=1, args=args@entry=0x7ffd7a8ab730, interface=interface@entry=0x7ff9ce399b00 <wl_subsurface_interface>) at ../src/wayland-client.c:687
#12 0x00007ff9ce192e5a in wl_proxy_marshal_constructor (proxy=0x55da790bdbf0, opcode=opcode@entry=1, interface=0x7ff9ce399b00 <wl_subsurface_interface>) at ../src/wayland-client.c:821
#13 0x00007ff9ce618baf in wl_subcompositor_get_subsurface (parent=<optimized out>, surface=<optimized out>, wl_subcompositor=<optimized out>) at ../../include/QtWaylandClient/5.12.3/QtWaylandClient/private/../../../../../src/client/wayland-wayland-client-protocol.h:4144
#14 QtWayland::wl_subcompositor::get_subsurface (this=<optimized out>, surface=<optimized out>, parent=<optimized out>) at qwayland-wayland.cpp:2038
#15 0x00007ff9ce5f7176 in QtWaylandClient::QWaylandDisplay::createSubSurface (this=<optimized out>, window=window@entry=0x55da7a4882b0, parent=parent@entry=0x55da7a4df880) at qwaylanddisplay.cpp:114
#16 0x00007ff9ce5fe7fe in QtWaylandClient::QWaylandWindow::initWindow (this=this@entry=0x55da7a4882b0) at qwaylandwindow.cpp:136
#17 0x00007ff9ce5feff4 in QtWaylandClient::QWaylandWindow::setVisible (this=this@entry=0x55da7a4882b0, visible=<optimized out>) at qwaylandwindow.cpp:389
#18 0x00007ff9cad329b4 in QtWaylandClient::QWaylandEglWindow::setVisible (this=0x55da7a4882b0, visible=<optimized out>) at ../../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp:168
#19 0x00007ff9ddcb9234 in QWindowPrivate::setVisible (this=0x55da7a10fa60, visible=visible@entry=true) at kernel/qwindow.cpp:402
#20 0x00007ff9de539dbd in QWidgetWindow::setNativeWindowVisibility (this=this@entry=0x55da7a4d6980, visible=visible@entry=true) at kernel/qwidgetwindow.cpp:205

It looks like a QtWayland bug.
Comment 5 Méven Car 2019-10-31 18:14:12 UTC
I have opened qt bug about this bug https://bugreports.qt.io/browse/QTBUG-79674
Comment 6 Méven Car 2019-11-14 13:15:37 UTC
https://bugreports.qt.io/browse/QTBUG-79674 was merged and probably will fix this.
It will be part of Qt 5.12.6, 5.13.3, 5.14RC1

Please confirm it if you can test with those versions