Bug 470027 - Clicking on Finish recording crashes Spectacle
Summary: Clicking on Finish recording crashes Spectacle
Status: RESOLVED DUPLICATE of bug 469336
Alias: None
Product: Spectacle
Classification: Applications
Component: General (show other bugs)
Version: 23.04.1
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Noah Davis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-05-19 23:08 UTC by medin
Modified: 2023-05-22 21:48 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description medin 2023-05-19 23:08:04 UTC
After clicking on "Finish recording" in Spectacle, the final webm file is saved, but sometimes it's missing some seconds at the end, it's like the video is not stopped at the moment when I click on "Finish recording", because I can clearly see the time counter is still increasing for a moment before stopping, then Spectacle becomes totally frozen for more than 10 seconds and is forced to close with the following generated crash:


[Thread debugging using libthread_db enabled]                                                                                                                                                  
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/bin/spectacle'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator-> (this=<optimized out>, this=<optimized out>) at /usr/include/qt/QtCore/qscopedpointer.h:116
116         T *operator->() const noexcept
[Current thread is 1 (Thread 0x7ff9d4edc100 (LWP 3216))]
(gdb) bt
#0  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator->() const (this=0x8, this=<optimized out>) at /usr/include/qt/QtCore/qscopedpointer.h:116
#1  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const>(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const&)
    (ptr=..., ptr=<optimized out>) at /usr/include/qt/QtCore/qglobal.h:1149
#2  QQuickView::d_func() const (this=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickview.h:111
#3  QQuickView::rootObject() const (this=this@entry=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickview.cpp:603
#4  0x0000562ac431f052 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
#5  0x0000562ac43165f6 in ViewerWindow::showSavedVideoMessage(QUrl const&) (messageArgument=..., this=0x0) at /usr/src/debug/spectacle/spectacle-23.04.1/src/Gui/ViewerWindow.cpp:161
#6  operator() (path=<optimized out>, __closure=0x562ac5d2ef60) at /usr/src/debug/spectacle/spectacle-23.04.1/src/SpectacleCore.cpp:225
#7  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
#8  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
#9  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_=0x562ac5d2ef50, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#10 0x00007ff9e82beb41 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7fff8334e600, r=<optimized out>, this=0x562ac5d2ef50, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#11 doActivate<false>(QObject*, int, void**) (sender=0x562ac5baa570, signal_index=4, argv=0x7fff8334e600) at kernel/qobject.cpp:3923
#12 0x0000562ac433b0c7 in VideoPlatform::recordingSaved(QString const&) (_t1=..., this=0x562ac5baa570)
    at /usr/src/debug/spectacle/build/src/spectacle_autogen/UWYFJWVAJO/moc_VideoPlatform.cpp:244
#13 operator() (__closure=0x562ac62406a0) at /usr/src/debug/spectacle/spectacle-23.04.1/src/Platforms/VideoPlatformWayland.cpp:56
#14 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
#15 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
#16 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_=0x562ac6240690, r=<optimized out>, a=<optimized out>, ret=<optimized out>)
    at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#17 0x00007ff9e82beb41 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7fff8334e6c0, r=<optimized out>, this=0x562ac6240690, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#18 doActivate<false>(QObject*, int, void**) (sender=0x562ac61589b0, signal_index=8, argv=0x7fff8334e6c0) at kernel/qobject.cpp:3923
#19 0x00007ff9e82b1c80 in QObject::event(QEvent*) (this=0x562ac61589b0, e=0x7ff9ac00ff40) at kernel/qobject.cpp:1347
#20 0x00007ff9e9b78b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x562ac61589b0, e=0x7ff9ac00ff40) at kernel/qapplication.cpp:3640
#21 0x00007ff9e828e028 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x562ac61589b0, event=0x7ff9ac00ff40) at kernel/qcoreapplication.cpp:1064
#22 0x00007ff9e828e093 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#23 0x00007ff9e828eb33 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x562ac5a725d0) at kernel/qcoreapplication.cpp:1821
#24 0x00007ff9e82d4f58 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x562ac5a903d0) at kernel/qeventdispatcher_glib.cpp:277
#25 0x00007ff9e5f0f53b in g_main_dispatch (context=0x7ff9d0000ee0) at ../glib/glib/gmain.c:3460
#26 g_main_context_dispatch (context=0x7ff9d0000ee0) at ../glib/glib/gmain.c:4200
#27 0x00007ff9e5f6c219 in g_main_context_iterate.constprop.0 (context=0x7ff9d0000ee0, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
#28 0x00007ff9e5f0e1a2 in g_main_context_iteration (context=0x7ff9d0000ee0, may_block=1) at ../glib/glib/gmain.c:4343
--Type <RET> for more, q to quit, c to continue without paging--c
#29 0x00007ff9e82d8d3c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x562ac5a5c640, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#30 0x00007ff9e828668c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fff8334eb40, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#31 0x00007ff9e82912f9 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#32 0x00007ff9e873b052 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#33 0x00007ff9e9b76f2a in QApplication::exec() () at kernel/qapplication.cpp:2832
#34 0x0000562ac42e7b65 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/spectacle/spectacle-23.04.1/src/Main.cpp:127
(gdb)
Comment 1 Nate Graham 2023-05-22 21:48:43 UTC

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