Bug 478897

Summary: Spectacle crashes after adding text in some full screen applications?
Product: [Applications] Spectacle Reporter: notkoutsie
Component: GeneralAssignee: Noah Davis <noahadvs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde, nicolas.fella
Priority: NOR Keywords: drkonqi
Version: 23.08.4   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description notkoutsie 2023-12-22 19:43:23 UTC
Application: spectacle (23.08.4)

Qt Version: 5.15.11
Frameworks Version: 5.113.0
Operating System: Linux 6.6.7-arch1-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 5.27.10 [KCrashBackend]

-- Information about the crash:
In #1 I took a screenshot and added some text after which pressing enter caused Spectacle to crash :(

The crash can be reproduced sometimes.

-- Backtrace:
Application: Spectacle (spectacle), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#6  0x0000555c97a1a4ff in SelectedActionWrapper::setEditAction(EditAction*) (this=0x555c996c8ee0, action=0x0) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Gui/Annotations/AnnotationDocument.cpp:561
#7  0x0000555c97a1bff5 in AnnotationDocument::deselectAction() (this=0x555c99693ee0) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Gui/Annotations/AnnotationDocument.cpp:1445
#8  AnnotationDocument::clearAnnotations() (this=0x555c99693ee0) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Gui/Annotations/AnnotationDocument.cpp:928
#9  0x0000555c97a08ec5 in AnnotationDocument::clear() (this=0x555c99693ee0) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Gui/Annotations/AnnotationDocument.cpp:842
#10 operator() (screenImages=..., __closure=0x555c996c85c0) at /usr/src/debug/spectacle/spectacle-23.08.4/src/SpectacleCore.cpp:135
#11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QVector<CanvasImage>&>, void, SpectacleCore::SpectacleCore(QObject*)::<lambda(const QVector<CanvasImage>&)> >::call (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146
#12 QtPrivate::Functor<SpectacleCore::SpectacleCore(QObject*)::<lambda(const QVector<CanvasImage>&)>, 1>::call<QtPrivate::List<QVector<CanvasImage> const&>, void> (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256
#13 QtPrivate::QFunctorSlotObject<SpectacleCore::SpectacleCore(QObject*)::<lambda(const QVector<CanvasImage>&)>, 1, QtPrivate::List<const QVector<CanvasImage>&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x555c996c85b0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#14 0x00007f94730cff57 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffff09b36f0, r=<optimized out>, this=0x555c996c85b0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#15 doActivate<false>(QObject*, int, void**) (sender=0x555c996ea580, signal_index=6, argv=0x7ffff09b36f0) at kernel/qobject.cpp:3925
#16 0x0000555c97a2c778 in Platform::newScreensScreenshotTaken(QVector<CanvasImage> const&) (_t1=..., this=<optimized out>) at /usr/src/debug/spectacle/build/src/spectacle_autogen/include/moc_Platform.cpp:298
#17 operator() (images=..., __closure=0x555c9b49c980) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Platforms/PlatformKWinWayland.cpp:388
#18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QVector<QImage>&>, void, PlatformKWinWayland::trackSource(ScreenShotSourceMeta2*)::<lambda(const QVector<QImage>&)> >::call (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146
#19 QtPrivate::Functor<PlatformKWinWayland::trackSource(ScreenShotSourceMeta2*)::<lambda(const QVector<QImage>&)>, 1>::call<QtPrivate::List<QVector<QImage> const&>, void> (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256
#20 QtPrivate::QFunctorSlotObject<PlatformKWinWayland::trackSource(ScreenShotSourceMeta2*)::<lambda(const QVector<QImage>&)>, 1, QtPrivate::List<const QVector<QImage>&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x555c9b49c970, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#21 0x00007f94730cff57 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffff09b3860, r=<optimized out>, this=0x555c9b49c970, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#22 doActivate<false>(QObject*, int, void**) (sender=0x555c9a1a7af0, signal_index=3, argv=0x7ffff09b3860) at kernel/qobject.cpp:3925
#23 0x0000555c97a2d16a in ScreenShotSourceMeta2::finished(QVector<QImage> const&) (_t1=..., this=0x555c9a1a7af0) at /usr/src/debug/spectacle/build/src/spectacle_autogen/include/moc_PlatformKWinWayland.cpp:764
#24 ScreenShotSourceMeta2::handleSourceFinished() (this=0x555c9a1a7af0) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Platforms/PlatformKWinWayland.cpp:246
#25 ScreenShotSourceMeta2::handleSourceFinished() (this=0x555c9a1a7af0) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Platforms/PlatformKWinWayland.cpp:230
#26 0x00007f94730cff57 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffff09b39b0, r=<optimized out>, this=0x555c9a39fb30, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#27 doActivate<false>(QObject*, int, void**) (sender=0x555c99c517d0, signal_index=3, argv=0x7ffff09b39b0) at kernel/qobject.cpp:3925
#28 0x0000555c97a2c2fa in ScreenShotSource2::finished(QImage const&) (_t1=<optimized out>, this=<optimized out>) at /usr/src/debug/spectacle/build/src/spectacle_autogen/include/moc_PlatformKWinWayland.cpp:261
#29 operator() (__closure=0x555c9ba5aad0) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Platforms/PlatformKWinWayland.cpp:180
#30 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, ScreenShotSource2::handleMetaDataReceived(const QVariantMap&)::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146
#31 QtPrivate::Functor<ScreenShotSource2::handleMetaDataReceived(const QVariantMap&)::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256
#32 QtPrivate::QFunctorSlotObject<ScreenShotSource2::handleMetaDataReceived(const QVariantMap&)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x555c9ba5aac0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#33 0x00007f94730cff57 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffff09b3a70, r=<optimized out>, this=0x555c9ba5aac0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#34 doActivate<false>(QObject*, int, void**) (sender=0x555c9bb0e710, signal_index=4, argv=0x7ffff09b3a70) at kernel/qobject.cpp:3925
#35 0x00007f9472efd745 in QFutureWatcherBase::event(QEvent*) (this=<optimized out>, event=0x555c99c5e6f0) at thread/qfuturewatcher.cpp:334
#36 0x00007f94749788ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x555c9bb0e710, e=0x555c99c5e6f0) at kernel/qapplication.cpp:3640
#37 0x00007f947309b048 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555c9bb0e710, event=0x555c99c5e6f0) at kernel/qcoreapplication.cpp:1064
#38 0x00007f947309ffab in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x555c9961f900) at kernel/qcoreapplication.cpp:1821
#39 0x00007f94730e5fc8 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x555c9963c0b0) at kernel/qeventdispatcher_glib.cpp:277
#40 0x00007f946f90df69 in g_main_dispatch (context=0x7f9458000ec0) at ../glib/glib/gmain.c:3476
#41 0x00007f946f96c367 in g_main_context_dispatch_unlocked (context=0x7f9458000ec0) at ../glib/glib/gmain.c:4284
#42 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f9458000ec0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
#43 0x00007f946f90c162 in g_main_context_iteration (context=0x7f9458000ec0, may_block=1) at ../glib/glib/gmain.c:4414
#44 0x00007f94730e9e0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555c99609d00, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#45 0x00007f9473099d54 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffff09b3ea0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#46 0x00007f947309b1f3 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#47 0x00007f947353bf12 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#48 0x00007f9474976cda in QApplication::exec() () at kernel/qapplication.cpp:2832
#49 0x0000555c979e5b25 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Main.cpp:127
[Inferior 1 (process 76014) detached]

The reporter indicates this bug may be a duplicate of or related to bug 475720, bug 476332.

Reported using DrKonqi
Comment 1 Nicolas Fella 2023-12-22 23:14:50 UTC

*** This bug has been marked as a duplicate of bug 469919 ***