Summary: | Amarok crashes when trying to play unavailable tracks or switching tracks in a quick succession [assert, Phonon::Xine::MediaObject::handleStateChange] | ||
---|---|---|---|
Product: | [Frameworks and Libraries] Phonon | Reporter: | Ivan D Vasin <ivan> |
Component: | Xine backend | Assignee: | Harald Sitter <sitter> |
Status: | RESOLVED UNMAINTAINED | ||
Severity: | crash | CC: | adam, al.borawski, alvarq, andresbajotierra, anthony.loiseau, ashl1future, bdm, bernado_tornado, bev, bjh.krecht, boldak.prasek, dandreadante, dario.vico, darryl, dlesage, dobby_dm, eaglexboy, EMuede, eugene, feg, germano.massullo, grimm, gringomarco, handampf, henrik.tikanvaara, hombreguido, hunkirdowne, itissid, iwan.tan, jaedns, jamsound, jeremy.coulon, jeremyalmeter, jlc6, jonathan.eidsness+kdebugs, karvonen.jorma, kde, kde, kde, kelltrick, krnekit, ksbalaji11, lapo, lecuyer.stephane, m.novikov, marcela.maslanova, martin.sandsmark, masterunderlined, mbbush, meianvarasto, melkor73, n.underwood78, nate78, p92, pancoast.3, pewpewimlaser, psy.ipm, purpro, quebec, rara, realsuso, rollingqueen, russianneuromancer, sandokanfirst, sandra.h.bruel, shajahan.pts, sitter, SlavaSysoltsev, spielmail, starscreamd, sterua32, surfandsing98, t.kijas, terry, tlueber, tomasz_czaus, tuxracer, twoflatfish, vkrevs, vladimir, vovochka13, wolfreal, x545 |
Priority: | NOR | Keywords: | release_blocker |
Version: | 4.4.4 (KDE 4.6.x) | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
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 |
Description
Ivan D Vasin
2009-12-18 21:30:24 UTC
i just produced a crash with an apparently identical backtrace without performing step 4. in fact, i had the same playlist loaded as before and the "Resume playback on startup" option enabled, so Amarok simply crashed shortly after starting up (after scrolling through about a dozen tracks). This is not a crash in Amarok, but in Phonon. Most likely a duplicate, I just can't find the right one. Reassiging From bug 219511: --- It inevitably happens whenever I start switching tracks really quickly. Like, starting another track before the first even started to play. From bug 220302: --- What I was doing when the application crashed: I use Amarok to open a folder that has MP3 files. Amarok starts scanning the files to build the playback list. An error window in the left corner appears message says Too many errors encountered in playlist. Playback stopped It just keeps looping throught the MP3 files within the folder and never stops no matter what I do unless I just close the window --- The ASSERT is "m_state == BufferingState" *** Bug 219511 has been marked as a duplicate of this bug. *** *** Bug 220302 has been marked as a duplicate of this bug. *** *** Bug 224582 has been marked as a duplicate of this bug. *** Created attachment 40338 [details]
New crash information added by DrKonqi
It was real shock for me. I was just browsing net and listening to the music. Current song was over and when it was time to play next one instead of song i saw a crash reporting dialog :(
*** Bug 225047 has been marked as a duplicate of this bug. *** It is strange that when the playlist is clean and I double tap on the artist, he adds to the playlist with all its songs and starting playing without problem. But then clicking on the playlist to choose another song results in the same weird loop. *** Bug 232523 has been marked as a duplicate of this bug. *** *** Bug 228120 has been marked as a duplicate of this bug. *** *** Bug 227843 has been marked as a duplicate of this bug. *** *** Bug 232946 has been marked as a duplicate of this bug. *** *** Bug 233029 has been marked as a duplicate of this bug. *** *** Bug 233183 has been marked as a duplicate of this bug. *** *** Bug 233264 has been marked as a duplicate of this bug. *** *** Bug 233537 has been marked as a duplicate of this bug. *** *** Bug 233977 has been marked as a duplicate of this bug. *** *** This bug has been confirmed by popular vote. *** *** Bug 234693 has been marked as a duplicate of this bug. *** *** Bug 235569 has been marked as a duplicate of this bug. *** *** Bug 236710 has been marked as a duplicate of this bug. *** *** Bug 237025 has been marked as a duplicate of this bug. *** *** Bug 237669 has been marked as a duplicate of this bug. *** *** Bug 237650 has been marked as a duplicate of this bug. *** *** Bug 239868 has been marked as a duplicate of this bug. *** *** Bug 239911 has been marked as a duplicate of this bug. *** *** Bug 240247 has been marked as a duplicate of this bug. *** *** Bug 240619 has been marked as a duplicate of this bug. *** *** Bug 240653 has been marked as a duplicate of this bug. *** *** Bug 240900 has been marked as a duplicate of this bug. *** *** Bug 241229 has been marked as a duplicate of this bug. *** *** Bug 242089 has been marked as a duplicate of this bug. *** *** Bug 242633 has been marked as a duplicate of this bug. *** *** Bug 242835 has been marked as a duplicate of this bug. *** I changed my Suse 11.2 repo from KDE 4 Factory to KDE 4 Unstable and updated KDE and Amarok. Since that time there were no crashes on my system. Created attachment 48591 [details]
New crash information added by DrKonqi
My Amarok just crashed too.
It seems to be the same backtrace as this bugreport.
What I just did is that I switch to the next song while Amarok was minimized to tray. (with keyboard shortcut). It's a random crash (happens about once every month).
Phonon : 4:4.6.0really4.4.2-1
Xine : 1.1.18.1-1+b2
--
Jeremy
*** Bug 243764 has been marked as a duplicate of this bug. *** Created attachment 49139 [details]
New crash information added by DrKonqi
When I rapidly skipped through tracks Amarok crashed
*** Bug 244707 has been marked as a duplicate of this bug. *** *** Bug 244953 has been marked as a duplicate of this bug. *** What about fixing this bug? *** Bug 245635 has been marked as a duplicate of this bug. *** *** Bug 245670 has been marked as a duplicate of this bug. *** *** Bug 246261 has been marked as a duplicate of this bug. *** *** Bug 246342 has been marked as a duplicate of this bug. *** A workaround for users suffering from this bug: the crash affects only the xine backend. If you switch the phonon backend in system settings to e.g. gstreamer you shouldn't have any crashes in amarok related to this bug. (In reply to comment #47) > A workaround for users suffering from this bug: the crash affects only the xine > backend. If you switch the phonon backend in system settings to e.g. gstreamer > you shouldn't have any crashes in amarok related to this bug. Also, there's a new vlc phonon backend out there, so if you dislike gstreamer, give it a try (works nicely for me, installed from packages in the vlc opensuse repos). *** Bug 246388 has been marked as a duplicate of this bug. *** *** Bug 246857 has been marked as a duplicate of this bug. *** *** Bug 246925 has been marked as a duplicate of this bug. *** *** Bug 247883 has been marked as a duplicate of this bug. *** *** Bug 247963 has been marked as a duplicate of this bug. *** *** Bug 248338 has been marked as a duplicate of this bug. *** *** Bug 248476 has been marked as a duplicate of this bug. *** *** Bug 249445 has been marked as a duplicate of this bug. *** *** Bug 250419 has been marked as a duplicate of this bug. *** *** Bug 250509 has been marked as a duplicate of this bug. *** *** Bug 251355 has been marked as a duplicate of this bug. *** *** Bug 251766 has been marked as a duplicate of this bug. *** *** Bug 251785 has been marked as a duplicate of this bug. *** *** Bug 253620 has been marked as a duplicate of this bug. *** *** Bug 253976 has been marked as a duplicate of this bug. *** *** Bug 255738 has been marked as a duplicate of this bug. *** *** Bug 256060 has been marked as a duplicate of this bug. *** Created attachment 53328 [details]
New crash information added by DrKonqi
All songs on playlist were available. Amarok crashed when I clicked on Next quickly.
Created attachment 53911 [details]
New crash information added by DrKonqi
amarok (2.3.2) on KDE Platform 4.5.3 (KDE 4.5.3) using Qt 4.7.1
- What I was doing when the application crashed:
Loaded playlist with files in an unmounted drive
Tried to play tracks
Amarok cycles through tracks trying to find one it can play
Amarok crashes
-- Backtrace (Reduced):
#11 0x00007fb6aa52ad4b in Phonon::Xine::MediaObject::handleStateChange (this=0x1aeae60, newstate=Phonon::LoadingState, oldstate=<value optimized out>) at /usr/src/debug/phonon-4.4.2/xine/mediaobject.cpp:234
#12 0x00007fb6aa52b5ab in Phonon::Xine::MediaObject::qt_metacall (this=0x1aeae60, _c=QMetaObject::InvokeMetaMethod, _id=21, _a=0x7fb6990e26c0) at /usr/src/debug/phonon-4.4.2/x86_64-redhat-linux-gnu/xine/mediaobject.moc:164
#13 0x00007fb6bb685b4a in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#14 0x00007fb6bc0158c4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#15 0x00007fb6bc01a3da in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
*** Bug 259372 has been marked as a duplicate of this bug. *** *** Bug 259626 has been marked as a duplicate of this bug. *** *** Bug 259808 has been marked as a duplicate of this bug. *** *** Bug 261468 has been marked as a duplicate of this bug. *** *** Bug 261988 has been marked as a duplicate of this bug. *** It'd be nice if Bugzilla added people who are subscribed to a bug marked as a dupe to the list of subscribers to the duplicated bug. *** Bug 262344 has been marked as a duplicate of this bug. *** Created attachment 56529 [details]
New crash information added by DrKonqi
just go very quickly i.e. a 10 to 15 songs forward
*** Bug 264713 has been marked as a duplicate of this bug. *** *** Bug 265143 has been marked as a duplicate of this bug. *** *** Bug 266614 has been marked as a duplicate of this bug. *** I get this issue too, just regularly playing the music or more often when just starting amarok and pressing play key. But today I got some very weird parameter set on crash: Thread 1 (Thread 0xb7fcf770 (LWP 1895)): #0 0x0012e416 in __kernel_vsyscall () #1 0x02036941 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #2 0x02039e42 in abort () at abort.c:92 #3 0x01cc52dc in qt_message_output (msgType=QtFatalMsg, buf=0x9e9461b0 "ASSERT: \"m_state == BufferingState\" in file ../../xine/mediaobject.cpp, line 235") at global/qglobal.cpp:2259 #4 0x01cc54aa in qt_message (msgType=<value optimized out>, msg=0x1e3da7c "ASSERT: \"%s\" in file %s, line %d", ap=0xbfffe104 "xg\262\006]g\262\006", <incomplete sequence \353>) at global/qglobal.cpp:2305 #5 0x01cc55b9 in qFatal (msg=0x1e3da7c "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2488 #6 0x01cc5645 in qt_assert (assertion=0x6b26778 "m_state == BufferingState", file=0x6b2675d "../../xine/mediaobject.cpp", line=235) at global/qglobal.cpp:2004 #7 0x06aff4a1 in Phonon::Xine::MediaObject::handleStateChange (this=0x836b310, newstate=Phonon::LoadingState, oldstate=Phonon::PlayingState) at ../../xine/mediaobject.cpp:235 #8 0x06affe53 in Phonon::Xine::MediaObject::qt_metacall (this=0x836b310, _c=QMetaObject::InvokeMetaMethod, _id=21, _a=0x9acd17a0) at ./mediaobject.moc:164 #9 0x01dd68ca in QMetaObject::metacall (object=0x836b310, cl=1895, idx=25, argv=0x9acd17a0) at kernel/qmetaobject.cpp:237 #10 0x01de1df6 in QMetaCallEvent::placeMetaCall (this=0x9aa11540, object=0x836b310) at kernel/qobject.cpp:534 #11 0x01de36a2 in QObject::event (this=0x836b310, e=0x6) at kernel/qobject.cpp:1219 #12 0x01028fdc in QApplicationPrivate::notify_helper (this=0x8163db8, receiver=0x836b310, e=0x9aa11540) at kernel/qapplication.cpp:4396 #13 0x0102f04e in QApplication::notify (this=0xbfffea68, receiver=0x836b310, e=0x9aa11540) at kernel/qapplication.cpp:3798 #14 0x00338f7a in KApplication::notify (this=0xbfffea68, receiver=0x836b310, event=0x9aa11540) at ../../kdeui/kernel/kapplication.cpp:311 #15 0x01dd0b3b in QCoreApplication::notifyInternal (this=0xbfffea68, receiver=0x836b310, event=0x9aa11540) at kernel/qcoreapplication.cpp:732 #16 0x01dd3d8b in sendEvent (receiver=0x0, event_type=0, data=0x8065178) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #17 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8065178) at kernel/qcoreapplication.cpp:1373 #18 0x01dd3f4d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266 #19 0x01dffa74 in sendPostedEvents (s=0x8167b08) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #20 postEventSourceDispatch (s=0x8167b08) at kernel/qeventdispatcher_glib.cpp:277 #21 0x033a5855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #22 0x033a9668 in ?? () from /lib/libglib-2.0.so.0 #23 0x033a9848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #24 0x01dff565 in QEventDispatcherGlib::processEvents (this=0x8064c28, flags=...) at kernel/qeventdispatcher_glib.cpp:415 #25 0x010eabe5 in QGuiEventDispatcherGlib::processEvents (this=0x8064c28, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #26 0x01dcf609 in QEventLoop::processEvents (this=0xbfffe9c4, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece. ) at kernel/qeventloop.cpp:149 #27 0x01dcfa8a in QEventLoop::exec (this=0xbfffe9c4, flags=...) at kernel/qeventloop.cpp:201 #28 0x01dd400f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009 #29 0x01027e07 in QApplication::exec () at kernel/qapplication.cpp:3672 #30 0x08050e75 in main (argc=3, argv=0xbffff424) at ../../src/main.cpp:268 The funny thing is: (gdb) up 7 #7 0x06aff4a1 in Phonon::Xine::MediaObject::handleStateChange (this=0x836b310, newstate=Phonon::LoadingState, oldstate=Phonon::PlayingState) at ../../xine/mediaobject.cpp:235 235 in ../../xine/mediaobject.cpp (gdb) p *this $5 = {<QObject> = {_vptr.QObject = 0x6b2ce88, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x1e98d80 "QObject", data = 0x1e98e20, extradata = 0x1efe240}}, d_ptr = {d = 0x836b360}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x1ea18c0 "Qt", data = 0x1ea5000, extradata = 0x0}}}, <Phonon::MediaObjectInterface> = {_vptr.MediaObjectInterface = 0x6b2cf28}, <Phonon::AddonInterface> = { _vptr.AddonInterface = 0x6b2cf8c}, <Phonon::Xine::SourceNode> = {_vptr.SourceNode = 0x6b2cfa4, m_threadSafeObject = {d = 0x8312b18}, m_sinks = { q_hash = {{d = 0xb74019e8, e = 0xb74019e8}}}}, static staticMetaObject = {d = {superdata = 0x1efe230, stringdata = 0x6b271e0 "Phonon::Xine::MediaObject", data = 0x6b27820, extradata = 0x0}}, m_state = Phonon::PlayingState, m_stream = 0x8312b10, m_tickInterval = 100, m_bytestream = {o = 0x0}, m_currentTimeOverride = 137802562, m_mediaSource = {d = {d = 0xa64790f8}}, m_titles = {{p = { static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x805b0d0}, d = 0x805b0d0}}, m_mediaDevice = {static shared_null = {ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x805b110 "", array = ""}, static shared_empty = {ref = { _q_value = 93}, alloc = 0, size = 0, data = 0x1f043b8 "", array = ""}, d = 0x805b100}, m_currentTitle = 1, m_prefinishMark = 2000, m_transitionTime = 0, m_autoplayTitles = true, m_waitingForNextSource = false} So m_state = Phonon::PlayingState and oldstate=Phonon::PlayingState, therefore the execution should not get at mediaobject.cpp:235 at all! I installed phonon-backend-xine sources to check it, really: 225 void MediaObject::handleStateChange(Phonon::State newstate, Phonon::State oldstate) 226 { 227 if (m_state == newstate && m_state == BufferingState) { 228 debug() << Q_FUNC_INFO << blue << "end faking" << normal; 229 // BufferingState -> BufferingState, nothing to do 230 return; 231 } else if (m_state != oldstate) { 232 // m_state == oldstate always, except when faking buffering: 233 234 // so we're faking BufferingState, then m_state must be in BufferingState 235 Q_ASSERT(m_state == BufferingState); 236 if (newstate == PlayingState || newstate == ErrorState) { 237 debug() << Q_FUNC_INFO << blue << "end faking" << normal; 238 oldstate = m_state; 239 } else { 240 // we're faking BufferingState and stay there until we either reach BufferingState, 241 // PlayingState or ErrorState 242 return; 243 } 244 } 245 m_state = newstate; 246 247 debug() << Q_FUNC_INFO << "reached " << newstate << " after " << oldstate; 248 emit stateChanged(newstate, oldstate); 249 } The most reasonable explanation for this may be a concurrent access to xine object from the other thread. Does amarok address phonon from more than one thread? If not, I'd say there is a problem in phonon-xine. The problem is more or less easily reproducible if the system is under heavy load and you press the 'next' key few times quickly. I analyzed a little how the switch to the next track is performed in Phonon::Xine::MediaObject::handleStateChange. First of all calls are made from thread1, so there are no "classical" multithreading problems. Usual state change on track switch is: Play->Stop->Load->Stop->Buff->Play when the bug occurs, it is: Stop->Load->Stop->Buff->Stop->Load afterwards some out-of-row switch Buff->Stop comes and routine assert because it is actually in Loading state. The question is, where this wrong state change event comes from? *** Bug 268872 has been marked as a duplicate of this bug. *** *** Bug 268941 has been marked as a duplicate of this bug. *** Actually, the problem I traced back to Phonon. Install as much codecs as possible, which are needed to decode your audio files. The problem seems to get reduced. *** Bug 269286 has been marked as a duplicate of this bug. *** *** Bug 270449 has been marked as a duplicate of this bug. *** *** Bug 271186 has been marked as a duplicate of this bug. *** Created attachment 59283 [details]
New crash information added by DrKonqi
amarok (2.4.0) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.0
- What I was doing when the application crashed: I wanted to skip to the next title in the playlist several times and the program crashed.
-- Backtrace (Reduced):
#13 0x00a0a645 in qt_assert (assertion=0x3071778 "m_state == BufferingState", file=0x307175d "../../xine/mediaobject.cpp", line=235) at global/qglobal.cpp:2004
#14 0x0304a4a1 in Phonon::Xine::MediaObject::handleStateChange (this=0x9702318, newstate=Phonon::BufferingState, oldstate=Phonon::LoadingState) at ../../xine/mediaobject.cpp:235
#15 0x0304ae53 in Phonon::Xine::MediaObject::qt_metacall (this=0x9702318, _c=QMetaObject::InvokeMetaMethod, _id=21, _a=0x9a39fee0) at ./mediaobject.moc:164
[...]
#18 0x00b286a2 in QObject::event (this=0x9702318, e=0x6) at kernel/qobject.cpp:1219
#19 0x033befdc in QApplicationPrivate::notify_helper (this=0x95665c0, receiver=0x9702318, e=0x9a3048b8) at kernel/qapplication.cpp:4396
*** Bug 271747 has been marked as a duplicate of this bug. *** *** Bug 272821 has been marked as a duplicate of this bug. *** *** Bug 273966 has been marked as a duplicate of this bug. *** *** Bug 274164 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. No offense but I don't think closing this bug saying "Unmaintained" is a good idea. Xine makes Amarok crash. It is a fact and a lot of people are affected. If Xine is deprecated and not maintained, then why not simply remove it from Debian ? Users would'nt complain anymore. In addition, last time I checked, gstreamer was even worse than xine when using Amarok. I never tried vlc backend. Jeremy Jérémy Coulon you should tell that to Debian packages maintainers, not here. KDE team cannot change Debian behaviour Yeah !! I thought I was writing on a Debian mailing list. Sorry about that. Apologies. *** Bug 277234 has been marked as a duplicate of this bug. *** *** Bug 282136 has been marked as a duplicate of this bug. *** *** Bug 283958 has been marked as a duplicate of this bug. *** *** Bug 293339 has been marked as a duplicate of this bug. *** *** Bug 293310 has been marked as a duplicate of this bug. *** *** Bug 293299 has been marked as a duplicate of this bug. *** *** Bug 293677 has been marked as a duplicate of this bug. *** *** Bug 293185 has been marked as a duplicate of this bug. *** Created attachment 72264 [details]
New crash information added by DrKonqi
Same scenario as the similar bug that was attached to.
|