Summary: | Plasma crashed in PulseAudio::context_get_server_info_callback() when waking up the laptop that was suspended to RAM while streaming audio over network | ||
---|---|---|---|
Product: | [Plasma] plasma-pa | Reporter: | Patrick Silva <bugseforuns> |
Component: | general | Assignee: | David Rosca <nowrep> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | cunio, haagch.christoph, kde, msafhang, nate, nicolas.fella, plasma-bugs, vcprocles |
Priority: | NOR | Keywords: | drkonqi |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Neon | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=460946 | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-pa/commit/b33f3a4c0f4c5b7b7c193370165e799e38c9dddd | Version Fixed In: | 5.24.7 |
Sentry Crash Report: |
Description
Patrick Silva
2021-05-17 19:39:04 UTC
Are you using PipeWire on this system? I do not think so. Enabling streaming over network is the only modification that I did in sound settings of my neon unstable. I have a vague theory of what is happening, but it's hard to tell exactly without reproducing the bug. I think the Context object is destroyed at some point, and with it the Server object. Then we get a server update callback from PA, try to deliver that to the nonexistant server and boom *** Bug 448095 has been marked as a duplicate of this bug. *** *** Bug 451513 has been marked as a duplicate of this bug. *** *** Bug 451581 has been marked as a duplicate of this bug. *** *** Bug 456809 has been marked as a duplicate of this bug. *** Git commit e87f2b13c8701a5d332f7a84fe1a0c344204cbfb by Harald Sitter. Committed on 11/10/2022 at 10:12. Pushed by sitter into branch 'master'. don't crash when the server doesn't respond inside libpulse a non-reply (e.g. caused by a timeout) results in info being a nullptr. when that happens simply skip over the callback. when this happens chances are the server crashed or is otherwise defunct so we won't be able to do much about this anyway easy to test by attaching to both plasmashell and pulseaudio and interrupting the latter when the former calls pa_context_get_server_info. this results in the reply timeout getting hit -> nullptr callback. it is unclear if we can somehow recover from this but in lieu of a reliable real world test case for this we at least shouldn't crash on nullptr access. Related: bug 454647 M +6 -0 src/context.cpp https://invent.kde.org/plasma/plasma-pa/commit/e87f2b13c8701a5d332f7a84fe1a0c344204cbfb Git commit 89d33990bbd4e63e4624a01fb0e74c341ac50fa4 by Harald Sitter. Committed on 11/10/2022 at 23:58. Pushed by sitter into branch 'Plasma/5.26'. don't crash when the server doesn't respond inside libpulse a non-reply (e.g. caused by a timeout) results in info being a nullptr. when that happens simply skip over the callback. when this happens chances are the server crashed or is otherwise defunct so we won't be able to do much about this anyway easy to test by attaching to both plasmashell and pulseaudio and interrupting the latter when the former calls pa_context_get_server_info. this results in the reply timeout getting hit -> nullptr callback. it is unclear if we can somehow recover from this but in lieu of a reliable real world test case for this we at least shouldn't crash on nullptr access. Related: bug 454647 (cherry picked from commit e87f2b13c8701a5d332f7a84fe1a0c344204cbfb) M +6 -0 src/context.cpp https://invent.kde.org/plasma/plasma-pa/commit/89d33990bbd4e63e4624a01fb0e74c341ac50fa4 Git commit b33f3a4c0f4c5b7b7c193370165e799e38c9dddd by Harald Sitter. Committed on 11/10/2022 at 23:58. Pushed by sitter into branch 'Plasma/5.24'. don't crash when the server doesn't respond inside libpulse a non-reply (e.g. caused by a timeout) results in info being a nullptr. when that happens simply skip over the callback. when this happens chances are the server crashed or is otherwise defunct so we won't be able to do much about this anyway easy to test by attaching to both plasmashell and pulseaudio and interrupting the latter when the former calls pa_context_get_server_info. this results in the reply timeout getting hit -> nullptr callback. it is unclear if we can somehow recover from this but in lieu of a reliable real world test case for this we at least shouldn't crash on nullptr access. Related: bug 454647 (cherry picked from commit e87f2b13c8701a5d332f7a84fe1a0c344204cbfb) M +6 -0 src/context.cpp https://invent.kde.org/plasma/plasma-pa/commit/b33f3a4c0f4c5b7b7c193370165e799e38c9dddd |