Summary: | XineStream::createStream() calls Phonon::Xine::SourceNode::sinks() after the MediaObject is destroyed [@ Phonon::Xine::XineStream::createStream] | ||
---|---|---|---|
Product: | [Frameworks and Libraries] Phonon | Reporter: | Ritesh Raj Sarraf <kde-bugs> |
Component: | Xine backend | Assignee: | Matthias Kretz <kretz> |
Status: | RESOLVED UNMAINTAINED | ||
Severity: | crash | CC: | ahepas1999, andresbajotierra, andysem, aperezhrd, arguapacha1, artxch, bruno, bugs.kde.org, cattelan.pierantonio, dan.mera, dbroome, delad, djela63, echidnaman, Elektrotamas, f.frank, fantomas512, fastsnip-bcard, greyfade, grraab2000, herminiajorba, jan, jonathan, jroozing, kertesztomi, kilem86, kingsamses+kde, korvin, kovariadam, lists, lu.dolezal, magist3r, mail.s1ash, marcel.wettach, marcus, marius.trandafir, mickljosapth, mipedja, NielsMayer, osmiev, p92, pebmich, petr.salajka, philotech, r.gisgard, rreese6, semenukha+kdebugs, shashtheash95, ssantosh, stefan.ubuntu, sylvain, vespula.arenaria, vo.zaeb, xhantt, xkdebugs, xtremedeviant, yester64, zohn.joidberg |
Priority: | NOR | Keywords: | release_blocker |
Version: | 4.4.2 (KDE 4.5) | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Possible patch
Possible patch 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
Ritesh Raj Sarraf
2009-01-10 06:28:26 UTC
Seems like a Phonon/xine crash What KDE version (or SVN revision) do you have? What Phonon version do you have? Thanks :) (In reply to comment #1) > Seems like a Phonon/xine crash > What KDE version (or SVN revision) do you have? > What Phonon version do you have? > Thanks :) > I'm using KDE 4.1.96 - r908395 Phonon is at: 4.2.96+svn906929 We have a similar crash downstream at Kubuntu, where an amarok crash was reported: https://launchpad.net/bugs/339565 #0 Phonon::Xine::SourceNode::sinks (this=0x8efd9b8) at /usr/include/qt4/QtCore/qatomic_i386.h:115 No locals. #1 0xb276d1da in Phonon::Xine::XineStream::createStream (this=0x8f98f00) at /build/buildd/phonon-4.3.1/xine/xinestream.cpp:508 audioPort = <value optimized out> videoPort = <value optimized out> sinks = {q_hash = {{d = 0x7269444b, e = 0x7269444b}}} __PRETTY_FUNCTION__ = "bool Phonon::Xine::XineStream::createStream()" #2 0xb27755b9 in Phonon::Xine::XineStream::event (this=0x8f98f00, ev=0xaa5ef18) at /build/buildd/phonon-4.3.1/xine/xinestream.cpp:1235 previousState = Phonon::ErrorState eventName = 0xb27a6af4 "MrlChanged" __PRETTY_FUNCTION__ = "virtual bool Phonon::Xine::XineStream::event(QEvent*)" #3 0xb6f87f5c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #4 0xb6f9023e in QApplication::notify () from /usr/lib/libQtGui.so.4 #5 0xb6ab7a4b in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #6 0xb6ab86a5 in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib/libQtCore.so.4 #7 0xb6ab889d in QCoreApplication::sendPostedEvents () from /usr/lib/libQtCore.so.4 #8 0xb6ae37ff in ?? () from /usr/lib/libQtCore.so.4 #9 0xb44caaf8 in IA__g_main_context_dispatch (context=0x8f97998) at /build/buildd/glib2.0-2.19.10/glib/gmain.c:1814 No locals. #10 0xb44ce05b in g_main_context_iterate (context=0x8f97998, block=1, dispatch=1, self=0x8f98288) at /build/buildd/glib2.0-2.19.10/glib/gmain.c:2448 max_priority = 0 timeout = 0 some_ready = 1 nfds = 1 allocated_nfds = <value optimized out> fds = (GPollFD *) 0x8eac358 __PRETTY_FUNCTION__ = "g_main_context_iterate" #11 0xb44ce1d8 in IA__g_main_context_iteration (context=0x8f97998, may_block=1) at /build/buildd/glib2.0-2.19.10/glib/gmain.c:2511 retval = <value optimized out> #12 0xb6ae3448 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #13 0xb6ab607a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #14 0xb6ab64ba in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #15 0xb69c0639 in QThread::exec () from /usr/lib/libQtCore.so.4 #16 0xb276720a in Phonon::Xine::XineThread::run (this=0x8efd988) at /build/buildd/phonon-4.3.1/xine/xinethread.cpp:143 c = {{p = {static shared_null = {ref = {_q_value = 13832}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0xb27671ab}, d = 0xb27671ab}} #17 0xb69c396e in ?? () from /usr/lib/libQtCore.so.4 #18 0xb4ccc4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #19 0xb67b549e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 No locals. Changed to confirmed. *** Bug 205933 has been marked as a duplicate of this bug. *** *** Bug 183597 has been marked as a duplicate of this bug. *** *** Bug 217715 has been marked as a duplicate of this bug. *** Created attachment 39082 [details]
Possible patch
I think that what's happening here is that, rather unluckily, Phonon is trying to create a new stream just as the XineStream's MediaObject is being deleted. All the backtraces I've seen of this happen when either the app is being closed (in the case of amarok) or when the backend is being changed like with this report.
Since the MediaObject is null (it has been deleted, presumably), when createStream() tries to get the sinks off of it, it crashes. The Q_ASSERT right before the ->sinks() call is pretty much right in that a crash would occur if there isn't a MediaObject in this case, I think.
I do have a patch here that should just make create emit an error and return false. I would think that it probably wouldn't have any negative effects since the app is usually quitting or changing backends and you wouldn't hear anything anyways. I've attached a patch, and I would like input in regards to its sanity.
Created attachment 39083 [details]
Possible patch
Oops, wrong version of the patch. (I forgot to refresh it) The old one doesn't compile. ;-)
SVN commit 1062975 by jmthomas: Better to raise an error than to crash the program. We still shouldn't be in a situation where the MediaObject has been deleted elsewhere, so at best this is a workaround. CCBUG: 180214 M +5 -1 xinestream.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1062975 At the least, it shouldn't crash anymore. The underlying problem still needs to be fixed, though. *** Bug 218594 has been marked as a duplicate of this bug. *** *** Bug 218921 has been marked as a duplicate of this bug. *** *** Bug 205219 has been marked as a duplicate of this bug. *** *** Bug 191366 has been marked as a duplicate of this bug. *** *** Bug 221548 has been marked as a duplicate of this bug. *** *** Bug 223798 has been marked as a duplicate of this bug. *** *** Bug 224086 has been marked as a duplicate of this bug. *** *** Bug 227083 has been marked as a duplicate of this bug. *** *** Bug 231949 has been marked as a duplicate of this bug. *** *** Bug 232619 has been marked as a duplicate of this bug. *** Bump version. *** Bug 234955 has been marked as a duplicate of this bug. *** *** Bug 234688 has been marked as a duplicate of this bug. *** *** Bug 235330 has been marked as a duplicate of this bug. *** *** Bug 235525 has been marked as a duplicate of this bug. *** Created attachment 43188 [details]
New crash information added by DrKonqi
Amarok has crashed when, after an unsuccessful attempt to connect to a stream, I closed it.
*** Bug 236101 has been marked as a duplicate of this bug. *** *** Bug 236543 has been marked as a duplicate of this bug. *** *** Bug 236718 has been marked as a duplicate of this bug. *** *** Bug 236940 has been marked as a duplicate of this bug. *** *** Bug 238387 has been marked as a duplicate of this bug. *** *** Bug 243701 has been marked as a duplicate of this bug. *** *** Bug 244006 has been marked as a duplicate of this bug. *** *** Bug 244580 has been marked as a duplicate of this bug. *** *** Bug 244593 has been marked as a duplicate of this bug. *** *** Bug 245489 has been marked as a duplicate of this bug. *** *** Bug 245626 has been marked as a duplicate of this bug. *** *** Bug 245626 has been marked as a duplicate of this bug. *** Created attachment 49521 [details]
New crash information added by DrKonqi
Amarok crached after several unsuccessfull attempts to play media streams.
*** Bug 247337 has been marked as a duplicate of this bug. *** *** Bug 221431 has been marked as a duplicate of this bug. *** *** Bug 233226 has been marked as a duplicate of this bug. *** *** Bug 247807 has been marked as a duplicate of this bug. *** *** Bug 220152 has been marked as a duplicate of this bug. *** *** Bug 220906 has been marked as a duplicate of this bug. *** *** Bug 240737 has been marked as a duplicate of this bug. *** *** Bug 249723 has been marked as a duplicate of this bug. *** *** Bug 250794 has been marked as a duplicate of this bug. *** *** Bug 250815 has been marked as a duplicate of this bug. *** *** Bug 246113 has been marked as a duplicate of this bug. *** *** Bug 241130 has been marked as a duplicate of this bug. *** *** Bug 251966 has been marked as a duplicate of this bug. *** *** Bug 251677 has been marked as a duplicate of this bug. *** *** Bug 212002 has been marked as a duplicate of this bug. *** *** Bug 254559 has been marked as a duplicate of this bug. *** *** Bug 252963 has been marked as a duplicate of this bug. *** *** Bug 256299 has been marked as a duplicate of this bug. *** *** Bug 256565 has been marked as a duplicate of this bug. *** [Comment from a bug triager] From bug 242507 (konqueror crash): -- Information about the crash: Crash page: http://www.protofunc.com/jme/documentation/documentation-embed.html This page is supposed to be testing capabilities of the browser in order to play a movie. *** Bug 212793 has been marked as a duplicate of this bug. *** *** Bug 242507 has been marked as a duplicate of this bug. *** *** Bug 246810 has been marked as a duplicate of this bug. *** *** Bug 261464 has been marked as a duplicate of this bug. *** *** Bug 267130 has been marked as a duplicate of this bug. *** *** Bug 267433 has been marked as a duplicate of this bug. *** *** Bug 269014 has been marked as a duplicate of this bug. *** *** Bug 269982 has been marked as a duplicate of this bug. *** *** Bug 271183 has been marked as a duplicate of this bug. *** *** Bug 271764 has been marked as a duplicate of this bug. *** *** Bug 272553 has been marked as a duplicate of this bug. *** *** Bug 272630 has been marked as a duplicate of this bug. *** Created attachment 60124 [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: Listening to a radio station (AAC+)
- Custom settings of the application: Using Xine instead of GStreamer
-- Backtrace (Reduced):
#6 0x00007f83d0f16473 in Phonon::Xine::XineStream::createStream (this=0x8ae200) at /usr/src/debug/phonon-backend-xine-4.4.4/xine/xinestream.cpp:514
#7 0x00007f83d0f1764f in Phonon::Xine::XineStream::event (this=0x8ae200, ev=0x30541e0) at /usr/src/debug/phonon-backend-xine-4.4.4/xine/xinestream.cpp:1244
#8 0x00007f83e7a18d14 in QApplicationPrivate::notify_helper (this=0x7a1990, receiver=0x8ae200, e=0x30541e0) at kernel/qapplication.cpp:4445
#9 0x00007f83e7a2122a in QApplication::notify (this=<value optimized out>, receiver=0x8ae200, e=0x30541e0) at kernel/qapplication.cpp:4324
#10 0x00007f83e9f7c9e6 in KApplication::notify (this=0x7fff2230ce60, receiver=0x8ae200, event=0x30541e0) at /usr/src/debug/kdelibs-4.6.0/kdeui/kernel/kapplication.cpp:311
*** Bug 275113 has been marked as a duplicate of this bug. *** Please use another backend, the xine backend is deprecated as the upstream development is stalled. You can choose between the gstreamer backend or the vlc backend, both are actively developed and maintained. *** Bug 278566 has been marked as a duplicate of this bug. *** *** Bug 279779 has been marked as a duplicate of this bug. *** *** Bug 273686 has been marked as a duplicate of this bug. *** Created attachment 63403 [details]
New crash information added by DrKonqi
kontact (4.7.0) on KDE Platform 4.7.1 (4.7.1) using Qt 4.7.3
- What I was doing when the application crashed:
closing kontact after having play in kmail, korganizer task and schedule, edit contact in kaddressbook, read rss in akregator, and browse forums with knode
But I'm using the phonon-vlc not the xine ?
-- Backtrace (Reduced):
#6 firstNode (this=0x6b4ec0) at /usr/include/QtCore/qhash.h:187
#7 begin (this=0x7fffcf7e6650) at /usr/include/QtCore/qhash.h:461
#8 begin (this=0x7fffcf7e6650) at /usr/include/QtCore/qset.h:162
#9 QForeachContainer (t=..., this=0x7fffcf7e6650) at /usr/include/QtCore/qglobal.h:2249
#10 Nepomuk::ResourceData::resetAll (this=0x12e2ff0, isDelete=true) at /usr/src/debug/kdelibs-4.7.0/nepomuk/core/resourcedata.cpp:155
Created attachment 65972 [details]
New crash information added by DrKonqi
amarok crashes if i try to open some (often older) stream in my playlist. i supose the crash is caused by the stream not beeing available, or having reached the maximum listeners)
|