Bug 469786 - Spectacle recording breaks when 'selected window' is closed mid-recording
Summary: Spectacle recording breaks when 'selected window' is closed mid-recording
Status: RESOLVED FIXED
Alias: None
Product: Spectacle
Classification: Applications
Component: General (other bugs)
Version First Reported In: 23.04.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Noah Davis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-05-15 07:37 UTC by Gravemind2015
Modified: 2024-10-18 09:23 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 24.05
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gravemind2015 2023-05-15 07:37:25 UTC
SUMMARY
***
Spectacle recording becomes broken if the window it's supposed to record is closed. 'Finish recording' doesn't work and closing spectacle crashes it.
***


STEPS TO REPRODUCE
1. Open spectacle > Recording > Selected window. Select, say a dolphin window.
2. While it's recording, close the dolphin window.
3. Spectacle shows the recording as ongoing, the timer never stops. Clicking 'Finish recording' doesn't do anything and closing spectacle at this point produces a crash.

OBSERVED RESULT
Spectacle recording apparently gets stuck and leads to crash.

EXPECTED RESULT
Maybe the recording should stop once the source window is closes/unavailable?

KDE crash handler reports this:
Application: Spectacle (spectacle), signal: Aborted

[KCrash Handler]
#4  0x00007f7f6feb0844 in __pthread_kill_implementation () from /lib64/libc.so.6
#5  0x00007f7f6fe5fabe in raise () from /lib64/libc.so.6
#6  0x00007f7f6fe4887f in abort () from /lib64/libc.so.6
#7  0x00007f7f704b1888 in QMessageLogger::fatal(char const*, ...) const () from /lib64/libQt5Core.so.5
#8  0x00007f7f704b21d9 in QThread::~QThread() [clone .cold] () from /lib64/libQt5Core.so.5
#9  0x00007f7f72cb0bdc in PipeWireRecordProduceThread::~PipeWireRecordProduceThread() () from /lib64/libKPipeWireRecord.so.5
#10 0x00007f7f72cb40e9 in PipeWireRecord::~PipeWireRecord() () from /lib64/libKPipeWireRecord.so.5
#11 0x00007f7f72cb4185 in PipeWireRecord::~PipeWireRecord() () from /lib64/libKPipeWireRecord.so.5
#12 0x00005629fed1d7a9 in std::default_delete<PipeWireRecord>::operator() (__ptr=<optimized out>, this=<optimized out>) at /usr/include/c++/13/bits/unique_ptr.h:100
#13 std::unique_ptr<PipeWireRecord, std::default_delete<PipeWireRecord> >::~unique_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/13/bits/unique_ptr.h:405
#14 VideoPlatformWayland::~VideoPlatformWayland (this=<optimized out>, this=<optimized out>) at /usr/src/debug/spectacle-23.04.0-1.fc38.x86_64/redhat-linux-build/src/spectacle_autogen/UWYFJWVAJO/../../../../src/Platforms/VideoPlatformWayland.h:19
#15 VideoPlatformWayland::~VideoPlatformWayland (this=<optimized out>, this=<optimized out>) at /usr/src/debug/spectacle-23.04.0-1.fc38.x86_64/redhat-linux-build/src/spectacle_autogen/UWYFJWVAJO/../../../../src/Platforms/VideoPlatformWayland.h:19
#16 0x00005629fed33597 in std::default_delete<VideoPlatform>::operator() (__ptr=<optimized out>, this=<optimized out>) at /usr/include/c++/13/bits/unique_ptr.h:94
#17 std::unique_ptr<VideoPlatform, std::default_delete<VideoPlatform> >::~unique_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/13/bits/unique_ptr.h:405
#18 SpectacleCore::~SpectacleCore (this=<optimized out>, this=<optimized out>) at /usr/src/debug/spectacle-23.04.0-1.fc38.x86_64/src/SpectacleCore.cpp:233
#19 0x00005629fed188c9 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/spectacle-23.04.0-1.fc38.x86_64/src/Main.cpp:110
[Inferior 1 (process 10190) detached]


SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 38
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.105.0
Qt Version: 5.15.9
Kernel Version: 6.2.15-300.fc38.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 8 × AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx
Memory: 17.5 GiB of RAM
Graphics Processor: AMD Radeon Vega 8 Graphics
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: VivoBook_ASUSLaptop X512DA_X512DA
System Version: 1.0

ADDITIONAL INFORMATION
https://bugs.kde.org/show_bug.cgi?id=467593 is possibly related.
Comment 1 Noah Davis 2024-10-18 09:23:26 UTC
Fixed in 24.05