Bug 210427

Summary: KDE applications crash due to Phonon after a backend change [@ Phonon::Gstreamer::MediaNode::disconnectNode]
Product: [Frameworks and Libraries] Phonon Reporter: Oliver Putz <Regnaron>
Component: generalAssignee: Harald Sitter <sitter>
Status: RESOLVED FIXED    
Severity: crash CC: alexander.dunaev, alfabravoteam, andresbajotierra, arne_bab, balcaen.john, bianchi, biasquez, bram.diederik, bugs, cannedalien, cesar.paganelli, cody, dglent, echidnaman, fernancaba, Flu_Ger, greg.martyn, grzegorz.halat, hephooey_dev, hugh.kde.bugs, ian.hawdon, jamartin, janiktomanek, janow49420, johnthehammer23, karaluh, kde-bugzilla, kdestuff, lalvmartins, landonbrainard, marcelo, martin.sandsmark, mingomax, myriam, oded, ossi, p92, pavel.nedr, pickman, roopi1975, Simon80, sitter, sloth, sstewart11, striderr_, t.kijas, talkingodlor, teo78, tianweizhi, tim.klassen, tjm1983, v.babosha, veselyl, vo.zaeb, WiFiCrawler, wooly1111, zohn.joidberg
Priority: LO Keywords: triaged
Version: 4.5-git   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In: 4.8
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description Oliver Putz 2009-10-13 13:04:47 UTC
Application that crashed: systemsettings
Version of the application: 1.0
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.2
Operating System: Linux 2.6.30-gentoo-r4 x86_64

What I was doing when the application crashed:
Regrettably I cannot reproduce this crash, but here is what I (more or less) did.

1) Went to Systemsettings -> Multimedia
2) Ran test sounds on both devices (HDA Intel and Esound (ESD)
3) Went to backend and switched preferred backend from Xine to GStreamer
4) Played the testsounds again
5) Applied the changes
6) Played the testsounds again

At the last step I was then greeted by the backtrace below

 -- Backtrace:
Application: System Settings (systemsettings), signal: Aborted
[KCrash Handler]
#5  0x00007f06f6531205 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007f06f6532723 in *__GI_abort () at abort.c:88
#7  0x00007f06f726aa35 in qt_message_output (msgType=QtFatalMsg, buf=<value optimized out>) at global/qglobal.cpp:2042
#8  0x00007f06f726ab50 in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2241
#9  0x00007f06e4770778 in Phonon::Gstreamer::MediaNode::disconnectNode (this=0x1148690, obj=0x110ef10)
    at /tmp/portage/media-sound/phonon-4.4_pre20090520/work/phonon-4.4_pre20090520/gstreamer/medianode.cpp:203
#10 0x00007f06ebae146a in Phonon::PathPrivate::executeTransaction (this=<value optimized out>, disconnections=@0x7fff21bfe200, connections=@0x7fff21bfe1f0)
    at /tmp/portage/media-sound/phonon-4.4_pre20090520/work/phonon-4.4_pre20090520/phonon/path.cpp:314
#11 0x00007f06ebae32ef in Phonon::PathPrivate::phononObjectDestroyed (this=0x20a0130, mediaNodePrivate=0xc7ea00)
    at /tmp/portage/media-sound/phonon-4.4_pre20090520/work/phonon-4.4_pre20090520/phonon/path.cpp:405
#12 0x00007f06ebae0436 in ~MediaNodePrivate (this=0xc7ea00) at /tmp/portage/media-sound/phonon-4.4_pre20090520/work/phonon-4.4_pre20090520/phonon/medianode.cpp:71
#13 0x00007f06ebadfa85 in ~MediaObjectPrivate (this=0xc7ea00) at /tmp/portage/media-sound/phonon-4.4_pre20090520/work/phonon-4.4_pre20090520/phonon/mediaobject_p.h:42
#14 0x00007f06ebadd53b in ~MediaObject (this=0x10e9bb0) at /tmp/portage/media-sound/phonon-4.4_pre20090520/work/phonon-4.4_pre20090520/phonon/mediaobject.cpp:65
#15 0x00007f06eb0610a3 in DevicePreference::on_testPlaybackButton_toggled (this=0xcecc20, down=<value optimized out>)
    at /tmp/portage/kde-base/phonon-kde-4.3.2/work/phonon-kde-4.3.2/phonon/kcm/devicepreference.cpp:730
#16 0x00007f06eb065ad7 in DevicePreference::qt_metacall (this=0xcecc20, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff21bfe480)
    at /tmp/portage/kde-base/phonon-kde-4.3.2/work/phonon-kde-4.3.2_build/phonon/kcm/moc_devicepreference.cpp:93
#17 0x00007f06f7357e4d in QMetaObject::activate (sender=0xf7ea70, from_signal_index=<value optimized out>, to_signal_index=31, argv=0xffffffffffffffff) at kernel/qobject.cpp:3101
#18 0x00007f06f84294d2 in QAbstractButton::toggled (this=0x1b9a, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:207
#19 0x00007f06f81c32fe in QAbstractButton::setChecked (this=0xf7ea70, checked=154) at widgets/qabstractbutton.cpp:763
#20 0x00007f06f81c2fda in QAbstractButtonPrivate::click (this=0xf3dfa0) at widgets/qabstractbutton.cpp:525
#21 0x00007f06f81c3255 in QAbstractButton::mouseReleaseEvent (this=0xf7ea70, e=0x7fff21bfede0) at widgets/qabstractbutton.cpp:1115
#22 0x00007f06f8281d6a in QToolButton::mouseReleaseEvent (this=0x1b9a, e=0x1b9a) at widgets/qtoolbutton.cpp:709
#23 0x00007f06f7ee80f0 in QWidget::event (this=0xf7ea70, event=0x7fff21bfede0) at kernel/qwidget.cpp:7549
#24 0x00007f06f7e9aa2d in QApplicationPrivate::notify_helper (this=0xc8efe0, receiver=0xf7ea70, e=0x7fff21bfede0) at kernel/qapplication.cpp:4056
#25 0x00007f06f7ea3b89 in QApplication::notify (this=<value optimized out>, receiver=0xf7ea70, e=0x7fff21bfede0) at kernel/qapplication.cpp:3758
#26 0x00007f06f8c3b5ab in KApplication::notify (this=0x7fff21c00b90, receiver=0xf7ea70, event=0x7fff21bfede0)
    at /tmp/portage/kde-base/kdelibs-4.3.2-r1/work/kdelibs-4.3.2/kdeui/kernel/kapplication.cpp:302
#27 0x00007f06f7345d3b in QCoreApplication::notifyInternal (this=0x7fff21c00b90, receiver=0xf7ea70, event=0x7fff21bfede0) at kernel/qcoreapplication.cpp:606
#28 0x00007f06f7ea2e28 in QApplicationPrivate::sendMouseEvent (receiver=0xf7ea70, event=0x7fff21bfede0, alienWidget=0xf7ea70, nativeWidget=0xdbdd70, buttonDown=<value optimized out>, 
    lastMouseReceiver=@0x7f06f87cef70) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#29 0x00007f06f7efdbec in QETWidget::translateMouseEvent (this=0xdbdd70, event=<value optimized out>) at kernel/qapplication_x11.cpp:4404
#30 0x00007f06f7efc725 in QApplication::x11ProcessEvent (this=0x7fff21c00b90, event=0x7fff21c007d0) at kernel/qapplication_x11.cpp:3545
#31 0x00007f06f7f213bc in x11EventSourceDispatch (s=0xc86a20, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#32 0x00007f06f38e2ce0 in IA__g_main_context_dispatch (context=0xc85c00) at gmain.c:1824
#33 0x00007f06f38e6408 in g_main_context_iterate (context=0xc85c00, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2455
#34 0x00007f06f38e65cc in IA__g_main_context_iteration (context=0xc85c00, may_block=1) at gmain.c:2518
#35 0x00007f06f736aeaf in QEventDispatcherGlib::processEvents (this=0xc5d790, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#36 0x00007f06f7f20c7f in QGuiEventDispatcherGlib::processEvents (this=0x1b9a, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#37 0x00007f06f73446e2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 566233792}) at kernel/qeventloop.cpp:149
#38 0x00007f06f734487c in QEventLoop::exec (this=0x7fff21c00b00, flags={i = 566233872}) at kernel/qeventloop.cpp:197
#39 0x00007f06f734691c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#40 0x000000000040d33a in main (argc=5, argv=0x7fff21c00e48) at /tmp/portage/kde-base/systemsettings-4.3.2/work/systemsettings-4.3.2/systemsettings/app/main.cpp:51

Reported using DrKonqi
Comment 1 Dario Andres 2009-10-14 02:14:41 UTC
Looks a lot like bug 205429, also the situation is similar (crash after backend change)
Thanks
Comment 2 Dario Andres 2009-11-14 14:22:31 UTC
*** Bug 214487 has been marked as a duplicate of this bug. ***
Comment 3 Jonathan Thomas 2009-12-17 19:26:58 UTC
I have exact steps for the reproduction of this bug:

- Start off with the Xine backend enabled.
- Play the test sound on a device
- While the test sound is still playing (important) change backends to GStreamer and hit "Apply"
- The button should still be pressed in. Pushing it again will make Phonon try to stop the test sound and leads to this crash.
Comment 4 Dario Andres 2010-02-02 22:54:36 UTC
Title was "Phonon configuration crashed when playing test sound after changing backend and preferred output device"
Comment 5 Dario Andres 2010-02-02 22:55:25 UTC
From bug 225306:
-- Information about the crash:
This crash happens when I first start dolphin, preview a few mp3 (only the
first 2 or 3 mp3s are played successfully), switch the phonon backend from
GStream to Xine, then (unsuccessfully) preview mp3s again in dolphin. Dolphin
crashed when I tried to close it.
Comment 6 Dario Andres 2010-02-02 22:55:30 UTC
*** Bug 225306 has been marked as a duplicate of this bug. ***
Comment 7 Myriam Schweingruber 2010-02-17 14:07:19 UTC
Dario: isn't this the same bug than bug 192378? Both happen when switching to the gstreamer backend, not sure the backtraces are the same, though.
Comment 8 Dario Andres 2010-02-17 16:30:08 UTC
@Myriam: while the situation is similar, the backtrace seems different, but I don't really know the Phonon code to tell if they could belong to the same root issue or not (the one here seems to be related to an object destruction; but the other backtrace seems to be related to a video object creation). I guess we need some help from Martin (Sandsmark).
Comment 9 Myriam Schweingruber 2010-04-06 14:37:50 UTC
Setting correct version from latest duplicate.
Comment 10 Martin Sandsmark 2010-04-08 00:35:44 UTC
seems to be a race condition.
Comment 11 roopi1975 2010-05-01 15:54:06 UTC
Created attachment 43147 [details]
New crash information added by DrKonqi

I don't have output sound ( no sound) The message that it gives is :Phonon :KDE's sound is not work. 
- TigerJet network usb internet phone by tigerjet (USB Audio)
- USB Internet phone by TigerJet. USB Audio (IEC958 (S/PDIF) Digital Audio Output)
I would like you to help me to have audio and video output.
Thank you
Comment 12 Myriam Schweingruber 2010-05-29 13:21:49 UTC
*** Bug 239919 has been marked as a duplicate of this bug. ***
Comment 13 Myriam Schweingruber 2010-06-15 23:43:28 UTC
*** Bug 241851 has been marked as a duplicate of this bug. ***
Comment 14 Alexander 2010-06-16 08:28:49 UTC
(In reply to comment #13)
> *** Bug 241851 has been marked as a duplicate of this bug. ***
Really, dolphin crashes by the same way, with one difference: after running dolphin, you need to open folder that contains video or audio files and play any of them through the information panel in dolphin. After you stop the playback, change the backend back to phonon-xine and try to close dolphin — it will crash, every time.
Comment 15 Myriam Schweingruber 2010-08-14 11:08:41 UTC
*** Bug 228740 has been marked as a duplicate of this bug. ***
Comment 16 Myriam Schweingruber 2010-08-14 11:09:18 UTC
*** Bug 229325 has been marked as a duplicate of this bug. ***
Comment 17 Myriam Schweingruber 2010-08-14 11:09:48 UTC
*** Bug 236525 has been marked as a duplicate of this bug. ***
Comment 18 Myriam Schweingruber 2010-08-14 11:10:28 UTC
*** Bug 242789 has been marked as a duplicate of this bug. ***
Comment 19 Myriam Schweingruber 2010-08-22 08:55:24 UTC
*** Bug 248507 has been marked as a duplicate of this bug. ***
Comment 20 Myriam Schweingruber 2010-11-20 14:03:17 UTC
*** Bug 257145 has been marked as a duplicate of this bug. ***
Comment 21 Harald Sitter 2010-11-29 10:56:18 UTC
Turns out this has nothing to do with race conditions.

Bug Analysis thus far:
-) upon backend change Phonon::FactoryPrivate::phononBackendChanged will be called
-) this then calls Phonon::MediaNodePrivate::deleteBackendObject
-) and this destroys the mediaobjects and backend of the previously used engine, however no other nodes than the mediaobjects it seems...
-) at this point the graph is left in a broken state, since any node might access the root (or really its parent, which would probably be a mediaobject, though that is gone too)
-) now if the consumer application destroys the nodes (usually happens on quit), everything is fine for the mediaobject (supposedly Phonon at this point does a roundtrip and creates an intermediate MO, since its previous one is gone - at least I saw a second MO appear at times), but the audiooutputs/videowidgets... are left with a broken graph and as phonon tries to disconnect the nodes from the path it falls over, as in order to disconnect from the rest of the graph it would have to access its parent and possible also the root (in GStreamer most definitely the root), however there is no root, and this is why the assert hits

Problem Analysis:
-) Backends need to keep track of all attached nodes and ensure they are shot int he head, when the backend itself gets destructed
-) the xine backend does have a class KeepReference for this purpose, to which each output registers and in turn KeepReference ensures that the backend holds a list of all nodes that need cleanup
-) since this is a problem of global scope, as it potentially affects every backend, it ought to be delt with globally, so that backend switching becomes more reliable regardless of whether the backend implements this

Solutions:
-) Implement reference keeping in every backend (not good)
-) Ensure a backend switch enforces complete destruction of the backend's graph (much better). I gather that the code behind FactoryPrivate::phononBackendChanged is supposed to do exactly this, but for whatever reason fails to do it.

FactoryPrivate::phononBackendChanged surely needs a logic review and be it only to make it destruct the backend graph so that deletion of the parenting phonon nodes does not crash in the backend node's dtors.
Comment 22 Harald Sitter 2010-11-29 11:00:43 UTC
Reducing priority to low for now, since this crash only appears in a very minor use case.
Comment 23 Myriam Schweingruber 2010-12-02 13:38:08 UTC
*** Bug 258532 has been marked as a duplicate of this bug. ***
Comment 24 omega 2010-12-02 22:37:21 UTC
Created attachment 54011 [details]
New crash information added by DrKonqi

amarok (2.3.2) on KDE Platform 4.5.80 (4.6 Beta1) using Qt 4.7.1

- What I was doing when the application crashed:

Went to backend and switched preferred backend from Xine to GStreamer

-- Backtrace (Reduced):
#11 0x00007ffd64feda68 in Phonon::Gstreamer::MediaNode::disconnectNode (this=0x38989c0, obj=0x11d4000) at ../../gstreamer/medianode.cpp:207
#12 0x00007ffd7d0e112d in Phonon::PathPrivate::executeTransaction (this=<value optimized out>, disconnections=..., connections=...) at ../../phonon/path.cpp:316
#13 0x00007ffd7d0e1a8d in Phonon::PathPrivate::phononObjectDestroyed (this=0x11d7960, mediaNodePrivate=0x112e540) at ../../phonon/path.cpp:408
#14 0x00007ffd7d0e03bc in Phonon::MediaNodePrivate::~MediaNodePrivate (this=0x112e540, __in_chrg=<value optimized out>) at ../../phonon/medianode.cpp:71
#15 0x00007ffd7d0dfc7e in ~MediaObjectPrivate (this=0x112e540, __in_chrg=<value optimized out>) at ../../phonon/mediaobject_p.h:42
Comment 25 Myriam Schweingruber 2010-12-15 23:50:27 UTC
*** Bug 259972 has been marked as a duplicate of this bug. ***
Comment 26 Harald Sitter 2011-01-03 03:39:10 UTC
*** Bug 259855 has been marked as a duplicate of this bug. ***
Comment 27 Harald Sitter 2011-01-03 03:48:09 UTC
Moving to Phonon general, as this is a general issue with backend switching and the logic complexity involved with manual destruction of one tree and construction of another one without actually ending up in such a situation.
It was concluded that the use is not worth the effort of head twisting, especially since one should not need to switch backends on a daily basis.

Therefore the current plan is that Phonon 4.5 (with UI support in KDE 4.7) will no longer try to carry out on-the-fly switches, but rather switch the backend for newly started applications.
Comment 28 Harald Sitter 2011-01-05 19:06:44 UTC
*** Bug 188444 has been marked as a duplicate of this bug. ***
Comment 29 Harald Sitter 2011-01-27 15:30:38 UTC
*** Bug 264335 has been marked as a duplicate of this bug. ***
Comment 30 Harald Sitter 2011-02-02 10:18:20 UTC
*** Bug 265042 has been marked as a duplicate of this bug. ***
Comment 31 Flu87 2011-02-04 15:24:35 UTC
Created attachment 56854 [details]
New crash information added by DrKonqi

amarok (2.4.0) on KDE Platform 4.5.5 (KDE 4.5.5) using Qt 4.7.1

- What I was doing when the application crashed:

plugged in some new speakers
(backend: Gstreamer)
tested sounds on variouse channels
changed to backend Xine
testet some channels
pressed "Apply"
crash

-- Backtrace (Reduced):
#6  0x00007f67bb6ecec5 in Phonon::PathPrivate::phononObjectDestroyed (this=0xa64160, mediaNodePrivate=0xce58b0) at /var/tmp/portage/media-sound/phonon-4.4.3/work/phonon-4.4.3/phonon/path.cpp:395
#7  0x00007f67bb6eb4bb in Phonon::MediaNodePrivate::~MediaNodePrivate (this=0xce58b0, __in_chrg=<value optimized out>) at /var/tmp/portage/media-sound/phonon-4.4.3/work/phonon-4.4.3/phonon/medianode.cpp:71
#8  0x00007f67bb6f0fbb in ~EffectPrivate (this=0xce58b0, __in_chrg=<value optimized out>) at /var/tmp/portage/media-sound/phonon-4.4.3/work/phonon-4.4.3/phonon/effect_p.h:40
#9  Phonon::VolumeFaderEffectPrivate::~VolumeFaderEffectPrivate (this=0xce58b0, __in_chrg=<value optimized out>) at /var/tmp/portage/media-sound/phonon-4.4.3/work/phonon-4.4.3/phonon/volumefadereffect_p.h:36
#10 0x00007f67bb6efccb in Phonon::Effect::~Effect (this=0xce5640, __in_chrg=<value optimized out>) at /var/tmp/portage/media-sound/phonon-4.4.3/work/phonon-4.4.3/phonon/effect.cpp:38
Comment 32 Harald Sitter 2011-02-18 16:41:49 UTC
*** Bug 266611 has been marked as a duplicate of this bug. ***
Comment 33 balustre 2011-02-22 00:00:25 UTC
Created attachment 57428 [details]
New crash information added by DrKonqi

amarok (2.4.0) on KDE Platform 4.5.5 (KDE 4.5.5) using Qt 4.7.1

- What I was doing when the application crashed:

Change phonon backend from xine to gstreamer

-- Backtrace (Reduced):
#11 0x00007f73efde2df8 in Phonon::Gstreamer::MediaNode::disconnectNode (this=0x2042c20, obj=0x4757510) at /usr/src/debug/phonon-4.4.3/gstreamer/medianode.cpp:207
#12 0x0000003a3e82a39d in Phonon::PathPrivate::executeTransaction (this=<value optimized out>, disconnections=..., connections=...) at /usr/src/debug/phonon-4.4.3/phonon/path.cpp:316
#13 0x0000003a3e82acef in Phonon::PathPrivate::phononObjectDestroyed (this=0x1d9a580, mediaNodePrivate=0x1d966a0) at /usr/src/debug/phonon-4.4.3/phonon/path.cpp:408
#14 0x0000003a3e82961c in Phonon::MediaNodePrivate::~MediaNodePrivate (this=0x1d966a0, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.3/phonon/medianode.cpp:71
#15 0x0000003a3e828ee1 in ~MediaObjectPrivate (this=0x1d966a0, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.3/phonon/mediaobject_p.h:42
Comment 34 Harald Sitter 2011-02-24 23:44:13 UTC
*** Bug 257483 has been marked as a duplicate of this bug. ***
Comment 35 Janík Tománek 2011-03-28 17:22:25 UTC
Created attachment 58402 [details]
New crash information added by DrKonqi

amarok (2.4.0) on KDE Platform 4.6.00 (4.6.0) "release 6" using Qt 4.7.1

- What I was doing when the application crashed:
I decided to change Phonon backend while the Amarok was playing a song.

-- Backtrace (Reduced):
#6  0x00007f3a991d9f86 in Phonon::PathPrivate::phononObjectDestroyed (this=0xcc7d60, mediaNodePrivate=0x837e30) at /usr/src/debug/phonon-4.4.4/phonon/path.cpp:395
#7  0x00007f3a991d8aec in Phonon::MediaNodePrivate::~MediaNodePrivate (this=0x837e30, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/medianode.cpp:71
#8  0x00007f3a991dd65a in ~EffectPrivate (this=0x837e30, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/effect_p.h:40
#9  ~VolumeFaderEffectPrivate (this=0x837e30, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/volumefadereffect_p.h:36
#10 Phonon::VolumeFaderEffectPrivate::~VolumeFaderEffectPrivate (this=0x837e30, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/volumefadereffect_p.h:36
Comment 36 Myriam Schweingruber 2011-03-29 15:03:20 UTC
*** Bug 269654 has been marked as a duplicate of this bug. ***
Comment 37 Harald Sitter 2011-03-31 13:34:35 UTC
*** Bug 247474 has been marked as a duplicate of this bug. ***
Comment 38 Harald Sitter 2011-04-04 09:49:59 UTC
*** Bug 270039 has been marked as a duplicate of this bug. ***
Comment 39 Myriam Schweingruber 2011-04-10 11:32:16 UTC
*** Bug 270480 has been marked as a duplicate of this bug. ***
Comment 40 Andres Salcedo 2011-04-17 18:27:51 UTC
Created attachment 59071 [details]
New crash information added by DrKonqi

amarok (2.4.0) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

- What I was doing when the application crashed:
I updated ALSA to 1.0.24 following this howto http://ubuntuforums.org/showthread.php?p=10687506. Then rebooted and tested sound.

youtube sound worked. 
$ speaker-test -D surround51 -c2 worked and noise came out of each speaker.
Amarok default track does not come out of the speakers. Then I did the test in Phonon and it made no noise. Then, I changed the engine from Xine to GStreamer, applied and closed Amarok

Then the Bug Report showed up.

- Unusual behavior I noticed:
* Amarok makes no noise.
* I cannot control the sound level (when it works) using the applet neither the keyboard multimedia keys. The image with the volume level does change but it does not affect the current volume level

-- Backtrace (Reduced):
#11 0x00007fd18c063a08 in Phonon::Gstreamer::MediaNode::disconnectNode (this=0x383bb00, obj=0x263a210) at ../../gstreamer/medianode.cpp:207
#12 0x00007fd1a2758cbd in Phonon::PathPrivate::executeTransaction (this=<value optimized out>, disconnections=..., connections=...) at ../../phonon/path.cpp:316
#13 0x00007fd1a275961d in Phonon::PathPrivate::phononObjectDestroyed (this=0x25b2050, mediaNodePrivate=0x24fef80) at ../../phonon/path.cpp:408
#14 0x00007fd1a275308c in Phonon::MediaNodePrivate::~MediaNodePrivate (this=0x24fef80, __in_chrg=<value optimized out>) at ../../phonon/medianode.cpp:71
#15 0x00007fd1a275294e in ~MediaObjectPrivate (this=0x24fef80, __in_chrg=<value optimized out>) at ../../phonon/mediaobject_p.h:46
Comment 41 Harald Sitter 2011-04-20 15:54:12 UTC
*** Bug 271133 has been marked as a duplicate of this bug. ***
Comment 42 johnthehammer23 2011-04-22 06:29:06 UTC
Created attachment 59199 [details]
New crash information added by DrKonqi

amarok (2.4.0) on KDE Platform 4.6.1 (4.6.1) using Qt 4.7.2

- What I was doing when the application crashed:
Changed Phonon backend and exited Amarok.

-- Backtrace (Reduced):
#13 0x06a9ab96 in qt_assert (assertion=0x36f1b69 "sink->root()", file=0x36f1a74 "/builddir/build/BUILD/phonon-backend-gstreamer-4.5.0/gstreamer/medianode.cpp", line=204) at global/qglobal.cpp:2027
#14 0x036da4d8 in Phonon::Gstreamer::MediaNode::disconnectNode (this=0x93f2f40, obj=0xa1b2110) at /usr/src/debug/phonon-backend-gstreamer-4.5.0/gstreamer/medianode.cpp:204
#15 0x036cb8d7 in Phonon::Gstreamer::Backend::disconnectNodes (this=0xa145718, source=0x93f2f30, sink=0xa1b2110) at /usr/src/debug/phonon-backend-gstreamer-4.5.0/gstreamer/backend.cpp:411
#16 0x076f2256 in Phonon::PathPrivate::executeTransaction (this=0x930c040, disconnections=..., connections=...) at /usr/src/debug/phonon-4.5.0/phonon/path.cpp:316
#17 0x076f2c72 in Phonon::PathPrivate::phononObjectDestroyed (this=0x930c040, mediaNodePrivate=0x930bee8) at /usr/src/debug/phonon-4.5.0/phonon/path.cpp:408
Comment 43 Harald Sitter 2011-04-25 18:34:05 UTC
Git commit ee124b2d6566b75197b7f2124a9ffcd20cc152e9 by Harald Sitter.
Committed on 25/04/2011 at 18:31.
Pushed by sitter into branch 'master'.

Remove runtime backend switching

This was causing super horrible issues as it gets somewhat ugly when
phonon does not destruct the backend objects completely.
In the past this caused various problems (e.g. in gst callbacks to
objects that were not existing anymore) as well as recreatable
crashes on switching itself, not just of the KCM but *all*
currently running Phonon applications.
Generally speaking it required the backends to implement object
tracking as to destroy the whole backend graph upon backend switch,
which was only implemented in Xine and even there was insanely
complicated given the use.

Talking about use... it was agreed that the benefit of runtime
switching does not justify the work involved to implement and
support across multiple backends. Additionally switching the backend
ought not be something you do every day, but ultimately not ever as
the default backend installed by the user or the distributor should
be of sufficient stability and use. Should this not be the case it
*must* be considered a bug and treated as such. Working around by
switching to another backend does not contribute to the long-term
user experience in any way.

The implementation at hand replaces the backend switching logic with
a QMessageBox informing the user that she will have to restart the
application in order to apply the backend change.
In KDE 4.7's Phonon KCM we will introduce a more visually compelling
way of feedback. Unfortunately, as to maintain support for older
releases both the DBus interface and the handler function must remain
present to provide the silly messagebox feedback :S

BUG: 210427
FIXED-IN: 4.6.0
CCMAIL: kde-multimedia@kde.org
CCMAIL: phonon-backends@kde.org
CCMAIL: kde-devel@kde.org

M  +11   -23   phonon/factory.cpp     

http://commits.kde.org/phonon/ee124b2d6566b75197b7f2124a9ffcd20cc152e9
Comment 44 Sebastián Ramírez 2011-05-01 01:43:50 UTC
Created attachment 59473 [details]
New crash information added by DrKonqi

amarok (2.4.0) on KDE Platform 4.6.00 (4.6.0) "release 6" using Qt 4.7.1

- What I was doing when the application crashed:

Amarok falla al cambiar el motor de backend de gstreamer a xine.

-- Backtrace (Reduced):
#6  0xb4c211cd in Phonon::PathPrivate::phononObjectDestroyed (this=0x8d7bd98, mediaNodePrivate=0x98550a8) at /usr/src/debug/phonon-4.4.4/phonon/path.cpp:395
#7  0xb4c1fb2f in Phonon::MediaNodePrivate::~MediaNodePrivate (this=0x98550a8, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/medianode.cpp:71
#8  0xb4c24f4c in ~EffectPrivate (this=0x98550a8, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/effect_p.h:40
#9  ~VolumeFaderEffectPrivate (this=0x98550a8, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/volumefadereffect_p.h:36
#10 Phonon::VolumeFaderEffectPrivate::~VolumeFaderEffectPrivate (this=0x98550a8, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/volumefadereffect_p.h:36
Comment 45 Myriam Schweingruber 2011-05-01 16:06:09 UTC
Sebastian, this is fixed ahead of your Phonon version, KDE 4.6.0 ships Phonon 4.4.3, to get Phonon 4.6 you need at least KDE 4.6.2 or later.
Also, please make your reports in English.
Comment 46 Harald Sitter 2011-05-01 16:26:13 UTC
To get Phonon 4.6.0 you'd need to be living in the future, as the current release is 4.5.0.
Comment 47 Flu87 2011-05-01 17:45:39 UTC
I think he means the kde integration (e.g. in gentoo it's "kde-base/phonon-kde").
Depending on your distribution it should be already available.
Comment 48 Myriam Schweingruber 2011-05-12 20:54:53 UTC
*** Bug 272969 has been marked as a duplicate of this bug. ***
Comment 49 Tim 2011-05-12 21:53:55 UTC
I'm wondering if I'm affected by this bug.
I cannot connect alsa-jack.jackP to the system playback (when using VLC).  The error message I am given is: "cannot connect ports owned by inactive clients; "alsa-jack.jackP.20524.1" is not active"
I'm not sure how to supply further info, so if you have suggestions let me know.
Using KDE 4.62 on 64-bit 10.10 Maverick. VLC is version 1.14
Comment 50 Myriam Schweingruber 2011-05-14 10:59:22 UTC
*** Bug 273192 has been marked as a duplicate of this bug. ***
Comment 51 Myriam Schweingruber 2011-05-14 11:00:21 UTC
*** Bug 261702 has been marked as a duplicate of this bug. ***
Comment 52 Harald Sitter 2011-05-15 11:24:28 UTC
*** Bug 273196 has been marked as a duplicate of this bug. ***
Comment 53 Harald Sitter 2011-05-30 14:42:04 UTC
*** Bug 205651 has been marked as a duplicate of this bug. ***
Comment 54 Valentin 2011-06-09 01:12:29 UTC
Created attachment 60802 [details]
New crash information added by DrKonqi

amarok (2.4.1) on KDE Platform 4.6.00 (4.6.0) "release 6" using Qt 4.7.1

- What I was doing when the application crashed:

Amarok crash when I change backend during the playback.

-- Backtrace (Reduced):
#6  0x000000333f027f86 in Phonon::PathPrivate::phononObjectDestroyed (this=0x26242c0, mediaNodePrivate=0x1cecaa0) at /usr/src/debug/phonon-4.4.4/phonon/path.cpp:395
#7  0x000000333f026aec in Phonon::MediaNodePrivate::~MediaNodePrivate (this=0x1cecaa0, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/medianode.cpp:71
#8  0x000000333f02b65a in ~EffectPrivate (this=0x1cecaa0, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/effect_p.h:40
#9  ~VolumeFaderEffectPrivate (this=0x1cecaa0, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/volumefadereffect_p.h:36
#10 Phonon::VolumeFaderEffectPrivate::~VolumeFaderEffectPrivate (this=0x1cecaa0, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.4/phonon/volumefadereffect_p.h:36
Comment 55 Harald Sitter 2011-06-13 13:24:44 UTC
*** Bug 275528 has been marked as a duplicate of this bug. ***
Comment 56 Harald Sitter 2011-06-22 09:43:11 UTC
*** Bug 276183 has been marked as a duplicate of this bug. ***
Comment 57 Harald Sitter 2011-06-25 19:33:45 UTC
*** Bug 276447 has been marked as a duplicate of this bug. ***
Comment 58 Harald Sitter 2011-07-09 07:49:15 UTC
*** Bug 275143 has been marked as a duplicate of this bug. ***
Comment 59 Harald Sitter 2011-07-09 14:03:53 UTC
*** Bug 277410 has been marked as a duplicate of this bug. ***
Comment 60 Harald Sitter 2011-07-13 10:11:42 UTC
*** Bug 275216 has been marked as a duplicate of this bug. ***
Comment 61 Harald Sitter 2011-07-13 10:15:13 UTC
*** Bug 246448 has been marked as a duplicate of this bug. ***
Comment 62 Harald Sitter 2011-07-17 12:05:59 UTC
*** Bug 277903 has been marked as a duplicate of this bug. ***
Comment 63 Myriam Schweingruber 2011-08-03 11:33:42 UTC
*** Bug 279256 has been marked as a duplicate of this bug. ***
Comment 64 Harald Sitter 2011-08-16 13:43:59 UTC
*** Bug 280163 has been marked as a duplicate of this bug. ***
Comment 65 Myriam Schweingruber 2011-08-24 08:15:53 UTC
*** Bug 280691 has been marked as a duplicate of this bug. ***
Comment 66 Harald Sitter 2011-08-24 12:52:29 UTC
Git commit 2f7865531623be58fa9fe5a0a29c117169ef3feb by Harald Sitter.
Committed on 24/08/2011 at 14:48.
Pushed by sitter into branch 'master'.

Remove runtime backend switching.

It was decided long ago that it is not worth the effort.
No currently maintained backend actually supports it, so that
Phonon git master actually stops trying to switch altogether.
Through this change the KCM will stop making Phonon switch
at runtime from 4.8 onwards and instead present a nice
KMessageWidget informing the user that they will need to
login again to apply the changes.

This will prevent backend change related crashes (in KDE >=
4.8) neverminding the version of Phonon.

CCBUG: 210427
CCMAIL: kde-multimedia@kde.org

M  +14   -7    phonon/kcm/backendselection.cpp
M  +88   -84   phonon/kcm/backendselection.ui

http://commits.kde.org/kde-runtime/2f7865531623be58fa9fe5a0a29c117169ef3feb
Comment 67 Harald Sitter 2011-08-25 19:46:06 UTC
*** Bug 280320 has been marked as a duplicate of this bug. ***
Comment 68 Myriam Schweingruber 2011-08-28 00:22:24 UTC
*** Bug 280905 has been marked as a duplicate of this bug. ***
Comment 69 Harald Sitter 2011-08-31 16:48:28 UTC
*** Bug 280888 has been marked as a duplicate of this bug. ***
Comment 70 Harald Sitter 2011-08-31 16:48:40 UTC
*** Bug 281123 has been marked as a duplicate of this bug. ***
Comment 71 Myriam Schweingruber 2011-09-14 07:35:36 UTC
*** Bug 281960 has been marked as a duplicate of this bug. ***
Comment 72 Myriam Schweingruber 2011-09-14 07:36:10 UTC
*** Bug 281751 has been marked as a duplicate of this bug. ***
Comment 73 Harald Sitter 2011-10-18 09:09:30 UTC
*** Bug 283224 has been marked as a duplicate of this bug. ***
Comment 74 Christoph Feck 2011-11-07 15:05:49 UTC
*** Bug 285860 has been marked as a duplicate of this bug. ***
Comment 75 Myriam Schweingruber 2011-12-09 11:58:05 UTC
*** Bug 288379 has been marked as a duplicate of this bug. ***
Comment 76 Thijs 2011-12-12 11:50:46 UTC
*** Bug 288731 has been marked as a duplicate of this bug. ***
Comment 77 Myriam Schweingruber 2012-01-02 00:18:11 UTC
*** Bug 290343 has been marked as a duplicate of this bug. ***
Comment 78 Myriam Schweingruber 2012-01-29 17:42:02 UTC
*** Bug 292665 has been marked as a duplicate of this bug. ***
Comment 79 Myriam Schweingruber 2012-01-30 16:57:33 UTC
*** Bug 292854 has been marked as a duplicate of this bug. ***