Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mumble 1.2.6 & 1.2.17 freezes on launch, gentoo linux #2702

Closed
netjiro opened this issue Dec 8, 2016 · 8 comments
Closed

mumble 1.2.6 & 1.2.17 freezes on launch, gentoo linux #2702

netjiro opened this issue Dec 8, 2016 · 8 comments
Labels

Comments

@netjiro
Copy link

netjiro commented Dec 8, 2016

Hi. I'm having an issue with mumble on a fresh up to date gentoo install.

mumble loads, starts the window (empty), and spits out (console below) , then I have to kill it with ctrl+c, xkill, or kill. The window is unresponsive and I can't close it by mouse or kb.

I've tried v1.2.6 and 1.2.17, starting both as regular user and as root, same issue.
I've tried building it with as little as only alsa lib support but same issue.
Any idea on what could be wrong?
Tips on what to look for in continued investigation?

I'm running plasma 5.26, alsa kernel 4.8.12.

also posted on :
https://forums.gentoo.org/viewtopic-p-8000228.html#8000228

Console output:

jiro@nela ~ $ mumble
CELT bitstream 8000000b from /usr/lib64/mumble/libcelt0.so.0.7.0
CELT bitstream 80000010 from /usr/lib64/mumble/libcelt0.so.0.11.0                                         
Locale is "en_US" (System: "en_US")                                                                       
TextToSpeech: Compiled without support for speech-dispatcher                                              
Database SQLite: "3.13.0"                                                                                 
Overlay: Removing old socket on "/home/jiro/.MumbleOverlayPipe"                                           
Overlay: Listening on "/home/jiro/.MumbleOverlayPipe"                                                     
GlobalShortcutX: Using XI2 2.3                                                                            
SocketRPC: Removing old socket on "/home/jiro/.MumbleSocket"                                              
AudioInput: 40000 bits/s, 48000 hz, 480 sample                                                            
ALSAAudioOutput: Initialized                                                                              
ALSAAudioInput: Initing audiocapture default.                                                             
ALSAAudioInput: Actual buffer 48000 hz, 1 channel 4096 samples [1024 per period]                          
AudioInput: Initialized mixer for 1 channel 48000 hz mic and 0 channel 48000 hz echo                      
ALSAAudioOutput: ALSA reports 10000 output channels. Clamping to 2.                                       
ALSAAudioOutput: Actual buffer 48000 hz, 2 channel 3072 samples [1024 per period]                         
ALSAAudioOutput: Initializing 2 channel, 48000 hz mixer                                                   
AudioOutput: Initialized 2 channel 48000 hz mixer                                                         
^C                                                                                                        
jiro@nela ~ $                                                                                             
@netjiro
Copy link
Author

netjiro commented Dec 8, 2016

rebuilt with debug support, unoptimized, here is full console output from backtrace for each thread:

jiro@nela ~ $ gdb --args mumble
GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from mumble...done.
(gdb) run
Starting program: /usr/bin/mumble 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
CELT bitstream 8000000b from /usr/lib64/mumble/libcelt0.so.0.7.0
CELT bitstream 80000010 from /usr/lib64/mumble/libcelt0.so.0.11.0
Locale is "en_US" (System: "en_US")
TextToSpeech: Compiled without support for speech-dispatcher
Database SQLite: "3.13.0" 
Overlay: Removing old socket on "/home/jiro/.MumbleOverlayPipe" 
Overlay: Listening on "/home/jiro/.MumbleOverlayPipe" 
GlobalShortcutX: Using XI2 2.3
SocketRPC: Removing old socket on "/home/jiro/.MumbleSocket" 
AudioInput: 40000 bits/s, 48000 hz, 480 sample
[New Thread 0x7fffe61dd700 (LWP 6426)]
ALSAAudioOutput: Initialized
ALSAAudioInput: Initing audiocapture default.
[New Thread 0x7fffe59dc700 (LWP 6427)]
ALSAAudioInput: Actual buffer 48000 hz, 1 channel 4096 samples [1024 per period]
AudioInput: Initialized mixer for 1 channel 48000 hz mic and 0 channel 48000 hz echo
ALSAAudioOutput: ALSA reports 10000 output channels. Clamping to 2.
ALSAAudioOutput: Actual buffer 48000 hz, 2 channel 3072 samples [1024 per period]
ALSAAudioOutput: Initializing 2 channel, 48000 hz mixer
AudioOutput: Initialized 2 channel 48000 hz mixer

                   <<< here mumble is hung >>>

^C
Program received signal SIGINT, Interrupt.
0x00007ffff432c0bf in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
(gdb) thread apply all bt

Thread 3 (Thread 0x7fffe59dc700 (LWP 6427)):
#0  0x00007ffff432c468 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffff45b63da in ?? () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007ffff45b6ccd in QThread::msleep(unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#3  0x000000000058029a in ALSAAudioOutput::run (this=0x1230100) at ALSAAudio.cpp:569
#4  0x00007ffff45b794f in ?? () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007ffff4326494 in start_thread () from /lib64/libpthread.so.0
#6  0x00007ffff37ff5dd in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fffe61dd700 (LWP 6426)):
#0  0x00007ffff37f65fd in poll () from /lib64/libc.so.6
#1  0x00007ffff617f16e in ?? () from /usr/lib64/libasound.so.2
#2  0x00007ffff6181eb0 in ?? () from /usr/lib64/libasound.so.2
#3  0x00007ffff618e0fb in ?? () from /usr/lib64/libasound.so.2
#4  0x000000000057f2cf in ALSAAudioInput::run (this=0x1260e40) at ALSAAudio.cpp:383
#5  0x00007ffff45b794f in ?? () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007ffff4326494 in start_thread () from /lib64/libpthread.so.0
#7  0x00007ffff37ff5dd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7ffff7fad780 (LWP 6422)):
#0  0x00007ffff432c0bf in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffff45b7ec6 in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007ffff45b74de in QThread::wait(unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#3  0x000000000057ec1e in ALSAAudioInput::~ALSAAudioInput (this=this@entry=0x1260e40, 
    __in_chrg=<optimized out>) at ALSAAudio.cpp:304
#4  0x000000000057ec4b in ALSAAudioInput::~ALSAAudioInput (this=0x1260e40, __in_chrg=<optimized out>)
    at ALSAAudio.cpp:305
#5  0x000000000047a75b in boost::checked_delete<AudioInput> (x=<optimized out>)
    at /usr/include/boost/core/checked_delete.hpp:34
#6  boost::detail::sp_counted_impl_p<AudioInput>::dispose (this=<optimized out>)
    at /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:78
#7  0x00000000004f57e5 in boost::detail::sp_counted_base::release (this=0x1262080)
    at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:146
#8  boost::detail::shared_count::~shared_count (this=<optimized out>, __in_chrg=<optimized out>)
    at /usr/include/boost/smart_ptr/detail/shared_count.hpp:443
#9  boost::shared_ptr<AudioInput>::~shared_ptr (this=<optimized out>, __in_chrg=<optimized out>)
    at /usr/include/boost/smart_ptr/shared_ptr.hpp:323
#10 boost::shared_ptr<AudioInput>::reset (this=<synthetic pointer>)
    at /usr/include/boost/smart_ptr/shared_ptr.hpp:614
#11 Audio::stop () at Audio.cpp:272
#12 0x0000000000523467 in AudioWizard::restartAudio (this=this@entry=0x1262aa0) at AudioWizard.cpp:385
#13 0x00000000005236b7 in AudioWizard::on_qsOutputDelay_valueChanged (this=this@entry=0x1262aa0, v=5)
    at AudioWizard.cpp:311
#14 0x00000000005b0287 in AudioWizard::qt_static_metacall (_o=_o@entry=0x1262aa0, 
    _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=4, _a=_a@entry=0x7fffffffd060)
    at moc_AudioWizard.cpp:154
#15 0x00000000005b0459 in AudioWizard::qt_metacall (this=0x1262aa0, _c=QMetaObject::InvokeMetaMethod, 
    _id=4, _a=0x7fffffffd060) at moc_AudioWizard.cpp:213
#16 0x00007ffff46daedb in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
   from /usr/lib64/qt4/libQtCore.so.4
#17 0x00007ffff55c488e in QAbstractSlider::valueChanged(int) () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00000000005256c9 in AudioWizard::AudioWizard (this=0x1262aa0, p=<optimized out>)
    at AudioWizard.cpp:180
#19 0x0000000000485b52 in main (argc=1, argv=<optimized out>) at main.cpp:421
(gdb) quit
A debugging session is active.

        Inferior 1 [process 6422] will be killed.

Quit anyway? (y or n) y
jiro@nela ~ $ 

@mkrautz
Copy link
Contributor

mkrautz commented Dec 8, 2016

Freezing the whole applications is obviously a Mumble bug, but...

The freezing is because Mumble's ALSA input thread can't read from your default ALSA device.

Do you run on a system with hardware mixing support? Do you use DMIX?
If not, my guess is that something else is using your audio device already, causing Mumble to be stuck when reading the microphone of the default device.

Are you only using ALSA on this machine. No sound server, like PulseAudio?
Are other programs able to read from the microphone when using ALSA directly, or is it just a Mumble problem?

@netjiro
Copy link
Author

netjiro commented Dec 9, 2016

Thanks for the help. I'll try rebuilding with jack or pulseaudio when I'm back on Monday.
Could be that plasma hogs alsa, but I had nothing else audio related running. I have had multiple audio sources running concurrently before afaik. I'll test that as well again to make sure. I'll also test the mic, which I have not done yet on this machine.

@netjiro
Copy link
Author

netjiro commented Dec 15, 2016

Ok, workaround in place: force a separate usb headset as alsa card 0
Then mumble can continue to full UI, and it works ok (see later)
This does not work if the intel sound module is card 0. I'll try some more later on to see if I can get that to work...

But with the usb headset I sometimes get a stutter, precisely as reported in issue #2179
so now I'm off to try to see if that can be circumvented ...

@DerSaidin
Copy link

I experienced the same problem with mumble 1.3 (the 2018-07-01 git from this nix package) on NixOS (Linux 4.18.16 x86_64) with PulseAudio.

It was hanging with the same stack, same empty window, same console output before in hangs. Specifying the ALSA configuration also fixed it for me.

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Generic_1 [HD-Audio Generic], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 2: ALC892 Alt Analog [ALC892 Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
$ cat /proc/asound/modules 
 0 snd_hda_intel
 1 snd_hda_intel
 2 snd_usb_audio

(This computer has an AMD CPU, so I'm not sure why I'm seeing snd_hda_intel?).

Fixed by creating this file:

$ cat ~/.asoundrc 
pcm.!default {
    type hw
    card 2
}

ctl.!default {
    type hw
    card 2
}

Audacity worked fine without this.

@Krzmbrzl Krzmbrzl added audio bug A bug (error) in the software labels Mar 6, 2020
@Krzmbrzl
Copy link
Member

Does this still happen with the latest 1.3.x version of Mumble?

@DerSaidin
Copy link

Mumble 1.3.3 (from nix package) now works for me on NixOS (Linux 5.9.12 x86_64), without the ~/.asoundrc workaround.

I think it has been working for a while.

@Krzmbrzl
Copy link
Member

Thanks for the update 👍

In that case let's assume this is fixed until someone says otherwise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants