Crash while playing podcast

Mark Kretschmann markey at web.de
Tue Sep 12 12:55:27 UTC 2006


Looks like we're accessing KConfig from a thread (via 
KLocale::formatDateTime). That's no good, cause KConfig isn't threadsafe at 
all. The result can be seen below:


======== DEBUG INFORMATION  =======
Version:    1.4-SVN
Engine:     xine-engine
Build date: Sep  6 2006
CC version: 3.2
KDElibs:    3.3.0
Qt:         3.3.3
TagLib:     1.4.0
CPU count:  1

==== file `which amarokapp` =======
/opt/kde3/bin/amarokapp: ELF 32-bit LSB executable, Intel 80386, version 1 
(SYSV), dynamically linked (uses shared libs), not stripped


==== (gdb) bt =====================
[New Thread 1024 (LWP 2367)]
[New Thread 2049 (LWP 2368)]
[New Thread 6146 (LWP 2379)]
[New Thread 7171 (LWP 2386)]
[New Thread 8196 (LWP 2387)]
[New Thread 9221 (LWP 2388)]
[New Thread 29702 (LWP 4790)]
[New Thread 30727 (LWP 4791)]
0x42167449 in wait4 () from /lib/libc.so.6
#0  0x42167449 in wait4 () from /lib/libc.so.6
#1  0x421e3fd0 in __DTOR_END__ () from /lib/libc.so.6
#2  0x41f46a73 in waitpid () from /lib/libpthread.so.0
#3  0x0804e1be in Amarok::Crash::crashHandler(int) ()
    at /home/mark/mysource/kdesvn/extragear/multimedia/amarok/src/amarokcore/crashhandler.cpp:249
#4  0x41f4411b in pthread_sighandler () from /lib/libpthread.so.0
#5  <signal handler called>
#6  0x411b5984 in KConfigINIBackEnd::parseSingleConfigFile(QFile&, 
QMap<KEntryKey, KEntry>*, bool, bool) () from /opt/kde3/lib/libkdecore.so.4
#7  0x411b4e12 in KConfigINIBackEnd::parseConfigFiles() () 
from /opt/kde3/lib/libkdecore.so.4
#8  0x411b0658 in KConfigBase::parseConfigFiles() () 
from /opt/kde3/lib/libkdecore.so.4
#9  0x411b1f36 in KConfig::reparseConfiguration() () 
from /opt/kde3/lib/libkdecore.so.4
#10 0x411b383b in KSimpleConfig::KSimpleConfig(QString const&, bool) ()
   from /opt/kde3/lib/libkdecore.so.4
#11 0x411cff97 in KLocale::initFormat() () from /opt/kde3/lib/libkdecore.so.4
#12 0x411cfe38 in KLocale::doFormatInit() const () 
from /opt/kde3/lib/libkdecore.so.4
#13 0x411dc19b in KLocale::timeFormat() const () 
from /opt/kde3/lib/libkdecore.so.4
#14 0x411da897 in KLocale::formatTime(QTime const&, bool, bool) const ()
   from /opt/kde3/lib/libkdecore.so.4
#15 0x411da840 in KLocale::formatTime(QTime const&, bool) const ()
   from /opt/kde3/lib/libkdecore.so.4
#16 0x411db17e in KLocale::formatDateTime(QDateTime const&, bool, bool) const 
()
   from /opt/kde3/lib/libkdecore.so.4
#17 0x4022d7be in CurrentTrackJob::showPodcast(MetaBundle const&) 
(this=0xa064650, 
    currentTrack=@0xbedff98c)
    at /home/mark/mysource/kdesvn/extragear/multimedia/amarok/src/contextbrowser.cpp:1873
#18 0x40234cb6 in CurrentTrackJob::doJob() (this=0xa064650)
    at /home/mark/mysource/kdesvn/extragear/multimedia/amarok/src/contextbrowser.cpp:2734
#19 0x403c88d8 in ThreadWeaver::Thread::run() (this=0x8231ba8)
    at /home/mark/mysource/kdesvn/extragear/multimedia/amarok/src/threadweaver.cpp:297
#20 0x41599c85 in QThreadInstance::start(void*) () 
from /usr/lib/./libqt-mt.so.3
#21 0x41f411b0 in pthread_start_thread () from /lib/libpthread.so.0
#0  0x42167449 in wait4 () from /lib/libc.so.6
No symbol table info available.
#1  0x421e3fd0 in __DTOR_END__ () from /lib/libc.so.6
No symbol table info available.
#2  0x41f46a73 in waitpid () from /lib/libpthread.so.0
No symbol table info available.
#3  0x0804e1be in Amarok::Crash::crashHandler(int) ()
    at /home/mark/mysource/kdesvn/extragear/multimedia/amarok/src/amarokcore/crashhandler.cpp:249
	pid = 4792
#4  0x41f4411b in pthread_sighandler () from /lib/libpthread.so.0
No symbol table info available.
#5  <signal handler called>
No symbol table info available.
#6  0x411b5984 in KConfigINIBackEnd::parseSingleConfigFile(QFile&, 
QMap<KEntryKey, KEntry>*, bool, bool) () from /opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#7  0x411b4e12 in KConfigINIBackEnd::parseConfigFiles() () 
from /opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#8  0x411b0658 in KConfigBase::parseConfigFiles() () 
from /opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#9  0x411b1f36 in KConfig::reparseConfiguration() () 
from /opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#10 0x411b383b in KSimpleConfig::KSimpleConfig(QString const&, bool) ()
   from /opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#11 0x411cff97 in KLocale::initFormat() () from /opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#12 0x411cfe38 in KLocale::doFormatInit() const () 
from /opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#13 0x411dc19b in KLocale::timeFormat() const () 
from /opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#14 0x411da897 in KLocale::formatTime(QTime const&, bool, bool) const ()
   from /opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#15 0x411da840 in KLocale::formatTime(QTime const&, bool) const ()
   from /opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#16 0x411db17e in KLocale::formatDateTime(QDateTime const&, bool, bool) const 
()
   from /opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#17 0x4022d7be in CurrentTrackJob::showPodcast(MetaBundle const&) 
(this=0xa064650, 
    currentTrack=@0xbedff98c)
    at /home/mark/mysource/kdesvn/extragear/multimedia/amarok/src/contextbrowser.cpp:1873
	ep = (PodcastEpisodeBundle &) @0x9c51a58: {m_id = 873, m_url = {m_strProtocol 
= {
      static null = 

==== kdBacktrace() ================
[
0: /opt/kde3/lib/libkdecore.so.4(_Z11kdBacktracei+0x44) [0x4119d894]
1: /opt/kde3/lib/libkdecore.so.4(_Z11kdBacktracev+0x2a) [0x4119dc1a]
2: amarokapp(_ZN6Amarok5Crash12crashHandlerEi+0xcb9) [0x804dfc7]
3: /lib/libpthread.so.0 [0x41f4411b]
4: /lib/libc.so.6 [0x420f2dd8]
5: /opt/kde3/lib/libkdecore.so.4
(_ZN17KConfigINIBackEnd16parseConfigFilesEv+0x262) [0x411b4e12]
6: /opt/kde3/lib/libkdecore.so.4(_ZN11KConfigBase16parseConfigFilesEv+0x48) 
[0x411b0658]
7: /opt/kde3/lib/libkdecore.so.4(_ZN7KConfig20reparseConfigurationEv+0x116) 
[0x411b1f36]
8: /opt/kde3/lib/libkdecore.so.4(_ZN13KSimpleConfigC1ERK7QStringb+0xeb) 
[0x411b383b]
9: /opt/kde3/lib/libkdecore.so.4(_ZN7KLocale10initFormatEv+0x147) [0x411cff97]
10: /opt/kde3/lib/libkdecore.so.4(_ZNK7KLocale12doFormatInitEv+0x38) 
[0x411cfe38]
11: /opt/kde3/lib/libkdecore.so.4(_ZNK7KLocale10timeFormatEv+0x2b) 
[0x411dc19b]
12: /opt/kde3/lib/libkdecore.so.4(_ZNK7KLocale10formatTimeERK5QTimebb+0x37) 
[0x411da897]
13: /opt/kde3/lib/libkdecore.so.4(_ZNK7KLocale10formatTimeERK5QTimeb+0x40) 
[0x411da840]
14: /opt/kde3/lib/libkdecore.so.4
(_ZNK7KLocale14formatDateTimeERK9QDateTimebb+0x4e) [0x411db17e]
15: /opt/kde3/lib/libamarok.so.0
(_ZN15CurrentTrackJob11showPodcastERK10MetaBundle+0xcfa) [0x4022d7be]
16: /opt/kde3/lib/libamarok.so.0(_ZN15CurrentTrackJob5doJobEv+0xe0) 
[0x40234cb6]
17: /opt/kde3/lib/libamarok.so.0(_ZN12ThreadWeaver6Thread3runEv+0xdc) 
[0x403c88d8]
18: /usr/lib/./libqt-mt.so.3(_ZN15QThreadInstance5startEPv+0x75) [0x41599c85]
19: /lib/libpthread.so.0 [0x41f411b0]
20: /lib/libc.so.6(__clone+0x3a) [0x42196a1a]
]

-- 
Mark



More information about the Amarok mailing list