amaroK hanging

Pavel Troller patrol at sinus.cz
Wed May 25 22:30:25 BST 2005


Hello, dear amaroK developers!
  I'm very happy with amaroK, it's really the best player available now!
  However, for a relatively long time, it sometimes "hangs" and becomes almost
dead. I'm using a svn trunk version, I can see bugs being introduced as 
well as removed, but this one is there, very stable, for a really long time.
  A more exact description of the problem is as follows:
  - A short time (0.5 - 1.5s) after selecting a track to play, the UI freezes.
    All seems frozen: Analyzers, scrolling text in player window, blinking
    line in the playlist window, time counters etc. It also uses a busy
    pointer. Sometimes all the UI is already updated with information about
    the new track, sometimes some parts of UI (like context browser) still
    contain an old information. Almost surely OSD is displayed (and stays
    there forever).
  - The current selected track IS played. However, any transient effects (fade
    in, crossmixing etc.) are "frozen" too. For example, when a track is
    played, another one is selected and a freeze occurs during the crossmixing
    period, both tracks are played together in a certain ratio. When the
    track(s) are finished, no continuation occurs.
  - Although I didn't compile neither amaroK nor rest of KDE in debug mode,
    I tried to attach gdb and find a position of the crash.
    I tried it for 5 occurences and it always waited on a read:
(gdb) bt
#0  0x00749ab1 in __read_nocancel () from /lib/libpthread.so.0
#1  0x08499a06 in Arts::SocketConnection::notifyIO () from /opt/kde3.4/lib/libmcop.so.1
    However, due to non-debuggable compile flags (-fomit-frame-pointer), the
    rest of the backtrace is useless.
    When I try the same with amaroK normally running, the backtrace is much nicer and
    logical, as it IMHO should be:
#0  0x0199cc77 in ___newselect_nocancel () from /lib/libc.so.6
#1  0x0136ffec in QEventLoop::processEvents () from /opt/qt3.2/lib/libqt-mt.so.3
#2  0x013d2cdf in QEventLoop::enterLoop () from /opt/qt3.2/lib/libqt-mt.so.3
#3  0x013d2b94 in QEventLoop::exec () from /opt/qt3.2/lib/libqt-mt.so.3
#4  0x013c2360 in QApplication::exec () from /opt/qt3.2/lib/libqt-mt.so.3
    The rest is unusable again.
  - Because it seems that it can be related to the threading issues, it must be
    said that this problem is observed on a dual-CPU SMP system, running 
    Linux-2.6.11.7 with kernel preemption. When the same binaries are run on a
    single CPU machine, it is much more rare.
  - As probably visible, I'm using an Arts plugin. I need it to be able to
    share the sound card with other KDE/non-KDE apps.
  Are there chances of fixing this problem ? It's really just a single issue
which complicates regular usage.
                             With regards,
                                      Pavel Troller



More information about the kde-multimedia mailing list