https://bugs.kde.org/show_bug.cgi?id=480457
Bug ID: 480457 Summary: Spectacle crashes when taking a second screenshot only if some text has been added before Classification: Applications Product: Spectacle Version: 23.08.4 Platform: Arch Linux OS: Linux Status: REPORTED Keywords: drkonqi Severity: crash Priority: NOR Component: General Assignee: noaha...@gmail.com Reporter: lucien.perreg...@gmail.com CC: k...@david-redondo.de Target Milestone: --- Application: spectacle (23.08.4) Qt Version: 5.15.12 Frameworks Version: 5.114.0 Operating System: Linux 6.6.13-1-lts x86_64 Windowing System: Wayland Distribution: Arch Linux DrKonqi: 5.27.10 [KCrashBackend] -- Information about the crash: Steps to reproduce: - Open spectacle - Take a screenshot with some text inside it. (bug not triggered without text) - Try to take another screenshot (via any of the choices - rectangle region, fullscreeen, ...) The crash can be reproduced every time. -- Backtrace: Application: Spectacle (spectacle), signal: Segmentation fault Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>} [KCrash Handler] #6 0x00005846fdf694ff in SelectedActionWrapper::setEditAction(EditAction*) (this=0x5846ffd74690, action=0x0) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Gui/Annotations/AnnotationDocument.cpp:561 #7 0x00005846fdf6aff5 in AnnotationDocument::deselectAction() (this=0x5846ffcf4970) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Gui/Annotations/AnnotationDocument.cpp:1445 #8 AnnotationDocument::clearAnnotations() (this=0x5846ffcf4970) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Gui/Annotations/AnnotationDocument.cpp:928 #9 0x00005846fdf57ec5 in AnnotationDocument::clear() (this=0x5846ffcf4970) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Gui/Annotations/AnnotationDocument.cpp:842 #10 operator() (screenImages=..., __closure=0x5846ffd7ab30) 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_=0x5846ffd7ab20, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443 #14 0x000071549ded0e27 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffcb40da060, r=<optimized out>, this=0x5846ffd7ab20, 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=0x5846ffd4cd60, signal_index=6, argv=0x7ffcb40da060) at kernel/qobject.cpp:3925 #16 0x00005846fdf7b778 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=0x584700cdec50) 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_=0x584700cdec40, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443 #21 0x000071549ded0e27 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffcb40da1d0, r=<optimized out>, this=0x584700cdec40, 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=0x5846ffe5c890, signal_index=3, argv=0x7ffcb40da1d0) at kernel/qobject.cpp:3925 #23 0x00005846fdf7c16a in ScreenShotSourceMeta2::finished(QVector<QImage> const&) (_t1=..., this=0x5846ffe5c890) at /usr/src/debug/spectacle/build/src/spectacle_autogen/include/moc_PlatformKWinWayland.cpp:764 #24 ScreenShotSourceMeta2::handleSourceFinished() (this=0x5846ffe5c890) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Platforms/PlatformKWinWayland.cpp:246 #25 ScreenShotSourceMeta2::handleSourceFinished() (this=0x5846ffe5c890) at /usr/src/debug/spectacle/spectacle-23.08.4/src/Platforms/PlatformKWinWayland.cpp:230 #26 0x000071549ded0e27 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffcb40da320, r=<optimized out>, this=0x58470051c810, 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=0x58470040c190, signal_index=3, argv=0x7ffcb40da320) at kernel/qobject.cpp:3925 #28 0x00005846fdf7b2fa 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=0x584700b36ad0) 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_=0x584700b36ac0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443 #33 0x000071549ded0e27 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffcb40da3e0, r=<optimized out>, this=0x584700b36ac0, 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=0x584700b36a90, signal_index=4, argv=0x7ffcb40da3e0) at kernel/qobject.cpp:3925 #35 0x000071549dcfd795 in QFutureWatcherBase::event(QEvent*) (this=<optimized out>, event=0x7154407ea7c0) at thread/qfuturewatcher.cpp:334 #36 0x000071549f7788ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x584700b36a90, e=0x7154407ea7c0) at kernel/qapplication.cpp:3640 #37 0x000071549de9bef8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x584700b36a90, event=0x7154407ea7c0) at kernel/qcoreapplication.cpp:1064 #38 0x000071549dea0e5b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x5846ffc0b900) at kernel/qcoreapplication.cpp:1821 #39 0x000071549dee6ec8 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x5846ffc48400) at kernel/qeventdispatcher_glib.cpp:277 #40 0x000071549a83ff69 in g_main_dispatch (context=0x715484000ec0) at ../glib/glib/gmain.c:3476 #41 0x000071549a89e3a7 in g_main_context_dispatch_unlocked (context=0x715484000ec0) at ../glib/glib/gmain.c:4284 #42 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x715484000ec0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349 #43 0x000071549a83e162 in g_main_context_iteration (context=0x715484000ec0, may_block=1) at ../glib/glib/gmain.c:4414 #44 0x000071549deead0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5846ffc4c850, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #45 0x000071549de9ac04 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffcb40da810, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #46 0x000071549de9c0a3 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #47 0x000071549e33bf12 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870 #48 0x000071549f776cda in QApplication::exec() () at kernel/qapplication.cpp:2832 #49 0x00005846fdf34b25 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 15439) detached] The reporter indicates this bug may be a duplicate of or related to bug 473166, bug 474719, bug 478897. Reported using DrKonqi -- You are receiving this mail because: You are watching all bug changes.