Bug 439450

Summary: Spectacle crashing when exporting image to online service
Product: [Applications] Spectacle Reporter: Michael SB <sbmichael>
Component: GeneralAssignee: groot
Status: RESOLVED FIXED    
Severity: crash CC: groot, kde
Priority: NOR Keywords: drkonqi
Version: 21.04.2   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Michael SB 2021-07-03 18:00:02 UTC
Application: spectacle (21.04.2)

Qt Version: 5.15.2
Frameworks Version: 5.83.0
Operating System: Linux 5.12.13-1-default x86_64
Windowing System: Wayland
Drkonqi Version: 5.22.2
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:
Took a screenshot, then exported to online service (imgur)

- Unusual behavior I noticed:
Spectacle crashed without completing the export to the online service.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Spectacle (spectacle), signal: Segmentation fault
Content of s_kcrashErrorMessage: [Current thread is 1 (Thread 0x7f6cc9fcf180 (LWP 2728))]
[KCrash Handler]
#6  0x00007f6cce8732e4 in KIPI::PluginLoader::interface (this=0x55730b35fbc0) at /usr/src/debug/libkipi-21.04.2-1.1.x86_64/src/pluginloader.cpp:378
#7  0x00007f6ca409bf4e in KIPIPlugins::KPDialogBase::Private::Private (this=0x55730b431b40) at /usr/src/debug/kipi-plugins-21.04.2-1.1.x86_64/common/libkipiplugins/dialogs/kptooldialog.cpp:66
#8  KIPIPlugins::KPDialogBase::KPDialogBase (this=<optimized out>, dlg=<optimized out>, this=<optimized out>, dlg=<optimized out>) at /usr/src/debug/kipi-plugins-21.04.2-1.1.x86_64/common/libkipiplugins/dialogs/kptooldialog.cpp:78
#9  0x00007f6ca409c188 in KIPIPlugins::KPToolDialog::KPToolDialog (this=<optimized out>, parent=<optimized out>, this=<optimized out>, parent=<optimized out>) at /usr/src/debug/kipi-plugins-21.04.2-1.1.x86_64/common/libkipiplugins/dialogs/kptooldialog.cpp:164
#10 0x00007f6c8811171b in KIPIImgurPlugin::ImgurWindow::ImgurWindow (this=this@entry=0x55730b425270) at /usr/src/debug/kipi-plugins-21.04.2-1.1.x86_64/imgur/imgurwindow.cpp:55
#11 0x00007f6c88113372 in KIPIImgurPlugin::Plugin_Imgur::slotActivate (this=0x55730b404480) at /usr/src/debug/kipi-plugins-21.04.2-1.1.x86_64/imgur/plugin_imgur.cpp:116
#12 0x00007f6cccbb2fe8 in doActivate<false> (sender=0x55730b4044f0, signal_index=4, argv=0x7ffedb9794f0) at kernel/qobject.cpp:3898
#13 0x00007f6cccbac47f in QMetaObject::activate (sender=sender@entry=0x55730b4044f0, m=m@entry=0x7f6ccdc400a0, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffedb9794f0) at kernel/qobject.cpp:3946
#14 0x00007f6ccd721182 in QAction::triggered (this=this@entry=0x55730b4044f0, _t1=<optimized out>) at .moc/moc_qaction.cpp:376
#15 0x00007f6ccd723db4 in QAction::activate (this=0x55730b4044f0, event=<optimized out>) at kernel/qaction.cpp:1161
#16 0x00007f6ccd8a93b2 in QMenuPrivate::activateCausedStack (this=this@entry=0x55730b257a10, causedStack=..., action=action@entry=0x55730b4044f0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1384
#17 0x00007f6ccd8b1161 in QMenuPrivate::activateAction (this=0x55730b257a10, action=0x55730b4044f0, action_e=QAction::Trigger, self=<optimized out>) at widgets/qmenu.cpp:1461
#18 0x00007f6ccd76971e in QWidget::event (this=0x55730b362330, event=0x7ffedb979b00) at kernel/qwidget.cpp:9020
#19 0x00007f6ccd727a7f in QApplicationPrivate::notify_helper (this=this@entry=0x55730acd7db0, receiver=receiver@entry=0x55730b362330, e=e@entry=0x7ffedb979b00) at kernel/qapplication.cpp:3632
#20 0x00007f6ccd72f584 in QApplication::notify (this=0x7ffedb979820, receiver=0x55730b362330, e=0x7ffedb979b00) at kernel/qapplication.cpp:3076
#21 0x00007f6cccb7c96a in QCoreApplication::notifyInternal2 (receiver=0x55730b362330, event=0x7ffedb979b00) at kernel/qcoreapplication.cpp:1064
#22 0x00007f6ccd72e093 in QApplicationPrivate::sendMouseEvent (receiver=0x55730b362330, event=event@entry=0x7ffedb979b00, alienWidget=0x0, nativeWidget=0x55730b362330, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#23 0x00007f6ccd783493 in QWidgetWindow::handleMouseEvent (this=0x55730b3c67e0, event=0x7ffedb979dd0) at kernel/qwidgetwindow.cpp:580
#24 0x00007f6ccd785da5 in QWidgetWindow::event (this=0x55730b3c67e0, event=0x7ffedb979dd0) at kernel/qwidgetwindow.cpp:300
#25 0x00007f6ccd727a7f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55730b3c67e0, e=0x7ffedb979dd0) at kernel/qapplication.cpp:3632
#26 0x00007f6cccb7c96a in QCoreApplication::notifyInternal2 (receiver=0x55730b3c67e0, event=0x7ffedb979dd0) at kernel/qcoreapplication.cpp:1064
#27 0x00007f6cccfd3817 in QGuiApplicationPrivate::processMouseEvent (e=0x55730b426ff0) at kernel/qguiapplication.cpp:2282
#28 0x00007f6cccfa99cc in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1169
#29 0x00007f6cca6a5a00 in userEventSourceDispatch (source=source@entry=0x55730ad67070) at qeventdispatcher_glib.cpp:74
#30 0x00007f6ccac4b80f in g_main_dispatch (context=0x55730ad3acd0) at ../glib/gmain.c:3337
#31 g_main_context_dispatch (context=0x55730ad3acd0) at ../glib/gmain.c:4055
#32 0x00007f6ccac4bb98 in g_main_context_iterate (context=context@entry=0x55730ad3acd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4131
#33 0x00007f6ccac4bc4f in g_main_context_iteration (context=0x55730ad3acd0, may_block=1) at ../glib/gmain.c:4196
#34 0x00007f6cccbd3e54 in QEventDispatcherGlib::processEvents (this=0x55730ad55ee0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#35 0x00007f6cccb7b36b in QEventLoop::exec (this=this@entry=0x7ffedb97a110, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#36 0x00007f6ccd8aec24 in QMenuPrivate::exec(QPoint const&, QAction*, std::function<QPoint (QSize const&)>) (this=0x55730b217680, p=..., action=action@entry=0x0, positionFunction=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#37 0x00007f6ccd8aed4f in QMenu::exec (this=<optimized out>, p=..., action=action@entry=0x0) at widgets/qmenu.cpp:2686
#38 0x00007f6ccd8c0d05 in QPushButtonPrivate::_q_popupPressed (this=0x55730b213fc0) at widgets/qpushbutton.cpp:602
#39 0x00007f6cccbb2fe8 in doActivate<false> (sender=0x55730b213f80, signal_index=7, argv=0x7ffedb97a2a0) at kernel/qobject.cpp:3898
#40 0x00007f6cccbac47f in QMetaObject::activate (sender=sender@entry=0x55730b213f80, m=m@entry=0x7f6ccdc454e0, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#41 0x00007f6ccd81a870 in QAbstractButton::pressed (this=this@entry=0x55730b213f80) at .moc/moc_qabstractbutton.cpp:295
#42 0x00007f6ccd81ac3d in QAbstractButtonPrivate::emitPressed (this=0x55730b213fc0) at widgets/qabstractbutton.cpp:437
#43 0x00007f6ccd81b555 in QAbstractButton::mousePressEvent (this=0x55730b213f80, e=0x7ffedb97a830) at widgets/qabstractbutton.cpp:1016
#44 0x00007f6ccd76971e in QWidget::event (this=0x55730b213f80, event=0x7ffedb97a830) at kernel/qwidget.cpp:9020
#45 0x00007f6ccd727a7f in QApplicationPrivate::notify_helper (this=this@entry=0x55730acd7db0, receiver=receiver@entry=0x55730b213f80, e=e@entry=0x7ffedb97a830) at kernel/qapplication.cpp:3632
#46 0x00007f6ccd72f584 in QApplication::notify (this=0x7ffedb97a550, receiver=0x55730b213f80, e=0x7ffedb97a830) at kernel/qapplication.cpp:3076
#47 0x00007f6cccb7c96a in QCoreApplication::notifyInternal2 (receiver=0x55730b213f80, event=0x7ffedb97a830) at kernel/qcoreapplication.cpp:1064
#48 0x00007f6ccd72e093 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55730b213f80, event=event@entry=0x7ffedb97a830, alienWidget=alienWidget@entry=0x55730b213f80, nativeWidget=0x55730ad31340, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#49 0x00007f6ccd78298c in QWidgetWindow::handleMouseEvent (this=0x55730b253e10, event=0x7ffedb97ab00) at kernel/qwidgetwindow.cpp:683
#50 0x00007f6ccd785da5 in QWidgetWindow::event (this=0x55730b253e10, event=0x7ffedb97ab00) at kernel/qwidgetwindow.cpp:300
#51 0x00007f6ccd727a7f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55730b253e10, e=0x7ffedb97ab00) at kernel/qapplication.cpp:3632
#52 0x00007f6cccb7c96a in QCoreApplication::notifyInternal2 (receiver=0x55730b253e10, event=0x7ffedb97ab00) at kernel/qcoreapplication.cpp:1064
#53 0x00007f6cccfd3817 in QGuiApplicationPrivate::processMouseEvent (e=0x55730b38e790) at kernel/qguiapplication.cpp:2282
#54 0x00007f6cccfa99cc in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1169
#55 0x00007f6cca6a5a00 in userEventSourceDispatch (source=source@entry=0x55730ad67070) at qeventdispatcher_glib.cpp:74
#56 0x00007f6ccac4b80f in g_main_dispatch (context=0x55730ad3acd0) at ../glib/gmain.c:3337
#57 g_main_context_dispatch (context=0x55730ad3acd0) at ../glib/gmain.c:4055
#58 0x00007f6ccac4bb98 in g_main_context_iterate (context=context@entry=0x55730ad3acd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4131
#59 0x00007f6ccac4bc4f in g_main_context_iteration (context=0x55730ad3acd0, may_block=1) at ../glib/gmain.c:4196
#60 0x00007f6cccbd3e54 in QEventDispatcherGlib::processEvents (this=0x55730ad55ee0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#61 0x00007f6cccb7b36b in QEventLoop::exec (this=this@entry=0x7ffedb97ae30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#62 0x00007f6cccb83650 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#63 0x00007f6cccfc71dc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#64 0x00007f6ccd7279f5 in QApplication::exec () at kernel/qapplication.cpp:2824
#65 0x00005573094ee6a4 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/spectacle-21.04.2-1.1.x86_64/src/Main.cpp:94
[Inferior 1 (process 2728) detached]

Reported using DrKonqi
Comment 1 Michael SB 2021-07-03 18:03:45 UTC
To clarify further, the crash happens as soon as I selected an online service from the list at export > more services. It is not reproduced always but happens often.
Comment 2 groot 2021-07-03 20:15:54 UTC
Hm, I see I wrote a fix a few months ago that **probably** fixes this, but it got stalled in review (more like not-landing-it-after-review).
Comment 3 groot 2021-07-03 20:44:33 UTC
Landed in f7b57e12026875e09de61b6f497787f443806018 in spectacle -- I didn't mention this BR because the commit messages were from some time ago. I'm marking this "fixed", although you won't notice that until the next point-release of Spectacle (which, judging from previous tags, is in a few days)
Comment 4 Michael SB 2021-07-03 20:48:27 UTC
Thank you very much for the swift response, as it is a feature I use regularly. I'll be waiting for the next point-release. Cheers.