Comment 22 for bug 963895

Revision history for this message
In , Christian Esken (esken-kde) wrote :

Current findings:
The crash happens in kdemultimedia-4.8.0/kmix/gui/mdwslider.cpp:854, which is:
if (m_slidersPlayback.count() > 0) volumeChangeInternal(m_mixdevice->playbackVolume(), m_slidersPlayback);

The problem cannot be m_slidersPlayback, as it is owned by MdwSlider itself. What remains is m_mixdevice. So my guess is that m_mixdevice points to something invalid. it is quite likely a disappearing audio stream. This could easily happen during loginm, when a "welcome sound" is played.

My current theory goes like this:
1) Stream plays
2) Somewhere a volume change is coming in (you might consider to disable KMix's own volume restore)
3) Stream ends => m_mixdevice gets discarded
4) The volume change is propagated to the volumeChange() method, which accesses a dead pointer in line 854.

Possible solutions: See next comment