Bug 133692 - playing last.fm stream hangs amarok
Summary: playing last.fm stream hangs amarok
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Playback (show other bugs)
Version: 1.4.3
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-07 10:40 UTC by madman
Modified: 2008-07-22 12:38 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description madman 2006-09-07 10:40:31 UTC
Version:           1.4.3 (using KDE 3.5.4, Gentoo)
Compiler:          gcc version 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)
OS:                Linux (i686) release 2.6.17-ck1

Playing the neighbour last.fm stream causes amarok 1.4.3 to hang. The radio plays in background, but GUI is inaccessible and doesn't repaint. It doesn't happen every time, seems to be a random issue.
Using xine engine with ALSA/dmix output.
Comment 1 Philip Rodrigues 2006-09-08 15:40:55 UTC
You can try getting a backtrace by running "kill -SEGV <pid-of-amarok>". If that works, please paste it here
Comment 2 Bram Schoenmakers 2006-10-31 23:46:48 UTC
Does it eat all your memory as well?
Comment 3 Dawid Ciężarkiewicz 2006-11-10 22:50:09 UTC
Amarok hangs when playing anything on last.fm:

11645 ?        Sl     0:12 amarok
11659 ?        S      0:00  \_ ruby /usr/share/apps/amarok/scripts/score_default/score_default.rb
11665 ?        S      0:00  \_ ruby /usr/bin/amarok_proxy.rb --lastfm 57709 http://87.117.229.83:80/last.mp3?Session=14bcf0ebdf5bd088149fdb1af0a9bc97 xine-engine

kill -SEGV 11645

======== DEBUG INFORMATION  =======
Version:    1.4.4
Engine:     xine-engine
Build date: Oct 27 2006
CC version: 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)
KDElibs:    3.5.5
Qt:         3.3.6
TagLib:     1.4.0
CPU count:  1
NDEBUG:     true
==== file /usr/lib/amarok/amarokapp =======
/usr/lib/amarok/amarokapp: symbolic link to `/usr/bin/amarokapp'


==== (gdb) bt =====================
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1249293840 (LWP 11645)]
[New Thread -1298162784 (LWP 11656)]
[New Thread -1289770080 (LWP 11655)]
[New Thread -1279489120 (LWP 11654)]
[New Thread -1252729952 (LWP 11653)]
[New Thread -1261122656 (LWP 11650)]
0xffffe410 in __kernel_vsyscall ()
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6cf534b in __waitpid_nocancel ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0x0804d1c1 in Amarok::Crash::crashHandler ()
#3  <signal handler called>
#4  0xffffe410 in __kernel_vsyscall ()
#5  0xb692a321 in select () from /lib/tls/i686/cmov/libc.so.6
#6  0xb62c7995 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#7  0xb633b25e in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#8  0xb633b06e in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#9  0xb6322731 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#10 0x0804bd29 in ?? ()
#11 0xbfba7fbc in ?? ()
#12 0xbfba8154 in ?? ()
#13 0x00000013 in ?? ()
#14 0x08067b55 in _IO_stdin_used ()
#15 0x00000000 in ?? ()
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb6cf534b in __waitpid_nocancel ()
   from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#2  0x0804d1c1 in Amarok::Crash::crashHandler ()
No symbol table info available.
#3  <signal handler called>
No symbol table info available.
#4  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#5  0xb692a321 in select () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#6  0xb62c7995 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#7  0xb633b25e in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#8  0xb633b06e in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#9  0xb6322731 in QApplication::exec () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#10 0x0804bd29 in ?? ()
No symbol table info available.
#11 0xbfba7fbc in ?? ()
No symbol table info available.
#12 0xbfba8154 in ?? ()
No symbol table info available.
#13 0x00000013 in ?? ()
No symbol table info available.
#14 0x08067b55 in _IO_stdin_used ()
No symbol table info available.
#15 0x00000000 in ?? ()
No symbol table info available.
==== (gdb) thread apply all bt ====
Thread 6 (Thread -1261122656 (LWP 11650)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6cf1a8c in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb415ddff in _x_metronom_init () from /usr/lib/libxine.so.1
#3  0xb4d4c45c in ?? ()
#4  0xb4d4c464 in ?? ()
#5  0x08427198 in ?? ()
#6  0xb4d4c45c in ?? ()
#7  0x007bba3a in ?? ()
#8  0x00000000 in ?? ()
Thread 5 (Thread -1252729952 (LWP 11653)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6927803 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xb3ef019f in ?? ()
   from /usr/lib/xine/plugins/1.1.2/xineplug_ao_out_alsa.so
#3  0xb554d3b8 in ?? ()
#4  0x00000001 in ?? ()
#5  0x0000014d in ?? ()
#6  0x00000000 in ?? ()
Thread 4 (Thread -1279489120 (LWP 11654)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6cf1816 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb416c1d2 in _x_ao_channels2mode () from /usr/lib/libxine.so.1
#3  0x0845f7c4 in ?? ()
#4  0x0845f7ac in ?? ()
#5  0x00000000 in ?? ()
Thread 3 (Thread -1289770080 (LWP 11655)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6cf1816 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb41614cc in _x_dummy_fifo_buffer_new () from /usr/lib/libxine.so.1
#3  0x0856c374 in ?? ()
#4  0xb4159c1c in xine_init () from /usr/lib/libxine.so.1
#5  0xffffffff in ?? ()
#6  0x08560808 in ?? ()
#7  0x00000000 in ?? ()
Thread 2 (Thread -1298162784 (LWP 11656)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6cf1816 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb417116c in xine_event_wait () from /usr/lib/libxine.so.1
#3  0x08574668 in ?? ()
#4  0x00000001 in ?? ()
#5  0xb41711f4 in xine_event_wait () from /usr/lib/libxine.so.1
#6  0x00000000 in ?? ()
Thread 1 (Thread -1249293840 (LWP 11645)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6cf534b in __waitpid_nocancel ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0x0804d1c1 in Amarok::Crash::crashHandler ()
#3  <signal handler called>
#4  0xffffe410 in __kernel_vsyscall ()
#5  0xb692a321 in select () from /lib/tls/i686/cmov/libc.so.6
#6  0xb62c7995 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#7  0xb633b25e in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#8  0xb633b06e in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#9  0xb6322731 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#10 0x0804bd29 in ?? ()
#11 0xbfba7fbc in ?? ()
#12 0xbfba8154 in ?? ()
#13 0x00000013 in ?? ()
#14 0x08067b55 in _IO_stdin_used ()
#15 0x00000000 in ?? ()
#0  0xffffe410 in __kernel_vsyscall ()


==== kdBacktrace() ================

I've noticed that amarok does not hang forever. Sometimes serveral minutes (sometimes less) will let it redisplay itself and work again, but - no last.fm.
Comment 4 L. Rahyen 2006-12-31 17:31:34 UTC
I have same problem too with Amarok 1.4.4.
Comment 5 Mark Kretschmann 2006-12-31 17:47:37 UTC
Please note that last.fm streams won't work with Amarok < 1.4.5 in combination with xinelib 1.1.3. You need to downgrade to xinelib 1.1.2.
Comment 6 L. Rahyen 2007-01-01 07:04:40 UTC
But I already do have libxine 1.1.2 installed (from Debian/testing repository). I even tried to upgrade it libxine 1.1.2 from the experimental repository but no effect. Amarok always hang if I try to play last.fm stream. I will very appreciate if someone can tell how I can solve this problem. For example, downloading source code for Amarok and libxine of known-good versions is acceptable solution for me.
Comment 7 Bram Schoenmakers 2007-07-31 15:40:59 UTC
I am able to reproduce every now and then. Here is my, unfortunately, not so detailed backtrace during the hang:

#0  0xb66b85eb in QApplication::sendPostedEvents () from /usr/qt/3/lib/libqt-mt.so.3
#1  0xb66b8694 in QApplication::sendPostedEvents () from /usr/qt/3/lib/libqt-mt.so.3
#2  0xb666674c in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#3  0xb66cd7e5 in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#4  0xb66b67fc in QApplication::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#5  0xb66b6836 in QApplication::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#6  0xb7c675c0 in LastFm::WebService::handshake () from /usr/lib/libamarok.so.0
#7  0xb7c68879 in LastFm::Controller::getNewProxy () from /usr/lib/libamarok.so.0
#8  0xb7c37f4d in EngineController::play () from /usr/lib/libamarok.so.0
#9  0xb7ce71a3 in Playlist::activate () from /usr/lib/libamarok.so.0
#10 0xb7ced683 in Playlist::playCurrentTrack () from /usr/lib/libamarok.so.0
#11 0xb7ced813 in Playlist::qt_invoke () from /usr/lib/libamarok.so.0
#12 0xb67162f9 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#13 0xb6716f4d in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#14 0xb7c352ca in EngineController::orderCurrent () from /usr/lib/libamarok.so.0
#15 0xb7c35302 in EngineController::play () from /usr/lib/libamarok.so.0
#16 0xb7c3a125 in EngineController::qt_invoke () from /usr/lib/libamarok.so.0
#17 0xb6d68489 in ?? () from /usr/kde/3.5/lib/libkdecore.so.4
#18 0xb7f669c0 in ?? () from /usr/lib/libamarok.so.0
#19 0x00000006 in ?? ()
#20 0xbfbb5bdc in ?? ()
#21 0x00000000 in ?? ()
Comment 8 Seb Ruiz 2008-04-23 15:54:03 UTC
this should be fixed using the new last.fm implementation in amarok 2