You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mumble hangs when clicking 'Finish' in the audio wizard. It is repeatable.
It worked before I enabled pipewire on my system, so pipewire is implicated. I have captured a gdb stack trace suggesting it is blocked in pw_stream_destroy.
(Edit: Selecting the 'pulseaudio' device allows me to proceed to the end of the audio wizard).
Steps to reproduce
Enable pipewire on my system
Reboot
Start mumble
Run through the audio wizard
Click 'Finish'
Mumble version
1.4.231
Mumble component
Client
OS
Linux
Reproducible?
Yes
Additional information
It appears that something inside pw_stream_destroy is blocking when mumble is not prepared for it to do so.
I captured the backtrace by doing thread apply bt all in gdb. There are a number of other threads but I have elided those since they're blocked in less interesting places, the chosen part of the trace looks salient to me because it involves a blocking read() call connected to the mouseReleaseEvent from my click of the Finish button.
Relevant log output
#0 0x00007ffff54fa7c4 in read () from glibc-2.34-210/lib/libc.so.6#1 0x00007fffdc12d983 in impl_eventfd_read () from pipewire-0.3.51-lib/lib/spa-0.2/support/libspa-support.so#2 0x00007fffdc120599 in loop_invoke () from pipewire-0.3.51-lib/lib/spa-0.2/support/libspa-support.so#3 0x00007fffdc1ab168 in pw_impl_node_set_active () from pipewire-0.3.51-lib/lib/libpipewire-0.3.so#4 0x00007fffdc1cf1cc in pw_stream_disconnect () from pipewire-0.3.51-lib/lib/libpipewire-0.3.so#5 0x00007fffdc1cf5f8 in pw_stream_destroy () from pipewire-0.3.51-lib/lib/libpipewire-0.3.so#6 0x00000000006d194b in PipeWireEngine::~PipeWireEngine (this=0x18e1c70, __in_chrg=<optimized out>) at /build/source/src/mumble/PipeWire.cpp:213#7 0x00000000006d1ffd in std::default_delete<PipeWireEngine>::operator() (__ptr=0x18e1c70, this=<optimized out>) at gcc-11.3.0/include/c++/11.3.0/bits/unique_ptr.h:85#8 std::unique_ptr<PipeWireEngine, std::default_delete<PipeWireEngine> >::~unique_ptr (this=0x18e0fd8, __in_chrg=<optimized out>) at gcc-11.3.0/include/c++/11.3.0/bits/unique_ptr.h:361#9 PipeWireOutput::~PipeWireOutput (this=0x18e0f70, __in_chrg=<optimized out>) at /build/source/src/mumble/PipeWire.cpp:385#10 0x00000000006d202b in PipeWireOutput::~PipeWireOutput (this=0x18e0f70, __in_chrg=<optimized out>) at /build/source/src/mumble/PipeWire.cpp:385#11 0x00000000004e3257 in boost::checked_delete<AudioOutput> (x=<optimized out>) at include/boost/core/checked_delete.hpp:36#12 boost::detail::sp_counted_impl_p<AudioOutput>::dispose (this=<optimized out>) at include/boost/smart_ptr/detail/sp_counted_impl.hpp:89#13 0x00000000004d49b9 in boost::detail::sp_counted_base::release (this=0x18e1450) at include/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp:120#14 boost::detail::shared_count::~shared_count (this=0x7fffffffadb8, __in_chrg=<optimized out>) at include/boost/smart_ptr/detail/shared_count.hpp:432#15 boost::shared_ptr<AudioOutput>::~shared_ptr (this=0x7fffffffadb0, __in_chrg=<optimized out>) at include/boost/smart_ptr/shared_ptr.hpp:335#16 boost::shared_ptr<AudioOutput>::reset (this=0x7fffffffada0) at include/boost/smart_ptr/shared_ptr.hpp:729#17 Audio::stop () at /build/source/src/mumble/Audio.cpp:315#18 0x00000000004ee630 in AudioWizard::restartAudio (this=this@entry=0x198c170) at /build/source/src/mumble/AudioWizard.cpp:367#19 0x00000000004f21f3 in AudioWizard::accept (this=0x198c170) at /build/source/src/mumble/AudioWizard.cpp:433#20 0x00007ffff5d00b68 in ?? () from qtbase-5.15.3/lib/libQt5Core.so.5#21 0x00007ffff78658d2 in QAbstractButton::clicked(bool) () from qtbase-5.15.3/lib/libQt5Widgets.so.5#22 0x00007ffff7865b4a in ?? () from qtbase-5.15.3/lib/libQt5Widgets.so.5#23 0x00007ffff7867710 in ?? () from qtbase-5.15.3/lib/libQt5Widgets.so.5#24 0x00007ffff7867933 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from qtbase-5.15.3/lib/libQt5Widgets.so.5
Screenshots
The text was updated successfully, but these errors were encountered:
pwaller
added
bug
A bug (error) in the software
triage
This issue is waiting to be triaged by one of the project members
labels
Jun 11, 2022
Thanks for the detailed bug report (complete with backtrace), but this is a duplicate of #5647.
BTW the issue is also fixed if you use Pipewire 0.3.52 (Pipewire will then just do a few xruns instead of an endless loop).
Alternatively it is also fixed on Mumble master branch for all Pipewire versions
Description
Mumble hangs when clicking 'Finish' in the audio wizard. It is repeatable.
It worked before I enabled pipewire on my system, so pipewire is implicated. I have captured a gdb stack trace suggesting it is blocked in
pw_stream_destroy
.(Edit: Selecting the 'pulseaudio' device allows me to proceed to the end of the audio wizard).
Steps to reproduce
Mumble version
1.4.231
Mumble component
Client
OS
Linux
Reproducible?
Yes
Additional information
It appears that something inside
pw_stream_destroy
is blocking when mumble is not prepared for it to do so.I captured the backtrace by doing
thread apply bt all
in gdb. There are a number of other threads but I have elided those since they're blocked in less interesting places, the chosen part of the trace looks salient to me because it involves a blocking read() call connected to the mouseReleaseEvent from my click of the Finish button.Relevant log output
Screenshots
The text was updated successfully, but these errors were encountered: