[trunk] hanging when there are no valid ALSA devices

• Dec 2, 2011 - 11:41
Type
Functional
Severity
S4 - Minor
Status
active
Project

When MuseScore is run a box where there are no valid ALSA devices available
(only virtual midi), the application is sometimes stuck, and needs to be forcefully killed.

This happens for example when one tries to quit.

Seen with this SVN version r5065, on a Debian stable/testing/unstable hybrid installation.

The stack trace of the "hang-while-quitting" state is this:

#0 0x00007ffff19e01cd in nanosleep () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff19e0040 in sleep () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x0000000000a35d1a in AlsaAudio::stop (this=0x2826bc0) at /home/kristof/local/src/musecore/mscore/mscore/alsa.cpp:711
#3 AlsaAudio::stop (this=0x2826bc0) at /home/kristof/local/src/musecore/mscore/mscore/alsa.cpp:706
#4 0x0000000000a35e6d in ~AlsaAudio (this=0x2826bc0, __in_chrg=) at /home/kristof/local/src/musecore/mscore/mscore/alsa.cpp:617
#5 0x0000000000a35eb9 in ~AlsaAudio (this=0x2826bc0, __in_chrg=) at /home/kristof/local/src/musecore/mscore/mscore/alsa.cpp:619
#6 0x00000000008e1441 in Seq::exit (this=0x23281d0) at /home/kristof/local/src/musecore/mscore/mscore/seq.cpp:272
#7 0x0000000000880a12 in MuseScore::closeEvent (this=0x238b450, ev=0x7fffffffd1a0) at /home/kristof/local/src/musecore/mscore/mscore/musescore.cpp:268
#8 0x00007ffff460643e in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#9 0x00007ffff49c086b in QMainWindow::event(QEvent*) () from /usr/lib/libQtGui.so.4
#10 0x00007ffff45b59f4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#11 0x00007ffff45ba881 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#12 0x00007ffff34a416c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#13 0x00007ffff4600f9d in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () from /usr/lib/libQtGui.so.4
#14 0x00007ffff4633986 in QApplication::x11ClientMessage(QWidget*, _XEvent*, bool) () from /usr/lib/libQtGui.so.4
#15 0x00007ffff4631f03 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#16 0x00007ffff4659db2 in ?? () from /usr/lib/libQtGui.so.4
#17 0x00007ffff03f20cf in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff03f28c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff03f2a99 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff34cec9f in QEventDispatcherGlib::processEvents(QFlags) () from /usr/lib/libQtCore.so.4
#21 0x00007ffff4659a4e in ?? () from /usr/lib/libQtGui.so.4
#22 0x00007ffff34a3372 in QEventLoop::processEvents(QFlags) () from /usr/lib/libQtCore.so.4
#23 0x00007ffff34a356f in QEventLoop::exec(QFlags) () from /usr/lib/libQtCore.so.4
#24 0x00007ffff34a7717 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#25 0x00000000007834f7 in main (argc=1, av=) at /home/kristof/local/src/musecore/mscore/mscore/musescore.cpp:2304


Comments