Summary: | kmix crash with pulse audio | ||
---|---|---|---|
Product: | [Applications] kmix | Reporter: | Alin M Elena <alinm.elena> |
Component: | Backend: Pulseaudio | Assignee: | Colin Guthrie <colin> |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | CC: | esken |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Alin M Elena
2011-11-15 15:54:19 UTC
it seems to crash every time the song changes in amarok. Alin Thanks for the bug report. I found the crash is in line 990 (KDE 4.7.3): 986 void MDWSlider::update() 987 { 988 989 if ( m_slidersPlayback.count() != 0 || m_mixdevice->playbackVolume().hasSwitch() ) 990 updateInternal(m_mixdevice->playbackVolume(), m_slidersPlayback, m_mixdevice->isMuted() ); // <<<<<<<< HERE 991 if ( m_slidersCapture.count() != 0 || m_mixdevice->captureVolume().hasSwitch() ) 992 updateInternal(m_mixdevice->captureVolume(), m_slidersCapture, m_mixdevice->isNotRecSource() ); This means m_mixdevice is invalid or null. Looks like a race condition with object creation and object publishing. Or object deletion and still using it. I do *not* think this problem is a problem in the Pulseaudio backend. I will still assign it to it. Colin, will you have a look? If you cannot do anything please just assign it back to me. Ben Cooksley also had a similar trace: Application: KMix (kmix), signal: Segmentation fault [Current thread is 1 (Thread 0x7f3317e20800 (LWP 3779))] Thread 2 (Thread 0x7f32f3684700 (LWP 3782)): #0 0x00007f3312f60423 in poll () from /lib64/libc.so.6 #1 0x00007f33139dda98 in ?? () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f33139ddf59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #3 0x00007f3314a446da in QEventDispatcherGlib::processEvents (this=0xa5fa60, flags=...) at /home/ben/kdesvn/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:426 #4 0x00007f3314a05e14 in QEventLoop::processEvents (this=0x7f32f3683ce0, flags=...) at /home/ben/kdesvn/qt-copy/src/corelib/kernel/qeventloop.cpp:149 #5 0x00007f3314a05f9e in QEventLoop::exec (this=0x7f32f3683ce0, flags=...) at /home/ben/kdesvn/qt-copy/src/corelib/kernel/qeventloop.cpp:204 #6 0x00007f33148d48eb in QThread::exec (this=0xa5d100) at /home/ben/kdesvn/qt-copy/src/corelib/thread/qthread.cpp:501 #7 0x00007f33149e119f in QInotifyFileSystemWatcherEngine::run (this=0xa5d100) at /home/ben/kdesvn/qt-copy/src/corelib/io/qfilesystemwatcher_inotify.cpp:248 #8 0x00007f33148d7218 in QThreadPrivate::start (arg=0xa5d100) at /home/ben/kdesvn/qt-copy/src/corelib/thread/qthread_unix.cpp:298 #9 0x00007f3314619f05 in start_thread () from /lib64/libpthread.so.0 #10 0x00007f3312f6953d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7f3317e20800 (LWP 3779)): [KCrash Handler] #6 0x00007f3317a180f3 in MDWSlider::update (this=0xa28c70) at /home/ben/kdesvn/kdemultimedia/kmix/gui/mdwslider.cpp:990 #7 0x00007f3317a1395b in ViewDockAreaPopup::refreshVolumeLevels (this=<optimized out>) at /home/ben/kdesvn/kdemultimedia/kmix/gui/viewdockareapopup.cpp:159 #8 0x00007f3314a267f6 in QMetaObject::activate (sender=0x998590, m=0x7f3317c4fa40, local_signal_index=1, argv=0x0) at /home/ben/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:3547 #9 0x00007f3314a267f6 in QMetaObject::activate (sender=0x997350, m=0x7f3317c4b860, local_signal_index=0, argv=0x0) at /home/ben/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:3547 #10 0x00007f33179edc0c in Mixer_Backend::readSetFromHW (this=0x997350) at /home/ben/kdesvn/kdemultimedia/kmix/backends/mixer_backend.cpp:155 #11 0x00007f33179fecaf in sink_input_cb (c=<optimized out>, i=0x0, eol=<optimized out>) at /home/ben/kdesvn/kdemultimedia/kmix/backends/mixer_pulse.cpp:309 #12 0x00007f3313eacbac in ?? () from /usr/lib64/libpulse.so.0 #13 0x00007f330910b073 in ?? () from /usr/lib64/libpulsecommon-1.1.so #14 0x00007f330910b3e3 in pa_pdispatch_run () from /usr/lib64/libpulsecommon-1.1.so #15 0x00007f3313ea3ddd in ?? () from /usr/lib64/libpulse.so.0 #16 0x00007f330910fc7b in ?? () from /usr/lib64/libpulsecommon-1.1.so #17 0x00007f3313c8fbf3 in ?? () from /usr/lib64/libpulse-mainloop-glib.so.0 #18 0x00007f33139dd58d in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #19 0x00007f33139ddd88 in ?? () from /usr/lib64/libglib-2.0.so.0 #20 0x00007f33139ddf59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #21 0x00007f3314a446b7 in QEventDispatcherGlib::processEvents (this=0x60d040, flags=...) at /home/ben/kdesvn/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:424 #22 0x00007f3315dfd9ac in QGuiEventDispatcherGlib::processEvents (this=0x60d040, flags=...) at /home/ben/kdesvn/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:204 #23 0x00007f3314a05e14 in QEventLoop::processEvents (this=0x7fff98cab370, flags=...) at /home/ben/kdesvn/qt-copy/src/corelib/kernel/qeventloop.cpp:149 #24 0x00007f3314a05f9e in QEventLoop::exec (this=0x7fff98cab370, flags=...) at /home/ben/kdesvn/qt-copy/src/corelib/kernel/qeventloop.cpp:204 #25 0x00007f3314a08bca in QCoreApplication::exec () at /home/ben/kdesvn/qt-copy/src/corelib/kernel/qcoreapplication.cpp:1148 #26 0x00007f3315d239c4 in QApplication::exec () at /home/ben/kdesvn/qt-copy/src/gui/kernel/qapplication.cpp:3811 #27 0x00007f3317a04422 in kdemain (argc=1, argv=0x7fff98cab908) at /home/ben/kdesvn/kdemultimedia/kmix/apps/main.cpp:72 #28 0x00007f3312eb123d in __libc_start_main () from /lib64/libc.so.6 #29 0x00000000004007e1 in _start () at ../sysdeps/x86_64/elf/start.S:113 So I'm guessing that somehow the VideDockAreaPopup has some stale references that are not being cleared out properly. IIRC there is some code where I try and delete all the old stuff on redraw etc., but perhaps this is masked somewhere in an expanded class for the viewdock stuff? Like Christian I don't think this is the PA backend specifically but rather the general support in Kmix for "dynamic mixers" i.e. mixers whose elements come and go. Of course that infrastructure is primarily *for* PA but I believe Christian is using it a little for other stuff now (MPRIS) too. Not sure I'll be able to look at this soon :s Several duplicates with the same backtrace, master bug is bug 285017 *** This bug has been marked as a duplicate of bug 285017 *** |