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