Summary: | Spectacle crashes on finishing recording with pipewire 1.2.0 | ||
---|---|---|---|
Product: | [Frameworks and Libraries] KPipeWire | Reporter: | Yujiro Hanma <moyamat555> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | agapp11, aleixpol, andrea.ippo, armoire.mountable405, dinkonin, elydgolden, hi, jlp, kde, matheuz1210+kdebugs, mrjoeharris, nate, noahadvs, pallaswept, pmargeti34, qik00yt, samuel.collins, sighunter, twohlfarth, valhrafnaz |
Priority: | HI | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=477896 | ||
Latest Commit: | https://invent.kde.org/plasma/kpipewire/-/commit/1977da38ed25aa15347eb9027cb1fde3d66b075f | Version Fixed In: | 6.1.3 |
Sentry Crash Report: | |||
Attachments: | all spectacle output when trying to record video |
Description
Yujiro Hanma
2024-06-29 13:37:57 UTC
Confirming Linux/KDE Plasma: Arch Linux (available in About System) KDE Plasma Version: 6.1.1 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.2 Pipewire 1.2.0 Created attachment 171273 [details]
all spectacle output when trying to record video
I can also not record any video with spectacle at the moment. everything seems fine until I press the red button in systray to stop the recording. then nothing happens, the selection rectangle stays, the systray icon stays, file does not get saved, most of the time I have to kill spectacle with task manager (or ctrl + C when started from terminal)
since I also have pipewire-1.2.0 installed, like the bug mentions, I think this might be related.
Operating System: Gentoo Linux 2.15
KDE Plasma Version: 6.1.1
KDE Frameworks Version: 6.3.0
Qt Version: 6.7.2
Kernel Version: 6.9.7-gentoo-dist (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-7700K CPU @ 4.20GHz
Memory: 23.2 GiB of RAM
Graphics Processor: Mesa Intel® Arc
Pipewire: 1.2.0
*** Bug 489656 has been marked as a duplicate of this bug. *** I just upgraded to pipewire 1.2 and recording has stopped working for me as well. I get "*** pw_stream_destroy called from wrong context, check thread and locking: Not in loop" when I tried to finish recording in the terminal output and the app freezes. I'm not sure why this is happening. Moving this report to KPipeWire since that's where the error message is coming from. The place where it happens is PipeWireSourceStream::~PipeWireSourceStream(). *** Bug 489633 has been marked as a duplicate of this bug. *** Temporary fix is downgrading Pipewire to 1.0. Screen recording works again *** Bug 489795 has been marked as a duplicate of this bug. *** *** Bug 489789 has been marked as a duplicate of this bug. *** I also experience this bug. I'm very well tooled for testing pipewire, if I can be of assistance please let me know. I notice the bug is not raised with the pipewire project. Is this believed to be a KDE bug, where the downgrade workaround is just a coincidence? Otherwise, it might be good to file this over there. (In reply to pallaswept from comment #9) > I notice the bug is not raised with the pipewire project. Now it is: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/4101 This problem does not occur with Debian unstable, which is on Plasma 5.27.11 with kpipewire5 5.27.11-1. Here spectacle is working without problems if pipewire 1.2.0 is installed. (In reply to pallaswept from comment #9) > I notice the bug is not raised with the pipewire project. Is this believed > to be a KDE bug, where the downgrade workaround is just a coincidence? > Otherwise, it might be good to file this over there. I wasn't sure yet and I wanted to do additional testing. In any case, thank you for posting the upstream bug report. Git commit b787a4953130a14704183dd794e2dbb741001a8b by Arjen Hiemstra. Committed on 09/07/2024 at 09:33. Pushed by ahiemstra into branch 'master'. produce: Destroy PipeWireSourceStream on the right thread m_stream is created during initialize() which is run on the produce thread, so we need to ensure we also destroy it on that thread as otherwise with PipeWire 1.2+ we can end up in a deadlock. M +22 -5 src/pipewireproduce.cpp M +2 -0 src/pipewireproduce_p.h https://invent.kde.org/plasma/kpipewire/-/commit/b787a4953130a14704183dd794e2dbb741001a8b Git commit 1977da38ed25aa15347eb9027cb1fde3d66b075f by Arjen Hiemstra. Committed on 09/07/2024 at 10:01. Pushed by ahiemstra into branch 'Plasma/6.1'. produce: Destroy PipeWireSourceStream on the right thread m_stream is created during initialize() which is run on the produce thread, so we need to ensure we also destroy it on that thread as otherwise with PipeWire 1.2+ we can end up in a deadlock. (cherry picked from commit b787a4953130a14704183dd794e2dbb741001a8b) Co-authored-by: Arjen Hiemstra <ahiemstra@heimr.nl> M +22 -5 src/pipewireproduce.cpp M +2 -0 src/pipewireproduce_p.h https://invent.kde.org/plasma/kpipewire/-/commit/1977da38ed25aa15347eb9027cb1fde3d66b075f (In reply to Arjen Hiemstra from comment #14) > Git commit 1977da38ed25aa15347eb9027cb1fde3d66b075f by Arjen Hiemstra. > Committed on 09/07/2024 at 10:01. > Pushed by ahiemstra into branch 'Plasma/6.1'. > > produce: Destroy PipeWireSourceStream on the right thread > > m_stream is created during initialize() which is run on the produce > thread, so we need to ensure we also destroy it on that thread as > otherwise with PipeWire 1.2+ we can end up in a deadlock. > > > (cherry picked from commit b787a4953130a14704183dd794e2dbb741001a8b) > > Co-authored-by: Arjen Hiemstra <ahiemstra@heimr.nl> > > M +22 -5 src/pipewireproduce.cpp > M +2 -0 src/pipewireproduce_p.h > > https://invent.kde.org/plasma/kpipewire/-/commit/ > 1977da38ed25aa15347eb9027cb1fde3d66b075f very cool, I can confirm this works. patched kpipewire-6.1.2 on Gentoo and spectacle recording works again Can confirm this is still an issue on openSUSE tumbleweed 20240709 (KDE Plasma 6.1.2, Frameworks 6.3.0, PipeWire 1.2.0) Arjen, could this be backported Thanks, confirming this is fixed on my end, with the update to kpipewire 6.1.3. *** Bug 489760 has been marked as a duplicate of this bug. *** |