Bug 469897

Summary: Spectacle crash when finishing screen recording
Product: [Applications] Spectacle Reporter: Tim <t.lobner>
Component: GeneralAssignee: Noah Davis <noahadvs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde, nicolas.fella
Priority: NOR Keywords: drkonqi
Version: 23.04.1   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Tim 2023-05-17 15:32:36 UTC
Application: spectacle (23.04.1)

Qt Version: 5.15.9
Frameworks Version: 5.105.0
Operating System: Linux 6.3.1-arch2-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 5.27.5 [KCrashBackend]

-- Information about the crash:
1. Start screen recording (dual monitor setup, choose monitor)
2. Open Reaper (x64 through wine)
3. Open spectacle and click "Finish Recording"
--> Crash

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Spectacle (spectacle), signal: Segmentation fault

[KCrash Handler]
#4  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator->() const (this=0x8, this=<optimized out>) at /usr/include/qt/QtCore/qscopedpointer.h:116
#5  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const>(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const&) (ptr=..., ptr=<optimized out>) at /usr/include/qt/QtCore/qglobal.h:1149
#6  QQuickView::d_func() const (this=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickview.h:111
#7  QQuickView::rootObject() const (this=this@entry=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickview.cpp:603
#8  0x000055c81c93a052 in ViewerWindow::showInlineMessage(QString const&, QMap<QString, QVariant> const&) (this=0x0, qmlFile=..., properties=...) at /usr/src/debug/spectacle/spectacle-23.04.1/src/Gui/ViewerWindow.cpp:146
#9  0x000055c81c9315f6 in ViewerWindow::showSavedVideoMessage(QUrl const&) (messageArgument=..., this=0x0) at /usr/src/debug/spectacle/spectacle-23.04.1/src/Gui/ViewerWindow.cpp:161
#10 operator() (path=<optimized out>, __closure=0x55c81ea031b0) at /usr/src/debug/spectacle/spectacle-23.04.1/src/SpectacleCore.cpp:225
#11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QString&>, void, SpectacleCore::SpectacleCore(QObject*)::<lambda(const QString&)> >::call (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146
#12 QtPrivate::Functor<SpectacleCore::SpectacleCore(QObject*)::<lambda(const QString&)>, 1>::call<QtPrivate::List<QString const&>, void> (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256
#13 QtPrivate::QFunctorSlotObject<SpectacleCore::SpectacleCore(QObject*)::<lambda(const QString&)>, 1, QtPrivate::List<const QString&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x55c81ea031a0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#14 0x00007f2f536beb41 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff311d7e40, r=<optimized out>, this=0x55c81ea031a0, 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=0x55c81e8580b0, signal_index=4, argv=0x7fff311d7e40) at kernel/qobject.cpp:3923
#16 0x000055c81c9560c7 in VideoPlatform::recordingSaved(QString const&) (_t1=..., this=0x55c81e8580b0) at /usr/src/debug/spectacle/build/src/spectacle_autogen/UWYFJWVAJO/moc_VideoPlatform.cpp:244
#17 operator() (__closure=0x55c82107b7c0) at /usr/src/debug/spectacle/spectacle-23.04.1/src/Platforms/VideoPlatformWayland.cpp:56
#18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, VideoPlatformWayland::startRecording(const QString&, VideoPlatform::RecordingMode, const VideoPlatform::RecordingOption&, bool)::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146
#19 QtPrivate::Functor<VideoPlatformWayland::startRecording(const QString&, VideoPlatform::RecordingMode, const VideoPlatform::RecordingOption&, bool)::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256
#20 QtPrivate::QFunctorSlotObject<VideoPlatformWayland::startRecording(const QString&, VideoPlatform::RecordingMode, const VideoPlatform::RecordingOption&, bool)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x55c82107b7b0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#21 0x00007f2f536beb41 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff311d7f00, r=<optimized out>, this=0x55c82107b7b0, 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=0x55c8210c8200, signal_index=8, argv=0x7fff311d7f00) at kernel/qobject.cpp:3923
#23 0x00007f2f536b1c80 in QObject::event(QEvent*) (this=0x55c8210c8200, e=0x7f2e9c0369d0) at kernel/qobject.cpp:1347
#24 0x00007f2f54f78b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55c8210c8200, e=0x7f2e9c0369d0) at kernel/qapplication.cpp:3640
#25 0x00007f2f5368e028 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55c8210c8200, event=0x7f2e9c0369d0) at kernel/qcoreapplication.cpp:1064
#26 0x00007f2f5368e093 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#27 0x00007f2f5368eb33 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55c81e641b10) at kernel/qcoreapplication.cpp:1821
#28 0x00007f2f536d4f58 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55c81e65c540) at kernel/qeventdispatcher_glib.cpp:277
#29 0x00007f2f50f0f53b in g_main_dispatch (context=0x7f2f38000ee0) at ../glib/glib/gmain.c:3460
#30 g_main_context_dispatch (context=0x7f2f38000ee0) at ../glib/glib/gmain.c:4200
#31 0x00007f2f50f6c219 in g_main_context_iterate.constprop.0 (context=0x7f2f38000ee0, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
#32 0x00007f2f50f0e1a2 in g_main_context_iteration (context=0x7f2f38000ee0, may_block=1) at ../glib/glib/gmain.c:4343
#33 0x00007f2f536d8d3c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55c81e629ba0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#34 0x00007f2f5368668c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fff311d8380, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#35 0x00007f2f536912f9 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#36 0x00007f2f53b3b052 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#37 0x00007f2f54f76f2a in QApplication::exec() () at kernel/qapplication.cpp:2832
#38 0x000055c81c902b65 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/spectacle/spectacle-23.04.1/src/Main.cpp:127
[Inferior 1 (process 8917) detached]

Reported using DrKonqi
Comment 1 Nicolas Fella 2023-05-17 16:06:51 UTC

*** This bug has been marked as a duplicate of bug 469336 ***
Comment 2 Tim 2023-05-17 17:16:58 UTC
I retried my repro steps, couldn't reproduce it. Screenrecording worked the second time around.