|
Bugzilla – Full Text Bug Listing |
| Summary: | [Fix_is_Ready:10.2] amarok frequently crashes | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 10.2 | Reporter: | Andreas Schwab <schwab> |
| Component: | KDE | Assignee: | Dirk Mueller <dmueller> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | asklein, dimstar, dmueller, vetter |
| Version: | Beta 2 plus | Keywords: | Fix_is_Ready |
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Found By: | Other | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
A backtrace from my crash on sept 12 2005
valgrind log patch valgrind log |
||
|
Description
Andreas Schwab
2005-09-07 15:12:50 UTC
what engine, which package version, backtrace, etc. xine engine, what do you mean with package version? Hi Andreas Please install the *-debuginfo packages and create a backtrace with gdb and attach the output. Thanks. There are no debuginfo packages. Andreas has seen this problem on IA64 and PPC. We need to prepare special debuginfo package for those archs to be able to get backtraces... I see. The usage of ltrace/strace would help either. I experience the same problem... mostly I use amaroK (1.3.1 as of RC1, before i was 1.3) to play a playlist for some time.. mostly it crashes about 1 to wo hours. This happens on my installation with OSS 10.0RC1 using xine-engine. Tell me if I can help you trace this bug down, as amaroK seems to be the most complete audi player to me. Created attachment 49663 [details]
A backtrace from my crash on sept 12 2005
Maybe this can help you track it down, as this crash happens very often to me.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1073880800 (LWP 6611)]
_wordcopy_fwd_aligned (dstp=277949512, srcp=0, len=13) at wordcopy.c:59
59 a1 = ((op_t *) srcp)[0];
Current language: auto; currently c
(gdb) bt
#1 0x0e5c929c in *__GI_memcpy (dstpp=0x10912c48, srcpp=<value optimized out>,
len=<value optimized out>) at memcpy.c:55
#2 0x0f0a16f4 in QString::setLength (this=0xfff684a8, newLen=27)
at qstring.cpp:1706
#3 0x0f0a1894 in QString::grow (this=<value optimized out>,
newLen=<value optimized out>) at qstring.cpp:1794
#4 0x0f0a93cc in QString::operator+= (this=0xfff684a8, str=@0xfff68498)
at qstring.cpp:5512
#5 0x0f452cc0 in KStandardDirs::saveLocation (this=0x1039bbe8,
type=0x1022f070 "data", suffix=@0xfff6858c, create=true) at qstring.h:1046
#6 0x10041574 in amaroK::saveLocation (directory=@0xf25ee14) at app.cpp:954
#7 0x10094124 in ContextBrowser::saveHtmlData (this=0x104255e8)
at contextbrowser.cpp:516
#8 0x100b5278 in CurrentTrackJob::completeJob (this=0x10a8ad88)
at contextbrowser.cpp:1384
#9 0x101a9a4c in ThreadWeaver::event (this=0x1026d7c4,
e=<value optimized out>) at threadweaver.cpp:143
#10 0x20424422 in ?? ()
#11 0x0ed0a7dc in QApplication::internalNotify (this=<value optimized out>,
receiver=0x1026d7c4, e=0x10a8adb4) at qapplication.cpp:2636
#12 0x0ed0b5c0 in QApplication::notify (this=0xfff68ac8, receiver=0x1026d7c4,
e=0x10a8adb4) at qapplication.cpp:2359
#13 0x20424424 in ?? ()
#14 0x0f4a2d80 in KApplication::notify (this=0xfff68ac8, receiver=0x1026d7c4,
event=0x10a8adb4) at kapplication.cpp:551
#15 0x0ed0c3f8 in QApplication::sendPostedEvents (receiver=0x0, event_type=0)
at qapplication.h:515
#16 0x20000424 in ?? ()
#17 0x0ed0c578 in QApplication::sendPostedEvents () at qapplication.cpp:3202
#18 0x0ecb1984 in QEventLoop::processEvents (this=0x1038cbd0, flags=4)
at qeventloop_x11.cpp:144
#19 0x20000422 in ?? ()
#20 0x0ed24b08 in QEventLoop::enterLoop (this=0x1038cbd0) at
qeventloop.cpp:198
#21 0x0ed2495c in QEventLoop::exec (this=0x1038cbd0) at qeventloop.cpp:145
#22 0x0ed09f90 in QApplication::exec (this=<value optimized out>)
at qapplication.cpp:2759
#23 0x101cbeec in main (argc=3, argv=0xfff68e24) at main.cpp:94
#24 0x0e567a54 in generic_start_main (main=0x101cbb14 <main>, argc=3,
ubp_av=0xfff68e24, auxvec=0xfff68fb8, init=0x10217ef4 <__libc_csu_init>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at libc-start.c:209
#25 0x0e567be4 in __libc_start_main (argc=<value optimized out>,
ubp_av=<value optimized out>, ubp_ev=<value optimized out>,
auxvec=<value optimized out>, rtld_fini=<value optimized out>,
stinfo=<value optimized out>, stack_on_entry=<value optimized out>)
at libc-start.c:97
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1073880800 (LWP 6625)]
0x0e5c92c0 in *__GI_memcpy (dstpp=0x10502658, srcpp=<value optimized out>,
len=2) at memcpy.c:61
61 BYTE_COPY_FWD (dstp, srcp, len);
Current language: auto; currently c
(gdb) bt
#0 0x0e5c92c0 in *__GI_memcpy (dstpp=0x10502658, srcpp=<value optimized out>,
len=2) at memcpy.c:61
#1 0x0f0a16f4 in QString::setLength (this=0xff8234a8, newLen=2)
at qstring.cpp:1706
#2 0x0f0a1894 in QString::grow (this=<value optimized out>,
newLen=<value optimized out>) at qstring.cpp:1794
#3 0x0f0a93cc in QString::operator+= (this=0xff8234a8, str=@0xff823498)
at qstring.cpp:5512
#4 0x0f452cc0 in KStandardDirs::saveLocation (this=0x1039bbe8,
type=0x1022f070 "data", suffix=@0xff82358c, create=true) at qstring.h:1046
#5 0x10041574 in amaroK::saveLocation (directory=@0xf25ee14) at app.cpp:954
#6 0x10094124 in ContextBrowser::saveHtmlData (this=0x10425558)
at contextbrowser.cpp:516
#7 0x100b5278 in CurrentTrackJob::completeJob (this=0x107719e8)
at contextbrowser.cpp:1384
#8 0x101a9a4c in ThreadWeaver::event (this=0x1026d7c4,
e=<value optimized out>) at threadweaver.cpp:143
#9 0x20424422 in ?? ()
#10 0x0ed0a7dc in QApplication::internalNotify (this=<value optimized out>,
receiver=0x1026d7c4, e=0x10771a14) at qapplication.cpp:2636
#11 0x0ed0b5c0 in QApplication::notify (this=0xff823ac8, receiver=0x1026d7c4,
e=0x10771a14) at qapplication.cpp:2359
#12 0x20424424 in ?? ()
#13 0x0f4a2d80 in KApplication::notify (this=0xff823ac8, receiver=0x1026d7c4,
event=0x10771a14) at kapplication.cpp:551
#14 0x0ed0c3f8 in QApplication::sendPostedEvents (receiver=0x0, event_type=0)
at qapplication.h:515
#15 0x28000424 in ?? ()
#16 0x0ed0c578 in QApplication::sendPostedEvents () at qapplication.cpp:3202
#17 0x0ecb1984 in QEventLoop::processEvents (this=0x1038cbd0, flags=4)
at qeventloop_x11.cpp:144
#18 0x28000422 in ?? ()
#19 0x0ed24b30 in QEventLoop::enterLoop (this=0x1038cbd0) at qeventloop.cpp:198
#20 0x0ed2495c in QEventLoop::exec (this=0x1038cbd0) at qeventloop.cpp:145
#21 0x0ed09f90 in QApplication::exec (this=<value optimized out>)
at qapplication.cpp:2759
#22 0x101cbeec in main (argc=3, argv=0xff823e24) at main.cpp:94
#23 0x0e567a54 in generic_start_main (main=0x101cbb14 <main>, argc=3,
ubp_av=0xff823e24, auxvec=0xff823fb8, init=0x10217ef4 <__libc_csu_init>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at libc-start.c:209
#24 0x0e567be4 in __libc_start_main (argc=<value optimized out>,
ubp_av=<value optimized out>, ubp_ev=<value optimized out>,
auxvec=<value optimized out>, rtld_fini=<value optimized out>,
stinfo=<value optimized out>, stack_on_entry=<value optimized out>)
at libc-start.c:97
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101d22e0 in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e57de4c in *__GI_raise (sig=6) at raise.c:67
#7 0x0e57f930 in *__GI_abort () at abort.c:88
#8 0x0e5b7c90 in __libc_message (do_abort=2,
fmt=0xe675798 "*** glibc detected *** %s: 0x%s ***\n") at libc_fatal.c:145
#9 0x0e5bf9d4 in malloc_printerr (action=3,
str=0xe6758a4 "double free or corruption (out)", ptr=<value optimized out>)
at malloc.c:5525
#10 0x0e5c0738 in *__GI___libc_free (mem=0x40d76728) at malloc.c:3404
#11 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#12 0x0e804b40 in operator delete[] () from /usr/lib/../lib/libstdc++.so.6
#13 0x0f09e038 in QStringData::deleteSelf (this=0x40d76830) at qstring.h:363
#14 0x10124280 in Playlist::scoreChanged (this=0x104eb4e8, path=@0x4325f2a0,
score=95) at qstring.h:848
#15 0x101295cc in Playlist::qt_invoke (this=0x104eb4e8, _id=124, _o=0xff8ec058)
at playlist.moc:344
#16 0x0ed78448 in QObject::activate_signal (this=0x1026d734,
clist=<value optimized out>, o=0xff8ec058) at qobject.cpp:2379
#17 0x48424422 in ?? ()
#18 0x1005b244 in CollectionDB::scoreChanged (this=0x1026d734,
t0=<value optimized out>, t1=95) at collectiondb.moc:185
#19 0x1006da20 in CollectionDB::addSongPercentage (this=0x1026d734,
url=@0xff8ec208, percentage=<value optimized out>) at collectiondb.cpp:1353
#20 0x1006e248 in CollectionDB::engineTrackEnded (this=0x1026d734,
finalPosition=484308, trackLength=486000) at collectiondb.cpp:1752
#21 0x100d4390 in EngineSubject::trackEnded (this=<value optimized out>,
finalPosition=484308, trackLength=486000) at engineobserver.cpp:89
#22 0x100d01e8 in EngineController::play (this=0x1026d860, bundle=@0xff8ec33c)
at enginecontroller.cpp:321
#23 0x10120730 in Playlist::activate (this=0x104eb4e8, item=0x417fa4b0)
at playlist.cpp:1186
#24 0x10121588 in Playlist::playNextTrack (this=0x104eb4e8, forceNext=200)
at playlist.cpp:874
#25 0x40424428 in ?? ()
#26 0x10129538 in Playlist::qt_invoke (this=0x104eb4e8, _id=117, _o=0xff8ec4b8)
at playlist.moc:337
#27 0x0ed78544 in QObject::activate_signal (this=0x1026d860,
clist=<value optimized out>, o=0xff8ec4b8) at qobject.cpp:2355
#28 0x20424422 in ?? ()
#29 0x0ed793a4 in QObject::activate_signal_bool (this=0x1026d860,
signal=<value optimized out>, param=<value optimized out>)
at qobject.cpp:2451
#30 0x100cd5c8 in EngineController::orderNext (this=0x1026d860, t0=false)
at enginecontroller.moc:214
#31 0x100cd638 in EngineController::next (this=<value optimized out>,
forceNext=<value optimized out>) at enginecontroller.cpp:296
#32 0x100cd914 in EngineController::slotTrackEnded (this=0x1026d860)
at enginecontroller.cpp:617
#33 0x100d2b60 in EngineController::qt_invoke (this=0x1026d860, _id=26,
_o=0xff8ec5d8) at enginecontroller.moc:250
#34 0x0ed78544 in QObject::activate_signal (this=0x105ffca0,
clist=<value optimized out>, o=0xff8ec5d8) at qobject.cpp:2355
#35 0x20424424 in ?? ()
#36 0x0ed78b94 in QObject::activate_signal (this=<value optimized out>,
signal=<value optimized out>) at qobject.cpp:2324
#37 0x0d8c9ed8 in Engine::Base::trackEnded (this=0x105ffca0)
at enginebase.moc:109
#38 0x0d7ae25c in XineEngine::customEvent (this=0x105ffca0, e=0x10d23d08)
at xine-engine.cpp:537
#39 0x0ed782a8 in QObject::event (this=0x105ffca0, e=0x10d23d08)
at qobject.cpp:755
#40 0x0ed0a7dc in QApplication::internalNotify (this=<value optimized out>,
receiver=0x105ffca0, e=0x10d23d08) at qapplication.cpp:2636
#41 0x0ed0b5c0 in QApplication::notify (this=0xff8ecac8, receiver=0x105ffca0,
e=0x10d23d08) at qapplication.cpp:2359
#42 0x20424424 in ?? ()
#43 0x0f4a2d80 in KApplication::notify (this=0xff8ecac8, receiver=0x105ffca0,
event=0x10d23d08) at kapplication.cpp:551
#44 0x0ed0c3f8 in QApplication::sendPostedEvents (receiver=0x0, event_type=0)
at qapplication.h:515
#45 0x20000424 in ?? ()
#46 0x0ed0c578 in QApplication::sendPostedEvents () at qapplication.cpp:3202
#47 0x0ecb1984 in QEventLoop::processEvents (this=0x1038cd08, flags=4)
at qeventloop_x11.cpp:144
#48 0x20000422 in ?? ()
#49 0x0ed24b08 in QEventLoop::enterLoop (this=0x1038cd08) at qeventloop.cpp:198
#50 0x0ed2495c in QEventLoop::exec (this=0x1038cd08) at qeventloop.cpp:145
#51 0x0ed09f90 in QApplication::exec (this=<value optimized out>)
at qapplication.cpp:2759
#52 0x101cbeec in main (argc=3, argv=0xff8ece24) at main.cpp:94
#53 0x0e567a54 in generic_start_main (main=0x101cbb14 <main>, argc=3,
ubp_av=0xff8ece24, auxvec=0xff8ecfb8, init=0x10217ef4 <__libc_csu_init>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at libc-start.c:209
#54 0x0e567be4 in __libc_start_main (argc=<value optimized out>,
ubp_av=<value optimized out>, ubp_ev=<value optimized out>,
auxvec=<value optimized out>, rtld_fini=<value optimized out>,
stinfo=<value optimized out>, stack_on_entry=<value optimized out>)
at libc-start.c:97
#55 0x00000000 in ?? ()
(gdb) thr 2
[Switching to thread 2 (Thread 1121764576 (LWP 7728))]#0 0x0e8653b0 in __waitpid_nocancel () from /lib/tls/libpthread.so.0
(gdb) bt
#0 0x0e8653b0 in __waitpid_nocancel () from /lib/tls/libpthread.so.0
#1 0x101d30a8 in amaroK::Crash::crashHandler () at crashhandler.cpp:203
#2 <signal handler called>
#3 QValueListPrivate<QString>::at (this=0x43053858, i=1) at qvaluelist.h:376
#4 0x100a8040 in CurrentTrackJob::doJob (this=0x10d917b0) at qvaluelist.h:536
#5 0x101a9dc0 in ThreadWeaver::Thread::run (this=0x106bb198)
at threadweaver.cpp:231
#6 0x0ed00b40 in QThreadInstance::start (_arg=0x106811dc)
at qthread_unix.cpp:119
#7 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#8 0x0e61bf24 in clone () from /lib/tls/libc.so.6
Thread 2 (Thread 1119876320 (LWP 6787)):
#0 0x0e629568 in __lll_lock_wait (futex=0x40c00010) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101e891c in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 malloc_consolidate (av=0x40c00010) at malloc.c:4487
#7 0x0e5c0b90 in _int_malloc (av=0x40c00010, bytes=<value optimized out>)
at malloc.c:3911
#8 0x22424822 in ?? ()
#9 0x0e5c28c4 in *__GI___libc_malloc (bytes=1152) at malloc.c:3339
#10 0x0de903e8 in png_create_struct_2 (type=<value optimized out>,
malloc_fn=<value optimized out>, mem_ptr=<value optimized out>)
at pngmem.c:367
#11 0x0de77e40 in png_create_read_struct_2 (user_png_ver=0xf17c010 "1.2.8",
error_ptr=0x0, error_fn=0, warn_fn=0, mem_ptr=0x0, malloc_fn=0, free_fn=0)
at pngread.c:48
#12 0x0de7812c in png_create_read_struct (user_png_ver=<value optimized out>,
error_ptr=<value optimized out>, error_fn=<value optimized out>,
warn_fn=<value optimized out>) at pngread.c:24
#13 0x0f04460c in read_png_image (iio=0x42bfdbf8) at qpngio.cpp:265
#14 0x0ed44764 in QImageIO::read (this=0x42bfdbf8) at qimage.cpp:4461
#15 0x0ed44dbc in QImage::load (this=0x42bfdc9c,
fileName=<value optimized out>, format=<value optimized out>)
at qimage.cpp:3474
#16 0x0ed44e3c in QImage (this=0x42bfdc9c, fileName=@0x42bfe6d0, format=0x0)
at qimage.cpp:396
#17 0x100a4d30 in ContextBrowser::makeShadowedImage (
albumImage=<value optimized out>) at contextbrowser.cpp:3055
#18 0x100a6470 in CurrentTrackJob::doJob (this=0x109f8590)
at contextbrowser.cpp:1555
#19 0x101be470 in ThreadWeaver::Thread::run (this=0x106d9d50)
at threadweaver.cpp:231
#20 0x0ed00b40 in QThreadInstance::start (_arg=0x106db074)
at qthread_unix.cpp:119
#21 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#22 0x0e61bf24 in clone () from /lib/tls/libc.so.6
Thread 2 (Thread 1119802592 (LWP 23111)):
#0 0x0e8653b0 in __waitpid_nocancel () from /lib/tls/libpthread.so.0
#1 0x101e9728 in amaroK::Crash::crashHandler () at crashhandler.cpp:205
#2 <signal handler called>
#3 0x0f0813b8 in QGList::unlink (this=0x104924c8) at qglist.cpp:488
#4 0x0f0815cc in QGList::takeFirst (this=0x104924c8) at qglist.cpp:664
#5 0x1005cf0c in DbConnectionPool::getDbConnection (this=0x104924c8)
at qptrqueue.h:59
#6 0x10060d00 in CollectionDB::query (this=0x10289f64, statement=@0x42bec75c,
conn=<value optimized out>) at collectiondb.cpp:161
#7 0x48424442 in ?? ()
#8 0x10086010 in QueryBuilder::run (this=0x42bec758) at collectiondb.cpp:3373
#9 0x100a6168 in CurrentTrackJob::doJob (this=0x10430738)
at contextbrowser.cpp:1545
#10 0x101be470 in ThreadWeaver::Thread::run (this=0x106da4e0)
at threadweaver.cpp:231
#11 0x0ed00b40 in QThreadInstance::start (_arg=0x106db864)
at qthread_unix.cpp:119
#12 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#13 0x0e61bf24 in clone () from /lib/tls/libc.so.6
andreas, do you use amarok from STABLE or from 10.0? Both.
#0 0x0e629568 in __lll_lock_wait (futex=0x42300010) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101e891c in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 malloc_consolidate (av=0x42300010) at malloc.c:4481
#7 0x0e5c0b90 in _int_malloc (av=0x42300010, bytes=<value optimized out>)
at malloc.c:3911
#8 0x22424822 in ?? ()
#9 0x0e5c28c4 in *__GI___libc_malloc (bytes=1152) at malloc.c:3339
#10 0x0de903e8 in png_create_struct_2 (type=<value optimized out>,
malloc_fn=<value optimized out>, mem_ptr=<value optimized out>)
at pngmem.c:367
#11 0x0de77e40 in png_create_read_struct_2 (user_png_ver=0xf17c010 "1.2.8",
error_ptr=0x0, error_fn=0, warn_fn=0, mem_ptr=0x0, malloc_fn=0, free_fn=0)
at pngread.c:48
#12 0x0de7812c in png_create_read_struct (user_png_ver=<value optimized out>,
error_ptr=<value optimized out>, error_fn=<value optimized out>,
warn_fn=<value optimized out>) at pngread.c:24
#13 0x0f04460c in read_png_image (iio=0x421f2bf8) at qpngio.cpp:265
#14 0x0ed44764 in QImageIO::read (this=0x421f2bf8) at qimage.cpp:4461
#15 0x0ed44dbc in QImage::load (this=0x421f2c9c,
fileName=<value optimized out>, format=<value optimized out>)
at qimage.cpp:3474
#16 0x0ed44e3c in QImage (this=0x421f2c9c, fileName=@0x421f36d0, format=0x0)
at qimage.cpp:396
#17 0x100a4d30 in ContextBrowser::makeShadowedImage (
albumImage=<value optimized out>) at contextbrowser.cpp:3055
#18 0x100a6470 in CurrentTrackJob::doJob (this=0x10b126d8)
at contextbrowser.cpp:1555
#19 0x101be470 in ThreadWeaver::Thread::run (this=0x106da600)
at threadweaver.cpp:231
#20 0x0ed00b40 in QThreadInstance::start (_arg=0x106db9ec)
at qthread_unix.cpp:119
#21 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#22 0x0e61bf24 in clone () from /lib/tls/libc.so.6
Thread 2 (Thread 1111549152 (LWP 7628)):
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101e891c in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e57de4c in *__GI_raise (sig=6) at raise.c:67
#7 0x0e57f930 in *__GI_abort () at abort.c:88
#8 0x0e5b7c90 in __libc_message (do_abort=2,
fmt=0xe675798 "*** glibc detected *** %s: 0x%s ***\n") at libc_fatal.c:145
#9 0x0e5bf9d4 in malloc_printerr (action=3,
str=0xe675860 "double free or corruption (fasttop)",
ptr=<value optimized out>) at malloc.c:5525
#10 0x0e5c0738 in *__GI___libc_free (mem=0x10d06f60) at malloc.c:3404
#11 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#12 0x0e804b40 in operator delete[] () from /usr/lib/../lib/libstdc++.so.6
#13 0x0f0a10e4 in QString::deref (this=0x4240ca38) at qstring.h:363
#14 0x0f0a16fc in QString::setLength (this=0x4240ca38, newLen=16)
at qstring.cpp:1707
#15 0x0f0a1894 in QString::grow (this=<value optimized out>,
newLen=<value optimized out>) at qstring.cpp:1794
#16 0x0f0aa404 in QString::operator+= (this=0x4240ca38, c=47 '/')
at qstring.cpp:5583
#17 0x0f0730d8 in QDir::filePath (this=0x10289fb0, fileName=@0x4240ca7c,
acceptAbsPath=<value optimized out>) at qdir.cpp:379
#18 0x1006eb08 in CollectionDB::notAvailCover (this=0x10289f64,
width=<value optimized out>) at collectiondb.cpp:998
#19 0x1006f338 in CollectionDB::getImageForAlbum (this=0x10289f64,
artist=@0x4240cc68, album=@0x4240d7b4, width=100) at collectiondb.cpp:952
#20 0x1006fa30 in CollectionDB::findImageByArtistAlbum (this=0x10289f64,
artist=@0x4240cc68, album=@0x4240d7b4, width=100) at collectiondb.cpp:859
#21 0x1006fbec in CollectionDB::albumImage (this=0x10289f64,
artist=<value optimized out>, album=@0x4240d7b4, width=100)
at collectiondb.cpp:873
#22 0x1006ffe8 in CollectionDB::albumImage (this=0x10289f64,
trackInformation=@0x4240d784, width=1) at collectiondb.cpp:891
#23 0x100a6258 in CurrentTrackJob::doJob (this=0x107701f8)
at contextbrowser.cpp:1549
#24 0x101be470 in ThreadWeaver::Thread::run (this=0x106da970)
at threadweaver.cpp:231
#25 0x0ed00b40 in QThreadInstance::start (_arg=0x106dbcdc)
at qthread_unix.cpp:119
#26 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#27 0x0e61bf24 in clone () from /lib/tls/libc.so.6
Thread 2 (Thread 1121764576 (LWP 15540)):
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101e891c in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e57de4c in *__GI_raise (sig=6) at raise.c:67
#7 0x0e57f930 in *__GI_abort () at abort.c:88
#8 0x0e5b7c90 in __libc_message (do_abort=2,
fmt=0xe675798 "*** glibc detected *** %s: 0x%s ***\n") at libc_fatal.c:145
#9 0x0e5bf9d4 in malloc_printerr (action=3,
str=0xe675860 "double free or corruption (fasttop)",
ptr=<value optimized out>) at malloc.c:5525
#10 0x0e5c0738 in *__GI___libc_free (mem=0x106da258) at malloc.c:3404
#11 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#12 0x0f0815dc in QGList::takeFirst (this=0x104cb540) at qglist.cpp:666
#13 0x1005cf0c in DbConnectionPool::getDbConnection (this=0x104cb540)
at qptrqueue.h:59
#14 0x10060d00 in CollectionDB::query (this=0x10289f64, statement=@0x42dcacb0,
conn=<value optimized out>) at collectiondb.cpp:161
#15 0x28424422 in ?? ()
#16 0x100787b0 in CollectionDB::IDFromValue (this=0x10289f64,
name=@0x42dcacfc, value=@0x42dcacf8, autocreate=true,
temporary=<value optimized out>, updateSpelling=false, conn=0x0)
at collectiondb.cpp:599
#17 0x100791d4 in CollectionDB::albumID (this=0x10289f64, value=@0x42dcb5f8,
autocreate=true, temporary=false, updateSpelling=false, conn=0x0)
at collectiondb.cpp:532
#18 0x100a6090 in CurrentTrackJob::doJob (this=0x106da1f0)
at contextbrowser.cpp:1535
#19 0x101be470 in ThreadWeaver::Thread::run (this=0x106d9dd0)
at threadweaver.cpp:231
#20 0x0ed00b40 in QThreadInstance::start (_arg=0x106db13c)
at qthread_unix.cpp:119
#21 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#22 0x0e61bf24 in clone () from /lib/tls/libc.so.6
Thread 2 (Thread 1114633440 (LWP 15715)):
#0 0x0e629568 in __lll_lock_wait (futex=0x42200010) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101e891c in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e5bfb2c in malloc_consolidate (av=0x42200010) at malloc.c:4487
#7 0x0e5c0b90 in _int_malloc (av=0x42200010, bytes=<value optimized out>)
at malloc.c:3911
#8 0x22424822 in ?? ()
#9 0x0e5c28c4 in *__GI___libc_malloc (bytes=1152) at malloc.c:3339
#10 0x0de903e8 in png_create_struct_2 (type=<value optimized out>,
malloc_fn=<value optimized out>, mem_ptr=<value optimized out>)
at pngmem.c:367
#11 0x0de77e40 in png_create_read_struct_2 (user_png_ver=0xf17c010 "1.2.8",
error_ptr=0x0, error_fn=0, warn_fn=0, mem_ptr=0x0, malloc_fn=0, free_fn=0)
at pngread.c:48
#12 0x0de7812c in png_create_read_struct (user_png_ver=<value optimized out>,
error_ptr=<value optimized out>, error_fn=<value optimized out>,
warn_fn=<value optimized out>) at pngread.c:24
#13 0x0f04460c in read_png_image (iio=0x426fdbf8) at qpngio.cpp:265
#14 0x0ed44764 in QImageIO::read (this=0x426fdbf8) at qimage.cpp:4461
#15 0x0ed44dbc in QImage::load (this=0x426fdc9c,
fileName=<value optimized out>, format=<value optimized out>)
at qimage.cpp:3474
#16 0x0ed44e3c in QImage (this=0x426fdc9c, fileName=@0x426fe6d0, format=0x0)
at qimage.cpp:396
#17 0x100a4d30 in ContextBrowser::makeShadowedImage (
albumImage=<value optimized out>) at contextbrowser.cpp:3055
#18 0x100a6470 in CurrentTrackJob::doJob (this=0x10c15c48)
at contextbrowser.cpp:1555
#19 0x101be470 in ThreadWeaver::Thread::run (this=0x106d9bc0)
at threadweaver.cpp:231
#20 0x0ed00b40 in QThreadInstance::start (_arg=0x106dafbc)
at qthread_unix.cpp:119
#21 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#22 0x0e61bf24 in clone () from /lib/tls/libc.so.6
Thread 2 (Thread 1119876320 (LWP 20684)):
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101e891c in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e57de4c in *__GI_raise (sig=6) at raise.c:67
#7 0x0e57f930 in *__GI_abort () at abort.c:88
#8 0x0e5b7c90 in __libc_message (do_abort=2,
fmt=0xe675798 "*** glibc detected *** %s: 0x%s ***\n") at libc_fatal.c:145
#9 0x0e5bf9d4 in malloc_printerr (action=3,
str=0xe6758c4 "double free or corruption (!prev)",
ptr=<value optimized out>) at malloc.c:5525
#10 0x0e5c0738 in *__GI___libc_free (mem=0x109a54f0) at malloc.c:3404
#11 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#12 0x0e804b40 in operator delete[] () from /usr/lib/../lib/libstdc++.so.6
#13 0x0f0a10e4 in QString::deref (this=0x42bfdb68) at qstring.h:363
#14 0x0f0a16fc in QString::setLength (this=0x42bfdb68, newLen=113)
at qstring.cpp:1707
#15 0x0f0a1894 in QString::grow (this=<value optimized out>,
newLen=<value optimized out>) at qstring.cpp:1794
#16 0x0f0aa404 in QString::operator+= (this=0x42bfdb68, c=47 '/')
at qstring.cpp:5583
#17 0x0f0730d8 in QDir::filePath (this=0x10289fb0, fileName=@0x42bfdba0,
acceptAbsPath=<value optimized out>) at qdir.cpp:379
#18 0x1006f7b8 in CollectionDB::findImageByArtistAlbum (
this=<value optimized out>, artist=<value optimized out>,
album=<value optimized out>, width=<value optimized out>)
at collectiondb.cpp:850
#19 0x1006fb3c in CollectionDB::albumImage (this=0x10289f64,
artist=<value optimized out>, album=@0x42bfe7b4, width=100)
at collectiondb.cpp:871
#20 0x1006ffe8 in CollectionDB::albumImage (this=0x10289f64,
trackInformation=@0x42bfe784, width=1) at collectiondb.cpp:891
#21 0x100a6258 in CurrentTrackJob::doJob (this=0x10fc7260)
at contextbrowser.cpp:1549
#22 0x101be470 in ThreadWeaver::Thread::run (this=0x106d9b48)
at threadweaver.cpp:231
---Type <return> to continue, or q <return> to quit---
#23 0x0ed00b40 in QThreadInstance::start (_arg=0x106daf0c)
at qthread_unix.cpp:119
#24 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#25 0x0e61bf24 in clone () from /lib/tls/libc.so.6
ok, Andreas, when using the version from STABLE, what actions do you do to trigger the crash? can you run valgrind --tool=addrcheck on it? that would certainly make it easiest to track down. I'm not sure from the backtrace that gdb always selects the right thread to backtrace.. or which arch are you experiencing this on? Just playing, nothing more, nothing less. What do you mean with "gdb selecting the right thread"? The backtrace always shows the crashed thread, so it is obviously the right one. I'm running on an SMP system. This is clearly a threading bug. hyperthreading system? amarok from STABLE disables hyperthreading to workaround instability. yes, gdb shows a crashed thread, but not the cause for it. it looks like race/memory corruption. to isolate which one it is, it would be very helpful to see valgrind messages. "just playing" means you created an album and then added it to your playlist and played that? do you have the context info enabled? your backtraces indicate that it sometimes convertes images and stuff, which looks like you have fetching of album covers etc enabled. I wrote SMP, not hyperthreading. I'm just playing my playlist which contains 1578 tracks. What does "context info enabled" mean? Where do I enable that? valgrind only crashes. Andreas: which hardware/architecture? amarok 1.3.6 is just as bad.
#0 0x0e629568 in __lll_lock_wait (futex=0x40c00010) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101e813c in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e57de4c in *__GI_raise (sig=6) at raise.c:67
#7 0x0e57f930 in *__GI_abort () at abort.c:88
#8 0x0e5b7c90 in __libc_message (do_abort=2,
fmt=0xe675798 "*** glibc detected *** %s: 0x%s ***\n") at libc_fatal.c:145
#9 0x0e5bf9d4 in malloc_printerr (action=3,
str=0xe675860 "double free or corruption (fasttop)",
ptr=<value optimized out>) at malloc.c:5525
#10 0x0e5c0738 in *__GI___libc_free (mem=0x41702d58) at malloc.c:3404
#11 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#12 0x0e804b40 in operator delete[] () from /usr/lib/../lib/libstdc++.so.6
#13 0x0f0a10e4 in QString::deref (this=0x1040cc64) at qstring.h:363
#14 0x0f0a2294 in QString::operator= (this=0x1040cc64, s=@0x42cfd348)
at qstring.cpp:1594
#15 0x0f09c444 in QRegExp::prepareEngineForMatch (this=0x1040cc08,
str=@0x42cfd348) at qregexp.cpp:3961
#16 0x0f09c678 in QRegExp::search (this=0x1040cc08, str=@0x42cfd348, offset=0,
caretMode=QRegExp::CaretAtZero) at qregexp.cpp:3663
#17 0x0f09c754 in QRegExp::search (this=<value optimized out>,
str=<value optimized out>, offset=<value optimized out>)
at qregexp.cpp:3624
#18 0x0ed44620 in QImageIO::imageFormat (d=0x42cfd398) at qimage.cpp:4310
#19 0x0ed447cc in QImageIO::read (this=0x42cfdbf8) at qimage.cpp:4435
#20 0x0ed44dbc in QImage::load (this=0x42cfdc9c,
fileName=<value optimized out>, format=<value optimized out>)
at qimage.cpp:3474
#21 0x0ed44e3c in QImage (this=0x42cfdc9c, fileName=@0x42cfe6ec, format=0x0)
at qimage.cpp:396
#22 0x100a4820 in ContextBrowser::makeShadowedImage (
albumImage=<value optimized out>) at contextbrowser.cpp:3055
#23 0x100b3538 in CurrentTrackJob::doJob (this=0x10a1cd50)
at contextbrowser.cpp:1906
#24 0x101bdfd0 in ThreadWeaver::Thread::run (this=0x106d8a98)
at threadweaver.cpp:231
#25 0x0ed00b40 in QThreadInstance::start (_arg=0x106d9e4c)
at qthread_unix.cpp:119
#26 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#27 0x0e61bf24 in clone () from /lib/tls/libc.so.6
During this time I came to upgrade Amarok to the RPM from guru: amarok-1.3.6-1.guru.suse100.kde34 guess what: since then my Amarok is playing perfectly stable... (was playing for several hours, on several days) Maybe we should try to find out what dependent packets I have on my machine for this to work as stable... as the comment before says that 1.3.6 is as bad as previous versions. I hope together we'll solve this case for everybody well, 1.3.6 contains a workaround for the common case (hyperthreading instead of SMP). I guess we should release an update with that first to solve the problem for most, and then figure out how to finally find the race (which I still cannot reproduce, even on hyptherthreading). AJ: ok to submit an update with the hyperthreading wor ups, forget the last sentence, paste error :) Created attachment 59765 [details]
valgrind log
I'm afraid every error behind this one might be wrong: --11510-- WARNING: unhandled syscall: 247 --11510-- You may be able to write your own handler. --11510-- Read the file README_MISSING_SYSCALL_OR_IOCTL. If amarok can't work without clock_getres then it is severely broken. did you read the file README_MISSING_SYSCALL_OR_IOCTL? that's part of valgrind I'm not responsible for fixing valgrind bugs. could you guys please stop picking each other? Created attachment 59972 [details]
patch
try this patch
Doesn't help. Thread 2 (Thread 1121973472 (LWP 11569)):
#0 0x0e629568 in __lll_lock_wait (futex=0x42f00010) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101ea10c in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 malloc_consolidate (av=0x42f00010) at malloc.c:4481
#7 0x0e5c0b90 in _int_malloc (av=0x42f00010, bytes=<value optimized out>)
at malloc.c:3911
#8 0x22424822 in ?? ()
#9 0x0e5c28c4 in *__GI___libc_malloc (bytes=1152) at malloc.c:3339
#10 0x0de903e8 in png_create_struct_2 (type=<value optimized out>,
malloc_fn=0, mem_ptr=0x0) at pngmem.c:367
#11 0x0de77e40 in png_create_read_struct_2 (user_png_ver=0xf17c370 "1.2.8",
error_ptr=0x0, error_fn=0, warn_fn=0, mem_ptr=0x0, malloc_fn=0x4a,
free_fn=0x1000000) at pngread.c:48
#12 0x0de7812c in png_create_read_struct (user_png_ver=0x42f00010 "",
error_ptr=0x48b, error_fn=0, warn_fn=0) at pngread.c:24
#13 0x0f04496c in read_png_image (iio=0x42dfdbe8) at qpngio.cpp:265
#14 0x0ed44ac4 in QImageIO::read (this=0x42dfdbe8) at qimage.cpp:4461
#15 0x0ed4511c in QImage::load (this=0x42dfdc8c,
fileName=<value optimized out>, format=<value optimized out>)
at qimage.cpp:3474
#16 0x0ed4519c in QImage (this=0x42dfdc8c, fileName=@0x42dfe6dc, format=0x0)
at qimage.cpp:396
#17 0x100a5530 in ContextBrowser::makeShadowedImage (albumImage=@0x48b)
at contextbrowser.cpp:3059
#18 0x100b4238 in CurrentTrackJob::doJob (this=0x10925c68)
at contextbrowser.cpp:1910
#19 0x101bff00 in ThreadWeaver::Thread::run (this=0x106d91c8)
at threadweaver.cpp:231
#20 0x0ed00ea0 in QThreadInstance::start (_arg=0x106da4c4)
at qthread_unix.cpp:119
#21 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#22 0x0e61bf24 in clone () from /lib/tls/libc.so.6
does it still happen with the current version from STABLE? Thread 2 (Thread 1113646304 (LWP 10222)):
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101ea27c in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e57de4c in *__GI_raise (sig=6) at raise.c:67
#7 0x0e57f930 in *__GI_abort () at abort.c:88
#8 0x0e5b7c90 in __libc_message (do_abort=2,
fmt=0xe675798 "*** glibc detected *** %s: 0x%s ***\n") at libc_fatal.c:145
#9 0x0e5bf9d4 in malloc_printerr (action=3,
str=0xe675860 "double free or corruption (fasttop)",
ptr=<value optimized out>) at malloc.c:5525
#10 0x0e5c0738 in *__GI___libc_free (mem=0x10b60428) at malloc.c:3404
#11 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#12 0x0f08193c in QGList::takeFirst (this=0x10516670) at qglist.cpp:666
#13 0x1005c95c in DbConnectionPool::getDbConnection (this=0x10516670)
at qptrqueue.h:59
#14 0x10060750 in CollectionDB::query (this=0x1028b1a4, statement=@0x4260d754,
conn=0x4000) at collectiondb.cpp:161
#15 0x44424442 in ?? ()
#16 0x10085560 in QueryBuilder::run (this=0x4260d750) at collectiondb.cpp:3392
#17 0x100a69f8 in CurrentTrackJob::doJob (this=0x109b3698)
at contextbrowser.cpp:1549
#18 0x101c0070 in ThreadWeaver::Thread::run (this=0x106daa30)
at threadweaver.cpp:231
#19 0x0ed00ea0 in QThreadInstance::start (_arg=0x106dbe4c)
at qthread_unix.cpp:119
#20 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#21 0x0e61bf24 in clone () from /lib/tls/libc.so.6
Two threads accessing the same CollectionDB object at the same time doesn't look healthy.
Thread 1 (Thread 1073880896 (LWP 6898)):
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5c07a4 in *__GI___libc_free (mem=0x10ae58b8) at malloc.c:3402
#2 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#3 0x1004676c in ~QValueListPrivate (this=0x10ae58a8) at qvaluelist.h:283
#4 0x100688f4 in CollectionDB::isValid (this=0x1028b1a4) at qvaluelist.h:235
#5 0x1009ff68 in ContextBrowser::engineNewMetaData (this=0x1049e488,
bundle=@0x1028b2f8, trackChanged=true) at contextbrowser.cpp:448
#6 0x24424444 in ?? ()
#7 0x100de85c in EngineSubject::newMetaDataNotify (this=0x1028b2c8,
bundle=@0x1028b2f8, trackChanged=true) at engineobserver.cpp:81
#8 0x100da2e4 in EngineController::play (this=0x1028b2a0, bundle=@0xffda132c)
at enginecontroller.cpp:360
#9 0x1012f3a0 in Playlist::activate (this=0x10458ac8, item=0x10abd9c8)
at playlist.cpp:1239
#10 0x101305d8 in Playlist::playNextTrack (this=0x10458ac8, forceNext=96)
at playlist.cpp:896
#11 0x48424428 in ?? ()
#12 0x10136130 in Playlist::qt_invoke (this=0x10458ac8, _id=118, _o=0xffda14a8)
at playlist.moc:348
#13 0x0ed788a4 in QObject::activate_signal (this=0x1028b2a0,
clist=<value optimized out>, o=0xffda14a8) at qobject.cpp:2355
#14 0x28424422 in ?? ()
#15 0x0ed79704 in QObject::activate_signal_bool (this=0x1028b2a0,
signal=<value optimized out>, param=<value optimized out>)
at qobject.cpp:2451
#16 0x100d79a8 in EngineController::orderNext (this=0x1028b2a0, t0=false)
at enginecontroller.moc:216
#17 0x100d7a18 in EngineController::next (this=0x4, forceNext=false)
at enginecontroller.cpp:297
#18 0x100d7d14 in EngineController::slotTrackEnded (this=0x4)
at enginecontroller.h:73
#19 0x100dca58 in EngineController::qt_invoke (this=0x1028b2a0, _id=27,
_o=0xffda15c8) at enginecontroller.moc:253
#20 0x0ed788a4 in QObject::activate_signal (this=0x106ed388,
clist=<value optimized out>, o=0xffda15c8) at qobject.cpp:2355
#21 0x28424424 in ?? ()
#22 0x0ed78ef4 in QObject::activate_signal (this=0x4,
signal=<value optimized out>) at qobject.cpp:2324
#23 0x0d8c9ed8 in Engine::Base::trackEnded (this=0x106ed388)
at enginebase.moc:109
#24 0x0d7bedec in XineEngine::customEvent (this=0x106ed388, e=0x0)
at xine-engine.cpp:551
#25 0x0ed78608 in QObject::event (this=0x106ed388, e=0x10915bb0)
at qobject.cpp:755
#26 0x0ed0ab3c in QApplication::internalNotify (this=<value optimized out>,
receiver=0x106ed388, e=0x10915bb0) at qapplication.cpp:2636
#27 0x0ed0b920 in QApplication::notify (this=0xffda1ab8, receiver=0x106ed388,
e=0x10915bb0) at qapplication.cpp:2359
#28 0x28424424 in ?? ()
#29 0x0f4a2d80 in KApplication::notify (this=0xffda1ab8, receiver=0x106ed388,
event=0x10915bb0) at kapplication.cpp:551
#30 0x0ed0c758 in QApplication::sendPostedEvents (receiver=0x0, event_type=0)
at qapplication.h:515
#31 0x28000424 in ?? ()
#32 0x0ed0c8d8 in QApplication::sendPostedEvents () at qapplication.cpp:3202
#33 0x0ecb1ce4 in QEventLoop::processEvents (this=0x103ac220, flags=4)
at qeventloop_x11.cpp:144
#34 0x28000422 in ?? ()
#35 0x0ed24e68 in QEventLoop::enterLoop (this=0x103ac220) at qeventloop.cpp:198
#36 0x0ed24cbc in QEventLoop::exec (this=0x4) at qeventloop.cpp:145
#37 0x0ed0a2f0 in QApplication::exec (this=<value optimized out>)
at qapplication.cpp:2759
#38 0x101e251c in main (argc=3, argv=0xffda1e14) at main.cpp:94
#39 0x0e567a54 in generic_start_main (main=0x101e2144 <main>, argc=3,
ubp_av=0xffda1e14, auxvec=0xffda1fa8, init=0x102329c4 <__libc_csu_init>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at libc-start.c:209
#40 0x0e567be4 in __libc_start_main (argc=0, ubp_av=0x2,
ubp_ev=<value optimized out>, auxvec=0x0, rtld_fini=0,
stinfo=<value optimized out>, stack_on_entry=0x0) at libc-start.c:97
Thread 2 (Thread 1105032416 (LWP 7721)):
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5c07a4 in *__GI___libc_free (mem=0x10a57310) at malloc.c:3402
#2 0x0d774934 in xine_list_delete_current (l=0x0) at list.c:250
#3 0x0d75e934 in xine_event_get (queue=0x10a91818) at events.c:42
#4 0x0c8403d4 in demux_ogg_send_chunk (this_gen=<value optimized out>)
at demux_ogg.c:387
#5 0x0d7640b4 in demux_loop (stream_gen=<value optimized out>) at demux.c:261
#6 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#7 0x0e61bf24 in clone () from /lib/tls/libc.so.6
Thread 1 (Thread 1073880896 (LWP 6906)):
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101ea2cc in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e57de4c in *__GI_raise (sig=6) at raise.c:67
#7 0x0e57f930 in *__GI_abort () at abort.c:88
#8 0x0e5b7c90 in __libc_message (do_abort=2,
fmt=0xe675798 "*** glibc detected *** %s: 0x%s ***\n") at libc_fatal.c:145
#9 0x0e5bf9d4 in malloc_printerr (action=3,
str=0xe6758e8 "malloc(): memory corruption (fast)",
ptr=<value optimized out>) at malloc.c:5525
#10 0x0e5c1290 in _int_malloc (av=0xe694a0c, bytes=<value optimized out>)
at malloc.c:3860
#11 0x22422442 in ?? ()
#12 0x0e5c28c4 in *__GI___libc_malloc (bytes=16) at malloc.c:3339
#13 0x0f07a364 in QGArray (this=0x10738d14, size=16) at qgarray.cpp:146
#14 0x0eccd58c in QRegion (this=<value optimized out>, r=@0xff838ed8,
t=QRegion::Rectangle) at qmemarray.h:59
#15 0x0edb69e4 in QWidget::clipRegion (this=<value optimized out>)
at qwidget.cpp:4475
#16 0x0ecd6974 in QWidget::update (this=0x1052e610) at qwidget_x11.cpp:1480
#17 0x0ee20844 in QButton::setPixmap (this=0x1052e610, pixmap=@0xff838fb8)
at qbutton.cpp:524
#18 0x22424442 in ?? ()
#19 0x0f6c3cb4 in KToolBarButton::setPixmap (this=0x1052e610, pixmap=@0x1afa)
at ktoolbarbutton.cpp:303
#20 0x0eed1708 in QToolButton::setIconSet (this=0x1052e610, set=@0xff839000)
at qtoolbutton.cpp:766
#21 0x0f70e264 in KToolBarButton::setIcon (this=0x1052e610,
icon=<value optimized out>) at ktoolbarbutton.cpp:287
#22 0x0f6ee568 in KToolBar::setButtonIcon (this=<value optimized out>,
id=<value optimized out>, _icon=@0x1afa) at ktoolbar.cpp:484
#23 0x0f72ea2c in KAction::updateIcon (this=0x10432608,
id=<value optimized out>) at kaction.cpp:956
#24 0x0f6bc57c in KAction::setIcon (this=0x10432608,
icon=<value optimized out>) at kaction.cpp:940
#25 0x100399e8 in amaroK::PlayPauseAction::engineStateChanged (
this=0x10432608, state=Engine::Playing) at actionclasses.cpp:210
#26 0x100de4cc in EngineSubject::stateChangedNotify (this=0x1028b320,
state=Engine::Playing) at engineobserver.cpp:65
#27 0x100d7b94 in EngineController::slotStateChanged (this=0x1028b2f8,
newState=Engine::Playing) at enginecontroller.cpp:648
#28 0x100dcac4 in EngineController::qt_invoke (this=0x1028b2f8, _id=28,
_o=0xff8391c8) at enginecontroller.moc:254
#29 0x0ed788a4 in QObject::activate_signal (this=0x10ebbd40,
clist=<value optimized out>, o=0xff8391c8) at qobject.cpp:2355
#30 0x44424422 in ?? ()
#31 0x0d8ca3a4 in Engine::Base::stateChanged (this=0x10ebbd40,
t0=Engine::Playing) at enginebase.moc:150
#32 0x0d7bda48 in XineEngine::play (this=0x10ebbd40,
offset=<value optimized out>) at xine-engine.cpp:242
#33 0x100da2b0 in EngineController::play (this=0x1028b2f8, bundle=@0xff83932c)
at enginecontroller.cpp:349
#34 0x1012f3f0 in Playlist::activate (this=0x10505d08, item=0x1089bde8)
at playlist.cpp:1239
#35 0x10130628 in Playlist::playNextTrack (this=0x10505d08, forceNext=216)
at playlist.cpp:896
#36 0x48424428 in ?? ()
#37 0x10136180 in Playlist::qt_invoke (this=0x10505d08, _id=118, _o=0xff8394a8)
at playlist.moc:348
#38 0x0ed788a4 in QObject::activate_signal (this=0x1028b2f8,
clist=<value optimized out>, o=0xff8394a8) at qobject.cpp:2355
#39 0x28424422 in ?? ()
#40 0x0ed79704 in QObject::activate_signal_bool (this=0x1028b2f8,
signal=<value optimized out>, param=<value optimized out>)
at qobject.cpp:2451
#41 0x100d79f8 in EngineController::orderNext (this=0x1028b2f8, t0=false)
at enginecontroller.moc:216
#42 0x100d7a68 in EngineController::next (this=0x0, forceNext=250)
at enginecontroller.cpp:297
#43 0x100d7d64 in EngineController::slotTrackEnded (this=0x0)
at enginecontroller.h:73
#44 0x100dcaa8 in EngineController::qt_invoke (this=0x1028b2f8, _id=27,
_o=0xff8395c8) at enginecontroller.moc:253
#45 0x0ed788a4 in QObject::activate_signal (this=0x10ebbd40,
clist=<value optimized out>, o=0xff8395c8) at qobject.cpp:2355
#46 0x28424424 in ?? ()
#47 0x0ed78ef4 in QObject::activate_signal (this=0x0,
signal=<value optimized out>) at qobject.cpp:2324
#48 0x0d8c9ed8 in Engine::Base::trackEnded (this=0x10ebbd40)
at enginebase.moc:109
#49 0x0d7bedec in XineEngine::customEvent (this=0x10ebbd40, e=0x1afa)
at xine-engine.cpp:551
#50 0x0ed78608 in QObject::event (this=0x10ebbd40, e=0x10554110)
at qobject.cpp:755
#51 0x0ed0ab3c in QApplication::internalNotify (this=<value optimized out>,
receiver=0x10ebbd40, e=0x10554110) at qapplication.cpp:2636
#52 0x0ed0b920 in QApplication::notify (this=0xff839ab8, receiver=0x10ebbd40,
e=0x10554110) at qapplication.cpp:2359
#53 0x28424424 in ?? ()
#54 0x0f4a2d80 in KApplication::notify (this=0xff839ab8, receiver=0x10ebbd40,
event=0x10554110) at kapplication.cpp:551
#55 0x0ed0c758 in QApplication::sendPostedEvents (receiver=0x0, event_type=0)
at qapplication.h:515
#56 0x28000424 in ?? ()
#57 0x0ed0c8d8 in QApplication::sendPostedEvents () at qapplication.cpp:3202
#58 0x0ecb1ce4 in QEventLoop::processEvents (this=0x103ac220, flags=4)
at qeventloop_x11.cpp:144
#59 0x28000422 in ?? ()
#60 0x0ed24e68 in QEventLoop::enterLoop (this=0x103ac220) at qeventloop.cpp:198
#61 0x0ed24cbc in QEventLoop::exec (this=0x0) at qeventloop.cpp:145
#62 0x0ed0a2f0 in QApplication::exec (this=<value optimized out>)
at qapplication.cpp:2759
#63 0x101e256c in main (argc=3, argv=0xff839e14) at main.cpp:94
#64 0x0e567a54 in generic_start_main (main=0x101e2194 <main>, argc=3,
ubp_av=0xff839e14, auxvec=0xff839fa8, init=0x10232a14 <__libc_csu_init>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at libc-start.c:209
#65 0x0e567be4 in __libc_start_main (argc=0, ubp_av=0x6,
ubp_ev=<value optimized out>, auxvec=0x4000, rtld_fini=0,
stinfo=<value optimized out>, stack_on_entry=0x0) at libc-start.c:97
so, the crashes are gone? I fail to see where in your backtraces you have a second thread accessing collectiondb.. No. Thread 1 (Thread 1073880896 (LWP 10686)):
#0 *__GI___libc_free (mem=0xc) at malloc.c:3386
#1 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#2 0x0e804b40 in operator delete[] () from /usr/lib/../lib/libstdc++.so.6
#3 0x0f09e398 in QStringData::deleteSelf (this=0x10882070) at qstring.h:363
#4 0x1012d180 in Playlist::scoreChanged (this=0x104a2040, path=@0x42f3aab8,
score=97) at qstring.h:848
#5 0x10136228 in Playlist::qt_invoke (this=0x104a2040, _id=126, _o=0xffe43058)
at playlist.moc:356
#6 0x0ed787a8 in QObject::activate_signal (this=0x1028b1f4,
clist=<value optimized out>, o=0xffe43058) at qobject.cpp:2379
#7 0x48424422 in ?? ()
#8 0x1005d174 in CollectionDB::scoreChanged (this=0x1028b1f4,
t0=<value optimized out>, t1=97) at collectiondb.moc:191
#9 0x10070d10 in CollectionDB::addSongPercentage (this=0x1028b1f4,
url=@0xffe43208, percentage=<value optimized out>) at collectiondb.cpp:1368
#10 0x10071538 in CollectionDB::engineTrackEnded (this=0x1028b1f4,
finalPosition=294000, trackLength=294000) at collectiondb.cpp:1807
#11 0x100de2e0 in EngineSubject::trackEnded (this=<value optimized out>,
finalPosition=277488424, trackLength=90) at engineobserver.cpp:89
#12 0x100d9fb8 in EngineController::play (this=0x1028b2f8, bundle=@0xffe4333c)
at enginecontroller.cpp:322
#13 0x1012f3f0 in Playlist::activate (this=0x104a2040, item=0x107730e0)
at playlist.cpp:1239
#14 0x10130628 in Playlist::playNextTrack (this=0x104a2040, forceNext=176)
at playlist.cpp:896
#15 0x40424428 in ?? ()
#16 0x10136180 in Playlist::qt_invoke (this=0x104a2040, _id=118, _o=0xffe434b8)
at playlist.moc:348
#17 0x0ed788a4 in QObject::activate_signal (this=0x1028b2f8,
clist=<value optimized out>, o=0xffe434b8) at qobject.cpp:2355
#18 0x20424422 in ?? ()
#19 0x0ed79704 in QObject::activate_signal_bool (this=0x1028b2f8,
signal=<value optimized out>, param=<value optimized out>)
at qobject.cpp:2451
#20 0x100d79f8 in EngineController::orderNext (this=0x1028b2f8, t0=false)
at enginecontroller.moc:216
#21 0x100d7a68 in EngineController::next (this=0x4, forceNext=40)
at enginecontroller.cpp:297
#22 0x100d7d64 in EngineController::slotTrackEnded (this=0x4)
at enginecontroller.h:73
#23 0x100dcaa8 in EngineController::qt_invoke (this=0x1028b2f8, _id=27,
_o=0xffe435d8) at enginecontroller.moc:253
#24 0x0ed788a4 in QObject::activate_signal (this=0x108fe0f8,
clist=<value optimized out>, o=0xffe435d8) at qobject.cpp:2355
#25 0x20424424 in ?? ()
#26 0x0ed78ef4 in QObject::activate_signal (this=0x4,
signal=<value optimized out>) at qobject.cpp:2324
#27 0x0d8c9ed8 in Engine::Base::trackEnded (this=0x108fe0f8)
at enginebase.moc:109
#28 0x0d7bedec in XineEngine::customEvent (this=0x108fe0f8, e=0x108a2328)
at xine-engine.cpp:551
#29 0x0ed78608 in QObject::event (this=0x108fe0f8, e=0x10be70d8)
at qobject.cpp:755
#30 0x0ed0ab3c in QApplication::internalNotify (this=<value optimized out>,
receiver=0x108fe0f8, e=0x10be70d8) at qapplication.cpp:2636
#31 0x0ed0b920 in QApplication::notify (this=0xffe43ac8, receiver=0x108fe0f8,
e=0x10be70d8) at qapplication.cpp:2359
#32 0x20424424 in ?? ()
#33 0x0f4a2d80 in KApplication::notify (this=0xffe43ac8, receiver=0x108fe0f8,
event=0x10be70d8) at kapplication.cpp:551
#34 0x0ed0c758 in QApplication::sendPostedEvents (receiver=0x0, event_type=0)
at qapplication.h:515
#35 0x20000424 in ?? ()
#36 0x0ed0c8d8 in QApplication::sendPostedEvents () at qapplication.cpp:3202
#37 0x0ecb1ce4 in QEventLoop::processEvents (this=0x103ac0e8, flags=4)
at qeventloop_x11.cpp:144
#38 0x20000422 in ?? ()
#39 0x0ed24e90 in QEventLoop::enterLoop (this=0x103ac0e8) at qeventloop.cpp:198
#40 0x0ed24cbc in QEventLoop::exec (this=0x4) at qeventloop.cpp:145
#41 0x0ed0a2f0 in QApplication::exec (this=<value optimized out>)
at qapplication.cpp:2759
#42 0x101e256c in main (argc=1, argv=0xffe43e24) at main.cpp:94
#43 0x0e567a54 in generic_start_main (main=0x101e2194 <main>, argc=1,
ubp_av=0xffe43e24, auxvec=0xffe43fb4, init=0x10232a14 <__libc_csu_init>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at libc-start.c:209
#44 0x0e567be4 in __libc_start_main (argc=675431458, ubp_av=0x5a,
ubp_ev=<value optimized out>, auxvec=0x0,
rtld_fini=0xe693e9c <__free_hook>, stinfo=<value optimized out>,
stack_on_entry=0x0) at libc-start.c:97
Thread 2 (Thread 1120924896 (LWP 7293)):
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101ea2cc in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e57de4c in *__GI_raise (sig=6) at raise.c:67
#7 0x0e57f930 in *__GI_abort () at abort.c:88
#8 0x0e5b7c90 in __libc_message (do_abort=2,
fmt=0xe675798 "*** glibc detected *** %s: 0x%s ***\n") at libc_fatal.c:145
#9 0x0e5bf9d4 in malloc_printerr (action=3,
str=0xe675860 "double free or corruption (fasttop)",
ptr=<value optimized out>) at malloc.c:5525
#10 0x0e5c0738 in *__GI___libc_free (mem=0x104a5248) at malloc.c:3404
#11 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#12 0x0f0a145c in QString::deref (this=0x42cfdc88) at qstring.cpp:1551
#13 0x0f0a1a5c in QString::setLength (this=0x42cfdc88, newLen=12)
at qstring.cpp:1707
#14 0x0f0a1bf4 in QString::grow (this=0x0, newLen=7293) at qstring.cpp:1794
#15 0x0f0aa764 in QString::operator+= (this=0x42cfdc88, c=47 '/')
at qstring.cpp:5583
#16 0x0f073438 in QDir::filePath (this=0x1028b240, fileName=@0x42cfdcd0,
acceptAbsPath=<value optimized out>) at qdir.cpp:379
#17 0x1006dfac in CollectionDB::notAvailCover (this=0x1028b1f4,
width=<value optimized out>) at collectiondb.cpp:1006
#18 0x100a6c3c in CurrentTrackJob::doJob (this=0x108e6de8)
at contextbrowser.cpp:1555
#19 0x101c00c0 in ThreadWeaver::Thread::run (this=0x106da948)
at threadweaver.cpp:231
#20 0x0ed00ea0 in QThreadInstance::start (_arg=0x106dbd44)
at qthread_unix.cpp:119
#21 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#22 0x0e61bf24 in clone () from /lib/tls/libc.so.6
Thread 1 (Thread 1073880896 (LWP 6893)):
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5c07a4 in *__GI___libc_free (mem=0x10b2a380) at malloc.c:3402
#2 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#3 0x0e804b40 in operator delete[] () from /usr/lib/../lib/libstdc++.so.6
#4 0x0f0a1444 in QString::deref (this=0xffb6b8e8) at qstring.h:363
#5 0x0f0a1a5c in QString::setLength (this=0xffb6b8e8, newLen=12)
at qstring.cpp:1707
#6 0x0f0a1bf4 in QString::grow (this=0x4, newLen=0) at qstring.cpp:1794
#7 0x0f0aa764 in QString::operator+= (this=0xffb6b8e8, c=47 '/')
at qstring.cpp:5583
#8 0x0f073438 in QDir::filePath (this=0x1028b240, fileName=@0xffb6b930,
acceptAbsPath=<value optimized out>) at qdir.cpp:379
#9 0x1006dfac in CollectionDB::notAvailCover (this=0x1028b1f4,
width=<value optimized out>) at collectiondb.cpp:1006
#10 0x1006f124 in CollectionDB::albumImage (this=0x1028b1f4,
artist=<value optimized out>, album=@0xffb6bbc4, width=0)
at collectiondb.cpp:881
#11 0x1006f588 in CollectionDB::albumImage (this=0x1028b1f4,
trackInformation=@0xffb6bb94, width=0) at collectiondb.cpp:900
#12 0x101129e8 in amaroK::OSD::show (this=0x106a52b0, bundle=@0x1028b350)
at osd.cpp:541
#13 0x10042990 in App::engineNewMetaData (this=0xffb6cab8, bundle=@0x1028b350)
at app.cpp:869
#14 0x100de8ac in EngineSubject::newMetaDataNotify (this=0x1028b320,
bundle=@0x1028b350, trackChanged=true) at engineobserver.cpp:81
#15 0x100da334 in EngineController::play (this=0x1028b2f8, bundle=@0xffb6bddc)
at enginecontroller.cpp:360
#16 0x1012f3f0 in Playlist::activate (this=0x1049ec10, item=0x108719c0)
at playlist.cpp:1239
#17 0x10130bfc in Playlist::playCurrentTrack (this=0x1049ec10)
at playlist.cpp:976
#18 0x10136150 in Playlist::qt_invoke (this=0x1049ec10, _id=116, _o=0xffb6bed8)
at playlist.moc:346
#19 0x0ed788a4 in QObject::activate_signal (this=0x1028b2f8,
clist=<value optimized out>, o=0xffb6bed8) at qobject.cpp:2355
#20 0x28004444 in ?? ()
#21 0x0ed78ef4 in QObject::activate_signal (this=0x4,
signal=<value optimized out>) at qobject.cpp:2324
#22 0x100d791c in EngineController::orderCurrent (this=0x1028b2f8)
at enginecontroller.moc:210
#23 0x100d7978 in EngineController::play (this=0x4) at enginecontroller.cpp:307
#24 0x101e2e04 in amaroK::DcopPlayerHandler::play (this=<value optimized out>)
at amarokdcophandler.cpp:309
#25 0x101edd60 in AmarokPlayerInterface::process (this=0x103f81a8,
fun=<value optimized out>, data=@0xffb6c370, replyType=@0xffb6c378,
replyData=@0xffb6c380) at amarokdcopiface_skel.cpp:392
#26 0x0f2eb574 in DCOPClient::receive (this=0x103f8268, objId=@0xffb6c360,
fun=@0xffb6c368, data=@0xffb6c370, replyType=@0xffb6c378,
replyData=@0xffb6c380) at dcopclient.cpp:1653
#27 0x40004448 in is_dst (start=0x0, name=0x0,
str=0x2 <Address 0x2 out of bounds>, is_path=0, secure=1319717403)
at dl-load.c:192
#28 0x0f2ecd68 in DCOPProcessInternal (d=0x103fa720, opcode=2, key=89,
dataReceived=@0xffb6c464, canPost=<value optimized out>)
at dcopclient.cpp:527
#29 0x20000422 in ?? ()
#30 0xffb6c4c8 in ?? ()
#31 0x0f3179e8 in vtable for QMemArray<char> () from /opt/kde3/lib/libDCOP.so.4
#32 0x0f3022f4 in _kde_IceTransSocketRead (ciptr=<value optimized out>,
buf=0x0, size=2) at Xtranssock.c:1694
#33 0xffb0e7c4 in ?? ()
#34 0x103fd7e0 in ?? ()
#35 0x04020000 in ?? ()
Thread 2 (Thread 1120924896 (LWP 12616)):
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5c07a4 in *__GI___libc_free (mem=0x10ac9a78) at malloc.c:3402
#2 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#3 0x0ed41f3c in QImage::operator= (this=0x42cfdc08, image=@0x42cfd360)
at qimage.cpp:602
#4 0x0ed41f80 in QImageIO::setImage (this=0x4, image=@0x0) at qimage.cpp:4094
#5 0x0f044c04 in read_png_image (iio=0x42cfdc08) at qpngio.cpp:371
#6 0x0ed44ac4 in QImageIO::read (this=0x42cfdc08) at qimage.cpp:4461
#7 0x0ed4511c in QImage::load (this=0x42cfdc90,
fileName=<value optimized out>, format=<value optimized out>)
at qimage.cpp:3474
#8 0x100a5834 in ContextBrowser::makeShadowedImage (
albumImage=<value optimized out>) at contextbrowser.cpp:3069
#9 0x100a6d50 in CurrentTrackJob::doJob (this=0x10aa3e88)
at contextbrowser.cpp:1559
#10 0x101c00c0 in ThreadWeaver::Thread::run (this=0x106db070)
at threadweaver.cpp:231
#11 0x0ed00ea0 in QThreadInstance::start (_arg=0x106dc42c)
at qthread_unix.cpp:119
#12 0x0e85c9c8 in start_thread (arg=<value optimized out>)
at pthread_create.c:263
#13 0x0e61bf24 in clone () from /lib/tls/libc.so.6
Previous frame inner to this frame (corrupt stack?)
Thread 1 (Thread 1073880896 (LWP 6906)):
#0 0x0e629568 in __lll_lock_wait (futex=0xe694a0c) at lowlevellock.c:34
#1 0x0e5bebb4 in ptmalloc_lock_all () at arena.c:228
#2 0x0e5e8018 in __libc_fork () at fork.c:92
#3 0x0e866570 in __fork () at pt-fork.c:26
#4 0x101ea2cc in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e57de4c in *__GI_raise (sig=6) at raise.c:67
#7 0x0e57f930 in *__GI_abort () at abort.c:88
#8 0x0e5b7c90 in __libc_message (do_abort=2,
fmt=0xe675798 "*** glibc detected *** %s: 0x%s ***\n") at libc_fatal.c:145
#9 0x0e5bf9d4 in malloc_printerr (action=3,
str=0xe675860 "double free or corruption (fasttop)",
ptr=<value optimized out>) at malloc.c:5525
#10 0x0e5c0738 in *__GI___libc_free (mem=0x10ab0bc8) at malloc.c:3404
#11 0x0e804ae8 in operator delete () from /usr/lib/../lib/libstdc++.so.6
#12 0x0e804b40 in operator delete[] () from /usr/lib/../lib/libstdc++.so.6
#13 0x0f0a1444 in QString::deref (this=0x1040ca14) at qstring.h:363
#14 0x0f0a25f4 in QString::operator= (this=0x0, s=@0x1afa) at qstring.cpp:1594
#15 0x0f09c7a4 in QRegExp::prepareEngineForMatch (this=0x1040c9b8,
str=@0xfff0e688) at qregexp.cpp:3961
#16 0x0f09c9d8 in QRegExp::search (this=0x0, str=@0x1afa, offset=6,
caretMode=16384) at qregexp.cpp:3663
#17 0x0f09cab4 in QRegExp::search (this=0x0, str=@0x1afa, offset=6)
at qregexp.cpp:3624
#18 0x0ed44980 in QImageIO::imageFormat (d=0xfff0e6d8) at qimage.cpp:4310
#19 0x0ed44b2c in QImageIO::read (this=0xfff0ef38) at qimage.cpp:4435
#20 0x0ed4511c in QImage::load (this=0xfff0f000,
fileName=<value optimized out>, format=<value optimized out>)
at qimage.cpp:3474
#21 0x0ed4519c in QImage (this=0xfff0f000, fileName=@0xfff0f0d0, format=0x0)
at qimage.cpp:396
#22 0x10113e58 in amaroK::OSD::show (this=0x1069dc98, bundle=@0x1028b350)
at osd.cpp:546
#23 0x10042990 in App::engineNewMetaData (this=0xfff0fab8, bundle=@0x1028b350)
at app.cpp:869
#24 0x100de8ac in EngineSubject::newMetaDataNotify (this=0x1028b320,
bundle=@0x1028b350, trackChanged=true) at engineobserver.cpp:81
#25 0x100da334 in EngineController::play (this=0x1028b2f8, bundle=@0xfff0f32c)
at enginecontroller.cpp:360
#26 0x1012f3f0 in Playlist::activate (this=0x10505d70, item=0x108623c8)
at playlist.cpp:1239
#27 0x10130628 in Playlist::playNextTrack (this=0x10505d70, forceNext=8)
at playlist.cpp:896
#28 0x48424428 in ?? ()
#29 0x10136180 in Playlist::qt_invoke (this=0x10505d70, _id=118, _o=0xfff0f4a8)
at playlist.moc:348
#30 0x0ed788a4 in QObject::activate_signal (this=0x1028b2f8,
clist=<value optimized out>, o=0xfff0f4a8) at qobject.cpp:2355
#31 0x28424422 in ?? ()
#32 0x0ed79704 in QObject::activate_signal_bool (this=0x1028b2f8,
signal=<value optimized out>, param=<value optimized out>)
at qobject.cpp:2451
#33 0x100d79f8 in EngineController::orderNext (this=0x1028b2f8, t0=false)
at enginecontroller.moc:216
#34 0x100d7a68 in EngineController::next (this=0x0, forceNext=250)
at enginecontroller.cpp:297
#35 0x100d7d64 in EngineController::slotTrackEnded (this=0x0)
at enginecontroller.h:73
#36 0x100dcaa8 in EngineController::qt_invoke (this=0x1028b2f8, _id=27,
_o=0xfff0f5c8) at enginecontroller.moc:253
#37 0x0ed788a4 in QObject::activate_signal (this=0x108f2b78,
clist=<value optimized out>, o=0xfff0f5c8) at qobject.cpp:2355
#38 0x28424424 in ?? ()
#39 0x0ed78ef4 in QObject::activate_signal (this=0x0,
signal=<value optimized out>) at qobject.cpp:2324
#40 0x0d8c9ed8 in Engine::Base::trackEnded (this=0x108f2b78)
at enginebase.moc:109
#41 0x0d7bedec in XineEngine::customEvent (this=0x108f2b78, e=0x1afa)
at xine-engine.cpp:551
#42 0x0ed78608 in QObject::event (this=0x108f2b78, e=0x10ace9f0)
at qobject.cpp:755
#43 0x0ed0ab3c in QApplication::internalNotify (this=<value optimized out>,
receiver=0x108f2b78, e=0x10ace9f0) at qapplication.cpp:2636
#44 0x0ed0b920 in QApplication::notify (this=0xfff0fab8, receiver=0x108f2b78,
e=0x10ace9f0) at qapplication.cpp:2359
#45 0x28424424 in ?? ()
#46 0x0f4a2d80 in KApplication::notify (this=0xfff0fab8, receiver=0x108f2b78,
event=0x10ace9f0) at kapplication.cpp:551
#47 0x0ed0c758 in QApplication::sendPostedEvents (receiver=0x0, event_type=0)
at qapplication.h:515
#48 0x28000424 in ?? ()
#49 0x0ed0c8d8 in QApplication::sendPostedEvents () at qapplication.cpp:3202
#50 0x0ecb1ce4 in QEventLoop::processEvents (this=0x103ac220, flags=4)
at qeventloop_x11.cpp:144
#51 0x28000422 in ?? ()
#52 0x0ed24e90 in QEventLoop::enterLoop (this=0x103ac220) at qeventloop.cpp:198
#53 0x0ed24cbc in QEventLoop::exec (this=0x0) at qeventloop.cpp:145
#54 0x0ed0a2f0 in QApplication::exec (this=<value optimized out>)
at qapplication.cpp:2759
#55 0x101e256c in main (argc=3, argv=0xfff0fe14) at main.cpp:94
#56 0x0e567a54 in generic_start_main (main=0x101e2194 <main>, argc=3,
ubp_av=0xfff0fe14, auxvec=0xfff0ffa8, init=0x10232a14 <__libc_csu_init>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at libc-start.c:209
#57 0x0e567be4 in __libc_start_main (argc=0, ubp_av=0x6,
ubp_ev=<value optimized out>, auxvec=0x4000, rtld_fini=0,
stinfo=<value optimized out>, stack_on_entry=0x0) at libc-start.c:97
#0 0x0e355f64 in __waitpid_nocancel () from /lib/power4/libc.so.6
#1 0x0e317b60 in _IO_new_proc_close (fp=0xf3120fb8) at iopopen.c:276
#2 0x48424282 in ?? ()
#3 0x0e3268fc in _IO_new_file_close_it (fp=0xf3120fb8) at fileops.c:174
#4 0x0e314f88 in _IO_new_fclose (fp=0xf3120fb8) at iofclose.c:62
#5 0x0e320e94 in __new_pclose (fp=0x200) at pclose.c:43
#6 0x101fc6d0 in runCommand (command=<value optimized out>)
at crashhandler.cpp:56
#7 0x101fcb60 in amaroK::Crash::crashHandler () at crashhandler.cpp:137
#8 <signal handler called>
#9 *__GI___libc_free (mem=0x590031) at malloc.c:3429
#10 0x0e5c9e4c in operator delete () from /usr/lib/../lib/libstdc++.so.6
#11 0x0e5c9ec4 in operator delete[] () from /usr/lib/../lib/libstdc++.so.6
#12 0x0ee8d49c in QStringData::deleteSelf (this=0xff80edd0) at qstring.h:363
#13 0x101370dc in Playlist::scoreChanged (this=0x103bc448, path=@0xf3103fb0,
score=98) at qstring.h:848
#14 0x10140488 in Playlist::qt_invoke (this=0x103bc448, _id=126, _o=0xff80ee68)
at playlist.moc:356
#15 0x0eb487a0 in QObject::activate_signal (this=0x102a57bc,
clist=<value optimized out>, o=0xff80ee68) at qobject.cpp:2380
#16 0x88424422 in ?? ()
#17 0x100617c4 in CollectionDB::scoreChanged (this=<value optimized out>,
t0=<value optimized out>, t1=<value optimized out>) at collectiondb.moc:191
#18 0x10088150 in CollectionDB::addSongPercentage (this=0x102a57bc,
url=@0xff80f008, percentage=-8327364) at collectiondb.cpp:1368
#19 0x1008897c in CollectionDB::engineTrackEnded (this=0x102a57bc,
finalPosition=251000, trackLength=251000) at collectiondb.cpp:1807
#20 0x100e6c88 in EngineSubject::trackEnded (this=<value optimized out>,
finalPosition=251000, trackLength=251000) at engineobserver.cpp:89
#21 0x100e0b64 in EngineController::play (this=0x102a58c0, bundle=@0xff80f13c)
at enginecontroller.cpp:322
#22 0x10138870 in Playlist::activate (this=0x103bc448, item=0x1082b450)
at playlist.cpp:1239
#23 0x1013b828 in Playlist::playNextTrack (this=0x103bc448, forceNext=192)
at playlist.cpp:896
#24 0x44424248 in ?? ()
#25 0x101403e0 in Playlist::qt_invoke (this=0x103bc448, _id=118, _o=0xff80f2b8)
at playlist.moc:348
#26 0x0eb488a0 in QObject::activate_signal (this=0x102a58c0,
clist=<value optimized out>, o=0xff80f2b8) at qobject.cpp:2356
#27 0x24424244 in ?? ()
#28 0x0eb48b10 in QObject::activate_signal_bool (this=0x590029,
signal=<value optimized out>, param=<value optimized out>)
at qobject.cpp:2452
#29 0x100df498 in EngineController::orderNext (this=0x102a58c0, t0=false)
at enginecontroller.moc:216
#30 0x100df52c in EngineController::next (this=0x590029, forceNext=80)
at enginecontroller.cpp:297
#31 0x100dfad4 in EngineController::slotTrackEnded (this=0x590029)
at enginecontroller.h:73
#32 0x100e5188 in EngineController::qt_invoke (this=0x102a58c0, _id=27,
_o=0xff80f3d8) at enginecontroller.moc:253
#33 0x0eb488a0 in QObject::activate_signal (this=0x108aad28,
clist=<value optimized out>, o=0xff80f3d8) at qobject.cpp:2356
#34 0x24424244 in ?? ()
#35 0x0eb492d4 in QObject::activate_signal (this=0x590029,
signal=<value optimized out>) at qobject.cpp:2325
#36 0x0d63efe8 in Engine::Base::trackEnded (this=0x108aad28)
at enginebase.moc:109
#37 0x0d51ce7c in XineEngine::customEvent ()
from /opt/kde3/lib/kde3/libamarok_xine-engine.so
#38 0x0eb47c18 in QObject::event (this=0x108aad28, e=0x10bee3e0)
at qobject.cpp:755
#39 0x0ead6030 in QApplication::internalNotify (this=<value optimized out>,
receiver=0x108aad28, e=0x10bee3e0) at qapplication.cpp:2636
#40 0x0ead7130 in QApplication::notify (this=0xff80f858, receiver=0x108aad28,
e=0x10bee3e0) at qapplication.cpp:2359
#41 0x24424224 in ?? ()
#42 0x0f35e100 in KApplication::notify (this=0xff80f858, receiver=0x108aad28,
event=0x10bee3e0) at kapplication.cpp:552
#43 0x0ead7c1c in QApplication::sendPostedEvents (receiver=0x0, event_type=0)
at qapplication.h:520
#44 0x24000224 in ?? ()
#45 0x0ead7dac in QApplication::sendPostedEvents () at qapplication.cpp:3211
#46 0x0ea7bd6c in QEventLoop::processEvents (this=0x103123f0, flags=4)
at qeventloop_x11.cpp:144
#47 0x24000222 in ?? ()
#48 0x0eaf0d08 in QEventLoop::enterLoop (this=0x590029) at qeventloop.cpp:198
#49 0x0eaf0a8c in QEventLoop::exec (this=0x590029) at qeventloop.cpp:145
#50 0x0ead5804 in QApplication::exec (this=<value optimized out>)
at qapplication.cpp:2759
#51 0x101f4560 in main (argc=3, argv=0xff80fbe4) at main.cpp:94
#52 0x0e2cc7f0 in generic_start_main (main=0x101f4180 <main>, argc=3,
ubp_av=0xff80fbe4, auxvec=0xff80fda8, init=<value optimized out>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at libc-start.c:231
#53 0x0e2cca4c in __libc_start_main (argc=3, ubp_av=0xff80fbe4,
ubp_ev=<value optimized out>, auxvec=0xff80fda8,
rtld_fini=0xf7fefac0 <_dl_fini>, stinfo=0x102530b8,
stack_on_entry=0xff80fbd0) at libc-start.c:127
Thread 2 (Thread -268438320 (LWP 8988)):
#0 0x0e39abd8 in __lll_lock_wait (futex=0xe40f490) at lowlevellock.c:34
#1 0x0e32a08c in ptmalloc_lock_all () at arena.c:250
#2 0x0e355dfc in __libc_fork () at fork.c:92
#3 0x0e62fe34 in __fork () at ../nptl/sysdeps/unix/sysv/linux/pt-fork.c:26
#4 0x101fc6b0 in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 malloc_consolidate (av=0xe40f490) at malloc.c:4562
#7 0x0e32c784 in _int_malloc (av=0xe40f490, bytes=1152) at malloc.c:3964
#8 0x22004822 in ?? ()
#9 0x0e32ea34 in *__GI___libc_malloc (bytes=1152) at malloc.c:3382
#10 0x0db214f8 in png_create_struct_2 (type=<value optimized out>,
malloc_fn=0, mem_ptr=0x0) at pngmem.c:367
#11 0x0db0c35c in png_create_read_struct_2 (user_png_ver=0xefdca3c "1.2.8",
error_ptr=0x0, error_fn=0, warn_fn=0, mem_ptr=0x0, malloc_fn=0,
free_fn=0xb0000000) at pngread.c:48
#12 0x0db0c640 in png_create_read_struct (user_png_ver=0xe40f490 "",
error_ptr=0x480, error_fn=0, warn_fn=0) at pngread.c:24
#13 0x0ee2d61c in read_png_image (iio=0xefffd9b8) at kernel/qpngio.cpp:265
#14 0x0eb11648 in QImageIO::read (this=0xefffd9b8) at kernel/qimage.cpp:4462
#15 0x0eb12184 in QImage::load (this=0xefffda40,
fileName=<value optimized out>, format=<value optimized out>)
at kernel/qimage.cpp:3474
#16 0x1009b324 in ContextBrowser::makeShadowedImage (
albumImage=<value optimized out>) at contextbrowser.cpp:3069
#17 0x100b56c8 in CurrentTrackJob::doJob (this=0x105df8b8)
at contextbrowser.cpp:1559
#18 0x101d0120 in ThreadWeaver::Thread::run (this=0x106dfde8)
at threadweaver.cpp:231
#19 0x0eacc360 in QThreadInstance::start (_arg=<value optimized out>)
at kernel/qthread_unix.cpp:119
#20 0x0e624f90 in start_thread (arg=<value optimized out>)
at pthread_create.c:308
#21 0x0e38cc94 in clone () from /lib/power4/libc.so.6
Thread 1 (Thread -134569984 (LWP 4816)):
#0 0x0e39abd8 in __lll_lock_wait (futex=0xe40f490) at lowlevellock.c:34
#1 0x0e32be44 in *__GI___libc_free (mem=0x108729c0) at malloc.c:3445
#2 0x0e5c8e4c in operator delete () from /usr/lib/../lib/libstdc++.so.6
#3 0x0e5c8ec4 in operator delete[] () from /usr/lib/../lib/libstdc++.so.6
#4 0x0ee8d50c in QStringData::deleteSelf (this=0x4) at qstring.h:363
#5 0x1011bc94 in amaroK::OSD::show (this=0x1070f768, bundle=@0x102a58b0)
at qstring.h:848
#6 0x10042df0 in App::engineNewMetaData (this=0xffe4e858, bundle=@0x102a58b0)
at app.cpp:869
#7 0x100e6ed4 in EngineSubject::newMetaDataNotify (this=0x102a5880,
bundle=@0x102a58b0, trackChanged=true) at engineobserver.cpp:81
#8 0x100e0de8 in EngineController::play (this=0x102a5858, bundle=@0xffe4e1dc)
at enginecontroller.cpp:360
#9 0x101387b0 in Playlist::activate (this=0x103bc4d8, item=0x10864db0)
at playlist.cpp:1239
#10 0x1013b768 in Playlist::playNextTrack (this=0x103bc4d8, forceNext=152)
at playlist.cpp:896
#11 0x42004428 in ?? ()
#12 0x10140320 in Playlist::qt_invoke (this=0x103bc4d8, _id=118, _o=0xffe4e358)
at playlist.moc:348
#13 0x0eb488c0 in QObject::activate_signal (this=0x102a5858,
clist=<value optimized out>, o=0xffe4e358) at kernel/qobject.cpp:2356
#14 0x22004424 in ?? ()
#15 0x0eb48b30 in QObject::activate_signal_bool (this=0x4,
signal=<value optimized out>, param=<value optimized out>)
at kernel/qobject.cpp:2452
#16 0x100df3c8 in EngineController::orderNext (this=0x102a5858, t0=false)
at enginecontroller.moc:216
#17 0x100df45c in EngineController::next (this=0x4, forceNext=false)
at enginecontroller.cpp:297
#18 0x100df944 in EngineController::slotMainTimer (this=0x4)
at enginecontroller.h:73
#19 0x100e50a4 in EngineController::qt_invoke (this=0x102a5858, _id=26,
_o=0xffe4e488) at enginecontroller.moc:252
#20 0x0eb488c0 in QObject::activate_signal (this=0x103739d8,
clist=<value optimized out>, o=0xffe4e488) at kernel/qobject.cpp:2356
#21 0x24004284 in ?? ()
#22 0x0eb492f4 in QObject::activate_signal (this=0x4,
signal=<value optimized out>) at kernel/qobject.cpp:2325
#23 0x0eefef48 in QTimer::timeout (this=0x103739d8)
at .moc/release-shared-mt/moc_qtimer.cpp:82
#24 0x0eb727e4 in QTimer::event (this=0x103739d8, e=0x0)
at kernel/qtimer.cpp:219
#25 0x0ead6030 in QApplication::internalNotify (this=<value optimized out>,
receiver=0x103739d8, e=0xffe4e680) at kernel/qapplication.cpp:2636
#26 0x0ead7130 in QApplication::notify (this=0xffe4e858, receiver=0x103739d8,
e=0xffe4e680) at kernel/qapplication.cpp:2359
#27 0x44004288 in ?? ()
#28 0x0f35e100 in KApplication::notify (this=0xffe4e858, receiver=0x103739d8,
event=0xffe4e680) at kapplication.cpp:552
#29 0x0eac7ab8 in QEventLoop::activateTimers (this=<value optimized out>)
at qapplication.h:520
#30 0x0ea7c094 in QEventLoop::processEvents (this=0x10312598,
flags=<value optimized out>) at kernel/qeventloop_x11.cpp:389
#31 0x24000222 in ?? ()
#32 0x0eaf0d08 in QEventLoop::enterLoop (this=0x4) at kernel/qeventloop.cpp:198
#33 0x0eaf0a8c in QEventLoop::exec (this=0x4) at kernel/qeventloop.cpp:145
#34 0x0ead5804 in QApplication::exec (this=<value optimized out>)
at kernel/qapplication.cpp:2759
#35 0x101f44b0 in main (argc=3, argv=0xffe4ebe4) at main.cpp:94
#36 0x0e2cb7f0 in generic_start_main (main=0x101f40d0 <main>, argc=3,
ubp_av=0xffe4ebe4, auxvec=0xffe4eda8, init=<value optimized out>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at libc-start.c:231
#37 0x0e2cba4c in __libc_start_main (argc=3, ubp_av=0xffe4ebe4,
ubp_ev=<value optimized out>, auxvec=0xffe4eda8,
rtld_fini=0xf7fefac0 <_dl_fini>, stinfo=0x10252ff8,
stack_on_entry=0xffe4ebd0)
at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:127
Thread 2 (Thread -205523760 (LWP 5110)):
#0 0x0e395bd8 in __lll_lock_wait (futex=0xe40a490) at lowlevellock.c:34
#1 0x0e326e44 in *__GI___libc_free (mem=0x1034a4f0) at malloc.c:3445
#2 0x0e5c3f8c in operator delete (ptr=0x4)
at ../../../../libstdc++-v3/libsupc++/del_op.cc:49
#3 0x0e5c4004 in operator delete[] (ptr=0x4)
at ../../../../libstdc++-v3/libsupc++/del_opv.cc:37
#4 0x0ee8d50c in QStringData::deleteSelf (this=0x10348590) at qstring.h:363
#5 0x10049eb0 in ~QValueListPrivate (this=0x10343c60) at qstring.h:848
#6 0x0f39e9bc in QDict<QStringList>::deleteItem (this=<value optimized out>,
d=0x0) at qvaluelist.h:235
#7 0x0ee68954 in QGDict::remove_string (this=0x103205d8,
key=<value optimized out>, item=<value optimized out>)
at tools/qgdict.cpp:673
#8 0x0f301934 in KStandardDirs::saveLocation (this=0x10320598,
type=0x10269ddc "data", suffix=@0xf3bfd9dc, create=true) at qdict.h:68
#9 0x10041d88 in amaroK::saveLocation (directory=@0xf3bfda38) at app.cpp:1038
#10 0x100975a8 in ContextBrowser::makeShadowedImage (
albumImage=<value optimized out>) at contextbrowser.cpp:3066
#11 0x100b2c18 in CurrentTrackJob::doJob (this=0x10af70f0)
at contextbrowser.cpp:1559
#12 0x101d0150 in ThreadWeaver::Thread::run (this=0x106dfbb0)
at threadweaver.cpp:231
#13 0x0eacc360 in QThreadInstance::start (_arg=<value optimized out>)
at kernel/qthread_unix.cpp:119
#14 0x0e624f90 in start_thread (arg=<value optimized out>)
at pthread_create.c:308
#15 0x0e387c94 in clone () from /lib/power4/libc.so.6
Previous frame inner to this frame (corrupt stack?)
Thread 1 (Thread -134569984 (LWP 4806)):
#0 0x0e395bd8 in __lll_lock_wait (futex=0xe40a490) at lowlevellock.c:34
#1 0x0e32508c in ptmalloc_lock_all () at arena.c:250
#2 0x0e350dfc in __libc_fork () at fork.c:92
#3 0x0e62fe34 in __fork () at ../nptl/sysdeps/unix/sysv/linux/pt-fork.c:26
#4 0x101fc3a0 in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e2de780 in *__GI_raise (sig=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7 0x0e2e0214 in *__GI_abort () at abort.c:88
#8 0x0e31d464 in __libc_message (do_abort=2,
fmt=0xe3e7ea0 "*** glibc detected *** %s: %s: 0x%s ***\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:170
#9 0x0e325184 in malloc_printerr (action=3,
str=0xe3e8098 "malloc(): memory corruption (fast)",
ptr=<value optimized out>) at malloc.c:5616
#10 0x0e327f3c in _int_malloc (av=0xe40a490, bytes=20) at malloc.c:3907
#11 0x28004482 in ?? ()
#12 0x0e329a34 in *__GI___libc_malloc (bytes=20) at malloc.c:3382
#13 0x0e5c5dec in operator new (sz=20)
at ../../../../libstdc++-v3/libsupc++/new_op.cc:57
#14 0x0ee8c858 in QString::setLength (this=0xfff4f69c, newLen=25)
at tools/qstring.cpp:1708
#15 0x0ee8ca18 in QString::grow (this=0x0, newLen=4806)
at tools/qstring.cpp:1794
#16 0x0ee905d8 in QString::operator+= (this=0x0, str=@0xfff4f6e8)
at tools/qstring.cpp:5514
#17 0x10041d70 in amaroK::saveLocation (directory=@0xfff4f6e8)
at qstring.h:1038
#18 0x1006e7d4 in CollectionDB::findImageByArtistAlbum (this=0x102a53c4,
artist=@0xfff4f9d0, album=@0xfff4f9d4, width=0) at collectiondb.cpp:854
#19 0x1006ed08 in CollectionDB::albumImage (this=0x102a53c4, artist=@0x6,
album=@0xfff4f9d4, width=0) at collectiondb.cpp:880
#20 0x1006f1bc in CollectionDB::albumImage (this=0x102a53c4,
trackInformation=<value optimized out>, width=0) at collectiondb.cpp:900
#21 0x1011bfbc in amaroK::OSD::show (this=0x10722120, bundle=@0x102a5520)
at osd.cpp:541
#22 0x10041640 in App::engineNewMetaData (this=0xfff50858, bundle=@0x102a5520)
at app.cpp:869
#23 0x100e74e4 in EngineSubject::newMetaDataNotify (this=0x102a54f0,
bundle=@0x102a5520, trackChanged=true) at engineobserver.cpp:81
#24 0x100e4028 in EngineController::play (this=0x102a54c8, bundle=@0xfff4fc0c)
at enginecontroller.cpp:360
#25 0x101389e0 in Playlist::activate (this=0x103bc5b8, item=0x108acb18)
at playlist.cpp:1239
#26 0x1013bf7c in Playlist::playCurrentTrack (this=0x103bc5b8)
at playlist.cpp:976
#27 0x10140520 in Playlist::qt_invoke (this=0x103bc5b8, _id=116, _o=0xfff4fd08)
at playlist.moc:346
#28 0x0eb488c0 in QObject::activate_signal (this=0x102a54c8,
clist=<value optimized out>, o=0xfff4fd08) at kernel/qobject.cpp:2356
#29 0x28004484 in ?? ()
#30 0x0eb492f4 in QObject::activate_signal (this=0x0,
signal=<value optimized out>) at kernel/qobject.cpp:2325
#31 0x100df3dc in EngineController::orderCurrent (this=0x102a54c8)
at enginecontroller.moc:210
#32 0x100df44c in EngineController::play (this=0x0) at enginecontroller.cpp:307
#33 0x101f5af8 in amaroK::DcopPlayerHandler::play (this=<value optimized out>)
at amarokdcophandler.cpp:309
#34 0x1020196c in AmarokPlayerInterface::process (this=0x10366188,
fun=@0xfff50198, data=@0xfff501a0, replyType=@0xfff501a8,
replyData=@0xfff501b0) at amarokdcopiface_skel.cpp:392
#35 0x0f14e350 in DCOPClient::receive (this=0x10363490, objId=@0xfff50190,
fun=@0xfff50198, data=@0xfff501a0, replyType=@0xfff501a8,
replyData=@0xfff501b0) at dcopclient.cpp:1642
#36 0x48002488 in ?? ()
#37 0x0f150400 in DCOPProcessInternal (d=0x103650a8, opcode=2, key=91,
dataReceived=<value optimized out>, canPost=true) at dcopclient.cpp:520
#38 0x0f150eb0 in DCOPProcessMessage (iceConn=0x10363a18,
clientObject=0x103650a8, opcode=2, length=56,
replyWait=<value optimized out>, replyWaitRet=0xfff502fc)
at dcopclient.cpp:432
#39 0x0f16267c in KDE_IceProcessMessages (iceConn=0x10363a18, replyWait=0x0,
replyReadyRet=0x0)
at /usr/src/debug/kdelibs-3.5.1/dcop/KDE-ICE/process.c:326
#40 0x44004444 in ?? ()
#41 0x0f145b88 in DCOPClient::processSocketData (this=0x10363490,
fd=<value optimized out>) at dcopclient.cpp:2011
#42 0x0f150ac4 in DCOPClient::qt_invoke (this=0x10363490, _id=2, _o=0xfff50448)
at dcopclient.moc:176
#43 0x0eb488c0 in QObject::activate_signal (this=0x10364d78,
clist=<value optimized out>, o=0xfff50448) at kernel/qobject.cpp:2356
#44 0x24004444 in ?? ()
#45 0x0eb49130 in QObject::activate_signal (this=0x0,
signal=<value optimized out>, param=<value optimized out>)
at kernel/qobject.cpp:2449
#46 0x0eefd654 in QSocketNotifier::activated (this=0x10364d78, t0=10)
at .moc/release-shared-mt/moc_qsocketnotifier.cpp:85
#47 0x0eb6bde8 in QSocketNotifier::event (this=0x0, e=0xfff50680)
at kernel/qsocketnotifier.cpp:258
#48 0x0ead6030 in QApplication::internalNotify (this=<value optimized out>,
receiver=0x10364d78, e=0xfff50680) at kernel/qapplication.cpp:2636
#49 0x0ead7130 in QApplication::notify (this=0xfff50858, receiver=0x10364d78,
e=0xfff50680) at kernel/qapplication.cpp:2359
#50 0x44004424 in ?? ()
#51 0x0f35e100 in KApplication::notify (this=0xfff50858, receiver=0x10364d78,
event=0xfff50680) at kapplication.cpp:552
#52 0x0eac7328 in QEventLoop::activateSocketNotifiers (this=0x103125d8)
at qapplication.h:520
#53 0x0ea7bfc8 in QEventLoop::processEvents (this=0x103125d8,
flags=<value optimized out>) at kernel/qeventloop_x11.cpp:383
#54 0x28000422 in ?? ()
#55 0x0eaf0d08 in QEventLoop::enterLoop (this=0x0) at kernel/qeventloop.cpp:198
#56 0x0eaf0a8c in QEventLoop::exec (this=0x0) at kernel/qeventloop.cpp:145
#57 0x0ead5804 in QApplication::exec (this=<value optimized out>)
at kernel/qapplication.cpp:2759
#58 0x101f41a0 in main (argc=3, argv=0xfff50be4) at main.cpp:94
#59 0x0e2c67f0 in generic_start_main (main=0x101f3dc0 <main>, argc=3,
ubp_av=0xfff50be4, auxvec=0xfff50da8, init=<value optimized out>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at libc-start.c:231
#60 0x0e2c6a4c in __libc_start_main (argc=3, ubp_av=0xfff50be4,
ubp_ev=<value optimized out>, auxvec=0xfff50da8,
rtld_fini=0xf7fefac0 <_dl_fini>, stinfo=0x10252cd8,
stack_on_entry=0xfff50bd0)
thanks. valgrind still not working ? I spent a few days fixing the issues on the ppc32 machine I found in autobuild. can you run amarok $MALLOC_CHECK_=2 exported please? also, I think I found one possible reason for qstring corruption. please try /mounts/mbuild/oldboy-dmueller-1946/kglobal-mutex.diff Tell me when it compiles. try oldboy-dmueller-1949
Thread 2 (Thread -267954992 (LWP 5654)):
#0 0x0e395bd8 in __lll_lock_wait (futex=0xe40a490) at lowlevellock.c:34
#1 0x0e326e44 in *__GI___libc_free (mem=0x10a8d838) at malloc.c:3445
#2 0x0e30f458 in _IO_new_fclose (fp=0x10a8d838) at iofclose.c:88
#3 0x0ee450b8 in QFile::close (this=0xf0073148) at tools/qfile_unix.cpp:730
#4 0x0eb117dc in QImageIO::read (this=0xf00739b8) at kernel/qimage.cpp:4472
#5 0x0eb12184 in QImage::load (this=0xf0073a40,
fileName=<value optimized out>, format=<value optimized out>)
at kernel/qimage.cpp:3474
#6 0x10097854 in ContextBrowser::makeShadowedImage (
albumImage=<value optimized out>) at contextbrowser.cpp:3069
#7 0x100bb32c in CurrentTrackJob::doJob (this=0x106d8058)
at contextbrowser.cpp:1910
#8 0x101d0190 in ThreadWeaver::Thread::run (this=0x106efc00)
at threadweaver.cpp:231
#9 0x0eacc360 in QThreadInstance::start (_arg=<value optimized out>)
at kernel/qthread_unix.cpp:119
#10 0x0e624f90 in start_thread (arg=<value optimized out>)
at pthread_create.c:308
#11 0x0e387c94 in clone () from /lib/power4/libc.so.6
Thread 1 (Thread -134569984 (LWP 4807)):
#0 0x0e395bd8 in __lll_lock_wait (futex=0xf7500010) at lowlevellock.c:34
#1 0x0e32508c in ptmalloc_lock_all () at arena.c:250
#2 0x0e350dfc in __libc_fork () at fork.c:92
#3 0x0e62fe34 in __fork () at ../nptl/sysdeps/unix/sysv/linux/pt-fork.c:26
#4 0x101fc3e0 in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e2de780 in *__GI_raise (sig=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7 0x0e2e0214 in *__GI_abort () at abort.c:88
#8 0x0e31d464 in __libc_message (do_abort=2,
fmt=0xe3e7ea0 "*** glibc detected *** %s: %s: 0x%s ***\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:170
#9 0x0e325184 in malloc_printerr (action=3,
str=0xe3e8098 "malloc(): memory corruption (fast)",
ptr=<value optimized out>) at malloc.c:5616
#10 0x0e327f3c in _int_malloc (av=0xf7500010, bytes=16) at malloc.c:3907
#11 0x24004422 in ?? ()
#12 0x0e329a34 in *__GI___libc_malloc (bytes=16) at malloc.c:3382
#13 0x0ee62fb8 in QGArray (this=0xf7571bdc, size=16) at tools/qgarray.cpp:146
#14 0x0ea96e58 in QRegion (this=<value optimized out>, r=@0xfff8b2fc,
t=QRegion::Rectangle) at qmemarray.h:59
#15 0x0eaa0c58 in QWidget::repaint (this=0x103bd768, x=0, y=209, w=884, h=dwarf2_read_address: Corrupted DWARF expression.
)
at qevent.h:335
#16 0x0ec509c8 in QListView::updateDirtyItems (this=0x103bce00)
at qwidget.h:839
#17 0x0ef13c2c in QListView::qt_invoke (this=0x103bce00, _id=74, _o=0xfff8b488)
at .moc/release-shared-mt/moc_qlistview.cpp:618
#18 0x0f6fd770 in KListView::qt_invoke (this=0x103bce00, _id=74, _o=0xfff8b488)
at klistview.moc:579
#19 0x10140500 in Playlist::qt_invoke (this=0x103bce00, _id=74, _o=0xfff8b488)
at playlist.moc:387
#20 0x0eb488c0 in QObject::activate_signal (this=0x103becb8,
clist=<value optimized out>, o=0xfff8b488) at kernel/qobject.cpp:2356
#21 0x24004484 in ?? ()
#22 0x0eb492f4 in QObject::activate_signal (this=0x0,
signal=<value optimized out>) at kernel/qobject.cpp:2325
#23 0x0eefef48 in QTimer::timeout (this=0x103becb8)
at .moc/release-shared-mt/moc_qtimer.cpp:82
#24 0x0eb727e4 in QTimer::event (this=0x103becb8, e=0x12c7)
at kernel/qtimer.cpp:219
#25 0x0ead6030 in QApplication::internalNotify (this=<value optimized out>,
receiver=0x103becb8, e=0xfff8b680) at kernel/qapplication.cpp:2636
#26 0x0ead7130 in QApplication::notify (this=0xfff8b858, receiver=0x103becb8,
e=0xfff8b680) at kernel/qapplication.cpp:2359
#27 0x84004448 in ?? ()
#28 0x0f35e100 in KApplication::notify (this=0xfff8b858, receiver=0x103becb8,
event=0xfff8b680) at kapplication.cpp:552
#29 0x0eac7ab8 in QEventLoop::activateTimers (this=<value optimized out>)
at qapplication.h:520
#30 0x0ea7c094 in QEventLoop::processEvents (this=0x10312558,
flags=<value optimized out>) at kernel/qeventloop_x11.cpp:389
#31 0x28000222 in ?? ()
#32 0x0eaf0d08 in QEventLoop::enterLoop (this=0x0) at kernel/qeventloop.cpp:198
#33 0x0eaf0a8c in QEventLoop::exec (this=0x0) at kernel/qeventloop.cpp:145
#34 0x0ead5804 in QApplication::exec (this=<value optimized out>)
at kernel/qapplication.cpp:2759
#35 0x101f41e0 in main (argc=3, argv=0xfff8bbe4) at main.cpp:94
#36 0x0e2c67f0 in generic_start_main (main=0x101f3e00 <main>, argc=3,
ubp_av=0xfff8bbe4, auxvec=0xfff8bda8, init=<value optimized out>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at libc-start.c:231
#37 0x0e2c6a4c in __libc_start_main (argc=3, ubp_av=0xfff8bbe4,
ubp_ev=<value optimized out>, auxvec=0xfff8bda8,
rtld_fini=0xf7fefac0 <_dl_fini>, stinfo=0x10252d18,
stack_on_entry=0xfff8bbd0)
at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:127
hmm, this is getting annoying.. please tar up $KDEHOME/share/apps/amarok/covershadow-cache/ and attach it to this bugreport. does it help if you delete this folder? > does it help if you delete this folder?
Surely not, it is rewritten for every played title.
$ ll .kde/share/apps/amarok/covershadow-cache/
total 28
-rw-r--r-- 1 andreas andreas 849 Apr 15 19:59 shadow_albumcover106x104.png
-rw-r--r-- 1 andreas andreas 858 Apr 15 19:54 shadow_albumcover106x106.png
-rw-r--r-- 1 andreas andreas 772 Apr 15 20:03 shadow_albumcover106x91.png
-rw-r--r-- 1 andreas andreas 313 Apr 15 20:03 shadow_albumcover53x45.png
-rw-r--r-- 1 andreas andreas 338 Apr 15 19:54 shadow_albumcover53x53.png
-rw-r--r-- 1 andreas andreas 379 Apr 15 19:54 shadow_albumcover60x60.png
-rw-r--r-- 1 andreas andreas 455 Apr 15 20:03 shadow_albumcover69x60.png
Looks like QDir is not thread safe? Thread 2 (Thread 4089443536 (LWP 5278)): #0 0x0e396638 in __lll_lock_wait (futex=0xe40b490) at ../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34 #1 0x0e325adc in ptmalloc_lock_all () at arena.c:250 #2 0x0e35185c in __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/powerpc/../i386/../fork.c:92 #3 0x0e630e54 in __fork () at ../nptl/sysdeps/unix/sysv/linux/pt-fork.c:26 #4 0x101fc3d0 in amaroK::Crash::crashHandler () at crashhandler.cpp:66 #5 <signal handler called> #6 0x0e2df780 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #7 0x0e2e1214 in *__GI_abort () at abort.c:88 #8 0x0e31deb4 in __libc_message (do_abort=2, fmt=0xe3e8940 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:170 #9 0x0e325bd4 in malloc_printerr (action=3, str=0xe3e8ab0 "double free or corruption (fasttop)", ptr=<value optimized out>) at malloc.c:5616 #10 0x0e327828 in *__GI___libc_free (mem=0x10409060) at malloc.c:3447 #11 0x0e5c4f8c in operator delete (ptr=0x0) at ../../../../libstdc++-v3/libsupc++/del_op.cc:49 #12 0x0e5c5004 in operator delete[] (ptr=0x0) at ../../../../libstdc++-v3/libsupc++/del_opv.cc:37 #13 0x0ee8b3a8 in QString::deref (this=0xf3bfd978) at tools/qstring.h:363 #14 0x0ee8ba40 in QString::setLength (this=0xf3bfd978, newLen=12) at tools/qstring.cpp:1707 #15 0x0ee8bc08 in QString::grow (this=0x0, newLen=5278) at tools/qstring.cpp:1794 #16 0x0ee90fd4 in QString::operator+= (this=0xf3bfd978, c=47 '/') at tools/qstring.cpp:5585 #17 0x0ee5de3c in QDir::filePath (this=0x102a5440, fileName=@0xf3bfd9c0, acceptAbsPath=<value optimized out>) at tools/qdir.cpp:379 #18 0x1006dc0c in CollectionDB::notAvailCover (this=0x102a53f4, width=<value optimized out>) at collectiondb.cpp:1006 #19 0x1006ed54 in CollectionDB::albumImage (this=0x102a53f4, artist=<value optimized out>, album=@0xf3bfe5bc, width=100) at collectiondb.cpp:881 #20 0x1006f1bc in CollectionDB::albumImage (this=0x102a53f4, trackInformation=<value optimized out>, width=1) at collectiondb.cpp:900 #21 0x100ae8a8 in CurrentTrackJob::doJob (this=0x1039f540) at contextbrowser.cpp:1553 #22 0x101d0180 in ThreadWeaver::Thread::run (this=0x106dfe48) at threadweaver.cpp:231 #23 0x0eacb390 in QThreadInstance::start (_arg=<value optimized out>) at kernel/qthread_unix.cpp:119 #24 0x0e625c80 in start_thread (arg=<value optimized out>) at pthread_create.c:308 #25 0x0e3886f4 in clone () from /lib/power4/libc.so.6 Thread 1 (Thread 4160397312 (LWP 4822)): #0 0x0e396638 in __lll_lock_wait (futex=0xe40b490) at ../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34 #1 0x0e327894 in *__GI___libc_free (mem=0x10409060) at malloc.c:3445 #2 0x0e5c4f8c in operator delete (ptr=0x4) at ../../../../libstdc++-v3/libsupc++/del_op.cc:49 #3 0x0e5c5004 in operator delete[] (ptr=0x4) at ../../../../libstdc++-v3/libsupc++/del_opv.cc:37 #4 0x0ee8b3a8 in QString::deref (this=0xff8fa6c8) at tools/qstring.h:363 #5 0x0ee8ba40 in QString::setLength (this=0xff8fa6c8, newLen=12) at tools/qstring.cpp:1707 #6 0x0ee8bc08 in QString::grow (this=0x4, newLen=0) at tools/qstring.cpp:1794 #7 0x0ee90fd4 in QString::operator+= (this=0xff8fa6c8, c=47 '/') at tools/qstring.cpp:5585 #8 0x0ee5de3c in QDir::filePath (this=0x102a5440, fileName=@0xff8fa750, acceptAbsPath=<value optimized out>) at tools/qdir.cpp:379 #9 0x0ee5d2b0 in QDir::exists (this=0x0, name=@0x2, acceptAbsPath=false) at tools/qdir.cpp:1080 #10 0x1006da60 in CollectionDB::notAvailCover (this=0x102a53f4, width=100) at collectiondb.cpp:1002 #11 0x1006ed54 in CollectionDB::albumImage (this=0x102a53f4, artist=<value optimized out>, album=@0xff8fa9d4, width=0) at collectiondb.cpp:881 #12 0x1006f1bc in CollectionDB::albumImage (this=0x102a53f4, trackInformation=<value optimized out>, width=0) at collectiondb.cpp:900 #13 0x1011bfec in amaroK::OSD::show (this=0x106f7990, bundle=@0x102a5550) at osd.cpp:541 #14 0x10041640 in App::engineNewMetaData (this=0xff8fb858, bundle=@0x102a5550) at app.cpp:869 #15 0x100e7514 in EngineSubject::newMetaDataNotify (this=0x102a5520, bundle=@0x102a5550, trackChanged=true) at engineobserver.cpp:81 #16 0x100e4058 in EngineController::play (this=0x102a54f8, bundle=@0xff8fac0c) at enginecontroller.cpp:360 #17 0x10138a10 in Playlist::activate (this=0x103be958, item=0x108a0368) at playlist.cpp:1239 #18 0x1013bfac in Playlist::playCurrentTrack (this=0x103be958) at playlist.cpp:976 #19 0x10140550 in Playlist::qt_invoke (this=0x103be958, _id=116, _o=0xff8fad08) at playlist.moc:346 #20 0x0eb473a0 in QObject::activate_signal (this=0x102a54f8, clist=<value optimized out>, o=0xff8fad08) at kernel/qobject.cpp:2356 #21 0x28004484 in ?? () #22 0x0eb483d4 in QObject::activate_signal (this=0x4, signal=<value optimized out>) at kernel/qobject.cpp:2325 #23 0x100df40c in EngineController::orderCurrent (this=0x102a54f8) at enginecontroller.moc:210 #24 0x100df47c in EngineController::play (this=0x4) at enginecontroller.cpp:307 #25 0x101f5b28 in amaroK::DcopPlayerHandler::play (this=<value optimized out>) at amarokdcophandler.cpp:309 #26 0x1020199c in AmarokPlayerInterface::process (this=0x10366498, fun=@0xff8fb198, data=@0xff8fb1a0, replyType=@0xff8fb1a8, replyData=@0xff8fb1b0) at amarokdcopiface_skel.cpp:392 #27 0x0f14d2a0 in DCOPClient::receive (this=0x1036bc38, objId=@0xff8fb190, fun=@0xff8fb198, data=@0xff8fb1a0, replyType=@0xff8fb1a8, replyData=@0xff8fb1b0) at ./dcop/dcopclient.cpp:1642 #28 0x48002488 in ?? () #29 0x0f14e660 in DCOPProcessInternal (d=0x1036d968, opcode=2, key=93, dataReceived=<value optimized out>, canPost=true) at ./dcop/dcopclient.cpp:520 #30 0x0f14f110 in DCOPProcessMessage (iceConn=0x1036ac10, clientObject=0x1036d968, opcode=2, length=56, replyWait=<value optimized out>, replyWaitRet=0xff8fb2fc) at ./dcop/dcopclient.cpp:432 #31 0x0f16168c in KDE_IceProcessMessages (iceConn=0x1036ac10, replyWait=0x0, replyReadyRet=0x0) at /usr/src/debug/kdelibs-3.5.1/dcop/KDE-ICE/process.c:326 #32 0x44004444 in ?? () #33 0x0f144968 in DCOPClient::processSocketData (this=0x1036bc38, fd=<value optimized out>) at ./dcop/dcopclient.cpp:2011 #34 0x0f14ed24 in DCOPClient::qt_invoke (this=0x1036bc38, _id=2, _o=0xff8fb448) at ./dcop/dcopclient.moc:176 #35 0x0eb473a0 in QObject::activate_signal (this=0x10365b98, clist=<value optimized out>, o=0xff8fb448) at kernel/qobject.cpp:2356 #36 0x24004444 in ?? () #37 0x0eb48210 in QObject::activate_signal (this=0x4, signal=<value optimized out>, param=<value optimized out>) at kernel/qobject.cpp:2449 #38 0x0eefc6b4 in QSocketNotifier::activated (this=0x10365b98, t0=9) at .moc/release-shared-mt/moc_qsocketnotifier.cpp:85 #39 0x0eb6aec8 in QSocketNotifier::event (this=0x4, e=0xff8fb680) at kernel/qsocketnotifier.cpp:258 #40 0x0ead5070 in QApplication::internalNotify (this=<value optimized out>, receiver=0x10365b98, e=0xff8fb680) at kernel/qapplication.cpp:2636 #41 0x0ead6170 in QApplication::notify (this=0xff8fb858, receiver=0x10365b98, e=0xff8fb680) at kernel/qapplication.cpp:2359 #42 0x44004424 in ?? () #43 0x0f368ee0 in KApplication::notify (this=0xff8fb858, receiver=0x10365b98, event=0xff8fb680) at ./kdecore/kapplication.cpp:552 #44 0x0eac6358 in QEventLoop::activateSocketNotifiers (this=0x1031ee40) at kernel/qapplication.h:520 #45 0x0ea7ac38 in QEventLoop::processEvents (this=0x1031ee40, flags=<value optimized out>) at kernel/qeventloop_x11.cpp:383 #46 0x28000422 in ?? () #47 0x0eaefd48 in QEventLoop::enterLoop (this=0x4) at kernel/qeventloop.cpp:198 #48 0x0eaefacc in QEventLoop::exec (this=0x4) at kernel/qeventloop.cpp:145 #49 0x0ead4844 in QApplication::exec (this=<value optimized out>) at kernel/qapplication.cpp:2759 #50 0x101f41d0 in main (argc=3, argv=0xff8fbbe4) at main.cpp:94 #51 0x0e2c77f0 in generic_start_main (main=0x101f3df0 <main>, argc=3, ubp_av=0xff8fbbe4, auxvec=0xff8fbda8, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=<value optimized out>) at ../csu/libc-start.c:231 #52 0x0e2c7a4c in __libc_start_main (argc=3, ubp_av=0xff8fbbe4, ubp_ev=<value optimized out>, auxvec=0xff8fbda8, rtld_fini=0xf7fefb60 <_dl_fini>, stinfo=0x10252d08, stack_on_entry=0xff8fbbd0) at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:127 wow, thats a good backtrace finally. It shouldn't be Qdir, its that the Qstring member in QDir is accessed from two different threads at the same time. ugh, that code is soo ugly.. preparing a patch. Thread 2 (Thread 4089443536 (LWP 6112)): #0 0x0e396638 in __lll_lock_wait (futex=0xe40b490) at ../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34 #1 0x0e327894 in *__GI___libc_free (mem=0x10b05888) at malloc.c:3445 #2 0x0e5c506c in operator delete (ptr=0x4) at ../../../../libstdc++-v3/libsupc++/del_op.cc:49 #3 0x0e5c50e4 in operator delete[] (ptr=0x4) at ../../../../libstdc++-v3/libsupc++/del_opv.cc:37 #4 0x0ee8b3a8 in QString::deref (this=0x1039a9d4) at tools/qstring.h:363 #5 0x0ee8ba40 in QString::setLength (this=0x1039a9d4, newLen=17146) at tools/qstring.cpp:1707 #6 0x0ee8bc08 in QString::grow (this=0x4, newLen=0) at tools/qstring.cpp:1794 #7 0x0ee90e08 in QString::operator+= (this=0x4, str=@0xf3bfe3ac) at tools/qstring.cpp:5514 #8 0x100b0444 in CurrentTrackJob::doJob (this=0x1039a978) at /usr/lib/qt3/include/qstring.h:925 #9 0x101d0180 in ThreadWeaver::Thread::run (this=0x106fceb0) at threadweaver.cpp:231 #10 0x0eacb390 in QThreadInstance::start (_arg=<value optimized out>) at kernel/qthread_unix.cpp:119 #11 0x0e625c80 in start_thread (arg=<value optimized out>) at pthread_create.c:308 #12 0x0e3886f4 in clone () from /lib/power4/libc.so.6 Thread 1 (Thread 4160397312 (LWP 4795)): #0 0x0e396638 in __lll_lock_wait (futex=0xe40b490) at ../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34 #1 0x0e325adc in ptmalloc_lock_all () at arena.c:250 #2 0x0e35185c in __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/powerpc/../i386/../fork.c:92 #3 0x0e630e54 in __fork () at ../nptl/sysdeps/unix/sysv/linux/pt-fork.c:26 #4 0x101fc3d0 in amaroK::Crash::crashHandler () at crashhandler.cpp:66 #5 <signal handler called> #6 0x0e2df780 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #7 0x0e2e1214 in *__GI_abort () at abort.c:88 #8 0x0e31deb4 in __libc_message (do_abort=2, fmt=0xe3e8940 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:170 #9 0x0e325bd4 in malloc_printerr (action=3, str=0xe3e8b38 "malloc(): memory corruption (fast)", ptr=<value optimized out>) at malloc.c:5616 #10 0x0e32898c in _int_malloc (av=0xe40b490, bytes=12) at malloc.c:3907 #11 0x28004282 in ?? () #12 0x0e32a484 in *__GI___libc_malloc (bytes=12) at malloc.c:3382 #13 0x0e5c6ecc in operator new (sz=12) at ../../../../libstdc++-v3/libsupc++/new_op.cc:57 #14 0x0ee61c98 in QGArray::newData (this=<value optimized out>) at tools/qgarray.cpp:816 #15 0x0ee61fdc in QGArray (this=0x0, size=43) at tools/qgarray.cpp:142 #16 0x0ee4f944 in QCString (this=0x0, size=4795) at tools/qmemarray.h:59 #17 0x0eec307c in QUtf8Codec::fromUnicode (this=<value optimized out>, uc=@0x6, lenInOut=@0x8) at codecs/qutfcodec.cpp:53 #18 0x0eebbe78 in QTextCodec::fromUnicode (this=0x12bb, uc=@0x6) at codecs/qtextcodec.cpp:997 #19 0x0ee8921c in QString::local8Bit (this=0xffa244f4) at tools/qstring.cpp:5912 #20 0x0ee5eb9c in locale_encoder (fileName=@0x12bb) at tools/qfile.cpp:570 #21 0x0ee5e918 in QFile::encodeName (fileName=@0x12bb) at tools/qfile.cpp:600 #22 0x0f2d291c in KStandardDirs::makeDir (dir=<value optimized out>, mode=448) at ./kdecore/kstandarddirs.cpp:1177 #23 0x0f31dc4c in KStandardDirs::saveLocation (this=0x1031f840, type=0x10269e0c "data", suffix=@0xffa246ac, create=true) at ./kdecore/kstandarddirs.cpp:1124 #24 0x10041d88 in amaroK::saveLocation (directory=@0xffa246f8) at app.cpp:1038 #25 0x1006e7d4 in CollectionDB::findImageByArtistAlbum (this=0x102a53f4, artist=@0xffa247a8, album=@0xffa249e4, width=0) at collectiondb.cpp:854 #26 0x1006edc0 in CollectionDB::albumImage (this=0x102a53f4, artist=<value optimized out>, album=@0xffa249e4, width=0) at collectiondb.cpp:882 #27 0x1006f1bc in CollectionDB::albumImage (this=0x102a53f4, trackInformation=<value optimized out>, width=0) at collectiondb.cpp:900 #28 0x1011bfec in amaroK::OSD::show (this=0x106103d0, bundle=@0x102a5550) at osd.cpp:541 #29 0x10041640 in App::engineNewMetaData (this=0xffa25868, bundle=@0x102a5550) at app.cpp:869 #30 0x100e7514 in EngineSubject::newMetaDataNotify (this=0x102a5520, bundle=@0x102a5550, trackChanged=true) at engineobserver.cpp:81 #31 0x100e4058 in EngineController::play (this=0x102a54f8, bundle=@0xffa24c1c) at enginecontroller.cpp:360 #32 0x10138a10 in Playlist::activate (this=0x103bf598, item=0x106fc0b0) at playlist.cpp:1239 #33 0x1013bfac in Playlist::playCurrentTrack (this=0x103bf598) at playlist.cpp:976 #34 0x10140550 in Playlist::qt_invoke (this=0x103bf598, _id=116, _o=0xffa24d18) at playlist.moc:346 #35 0x0eb473a0 in QObject::activate_signal (this=0x102a54f8, clist=<value optimized out>, o=0xffa24d18) at kernel/qobject.cpp:2356 #36 0x28004484 in ?? () #37 0x0eb483d4 in QObject::activate_signal (this=0x0, signal=<value optimized out>) at kernel/qobject.cpp:2325 #38 0x100df40c in EngineController::orderCurrent (this=0x102a54f8) at enginecontroller.moc:210 #39 0x100df47c in EngineController::play (this=0x0) at enginecontroller.cpp:307 #40 0x101f5b28 in amaroK::DcopPlayerHandler::play (this=<value optimized out>) at amarokdcophandler.cpp:309 #41 0x1020199c in AmarokPlayerInterface::process (this=0x103665a8, fun=@0xffa251a8, data=@0xffa251b0, replyType=@0xffa251b8, replyData=@0xffa251c0) at amarokdcopiface_skel.cpp:392 #42 0x0f14d2a0 in DCOPClient::receive (this=0x103638b0, objId=@0xffa251a0, fun=@0xffa251a8, data=@0xffa251b0, replyType=@0xffa251b8, replyData=@0xffa251c0) at ./dcop/dcopclient.cpp:1642 #43 0x48002488 in ?? () #44 0x0f14e660 in DCOPProcessInternal (d=0x1036d060, opcode=2, key=95, dataReceived=<value optimized out>, canPost=true) at ./dcop/dcopclient.cpp:520 #45 0x0f14f110 in DCOPProcessMessage (iceConn=0x10363e38, clientObject=0x1036d060, opcode=2, length=56, replyWait=<value optimized out>, replyWaitRet=0xffa2530c) at ./dcop/dcopclient.cpp:432 #46 0x0f16168c in KDE_IceProcessMessages (iceConn=0x10363e38, replyWait=0x0, replyReadyRet=0x0) at /usr/src/debug/kdelibs-3.5.1/dcop/KDE-ICE/process.c:326 #47 0x44004444 in ?? () #48 0x0f144968 in DCOPClient::processSocketData (this=0x103638b0, fd=<value optimized out>) at ./dcop/dcopclient.cpp:2011 #49 0x0f14ed24 in DCOPClient::qt_invoke (this=0x103638b0, _id=2, _o=0xffa25458) at ./dcop/dcopclient.moc:176 #50 0x0eb473a0 in QObject::activate_signal (this=0x10365ca8, clist=<value optimized out>, o=0xffa25458) at kernel/qobject.cpp:2356 #51 0x24004444 in ?? () #52 0x0eb48210 in QObject::activate_signal (this=0x0, signal=<value optimized out>, param=<value optimized out>) at kernel/qobject.cpp:2449 #53 0x0eefc6c4 in QSocketNotifier::activated (this=0x10365ca8, t0=9) at .moc/release-shared-mt/moc_qsocketnotifier.cpp:85 #54 0x0eb6aec8 in QSocketNotifier::event (this=0x0, e=0xffa25690) at kernel/qsocketnotifier.cpp:258 #55 0x0ead5070 in QApplication::internalNotify (this=<value optimized out>, receiver=0x10365ca8, e=0xffa25690) at kernel/qapplication.cpp:2636 #56 0x0ead6170 in QApplication::notify (this=0xffa25868, receiver=0x10365ca8, e=0xffa25690) at kernel/qapplication.cpp:2359 #57 0x44004424 in ?? () #58 0x0f368e90 in KApplication::notify (this=0xffa25868, receiver=0x10365ca8, event=0xffa25690) at ./kdecore/kapplication.cpp:552 #59 0x0eac6358 in QEventLoop::activateSocketNotifiers (this=0x1031ef38) at kernel/qapplication.h:520 #60 0x0ea7ac38 in QEventLoop::processEvents (this=0x1031ef38, flags=<value optimized out>) at kernel/qeventloop_x11.cpp:383 #61 0x28000422 in ?? () #62 0x0eaefd48 in QEventLoop::enterLoop (this=0x0) at kernel/qeventloop.cpp:198 #63 0x0eaefacc in QEventLoop::exec (this=0x0) at kernel/qeventloop.cpp:145 #64 0x0ead4844 in QApplication::exec (this=<value optimized out>) at kernel/qapplication.cpp:2759 #65 0x101f41d0 in main (argc=3, argv=0xffa25bf4) at main.cpp:94 #66 0x0e2c77f0 in generic_start_main (main=0x101f3df0 <main>, argc=3, ubp_av=0xffa25bf4, auxvec=0xffa25db4, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=<value optimized out>) at ../csu/libc-start.c:231 #67 0x0e2c7a4c in __libc_start_main (argc=3, ubp_av=0xffa25bf4, ubp_ev=<value optimized out>, auxvec=0xffa25db4, rtld_fini=0xf7fefb60 <_dl_fini>, stinfo=0x10252d08, stack_on_entry=0xffa25be0) at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:127 see also bug #135668 Thread 1 (Thread 4160393216 (LWP 4846)):
#0 0x0e396638 in __lll_lock_wait (futex=0xe40b490)
at ../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34
#1 0x0e325adc in ptmalloc_lock_all () at arena.c:250
#2 0x0e35185c in __libc_fork ()
at ../nptl/sysdeps/unix/sysv/linux/powerpc/../i386/../fork.c:92
#3 0x0e630e54 in __fork () at ../nptl/sysdeps/unix/sysv/linux/pt-fork.c:26
#4 0x101fea40 in amaroK::Crash::crashHandler () at crashhandler.cpp:66
#5 <signal handler called>
#6 0x0e2df780 in *__GI_raise (sig=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7 0x0e2e1214 in *__GI_abort () at abort.c:88
#8 0x0e31deb4 in __libc_message (do_abort=2,
fmt=0xe3e8940 "*** glibc detected *** %s: %s: 0x%s ***\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:170
#9 0x0e325bd4 in malloc_printerr (action=3,
str=0xe3e8a50 "free(): invalid next size (fast)",
ptr=<value optimized out>) at malloc.c:5616
#10 0x0e327828 in *__GI___libc_free (mem=0x10c0b198) at malloc.c:3447
#11 0x0e5c506c in operator delete (ptr=0x0)
at ../../../../libstdc++-v3/libsupc++/del_op.cc:49
#12 0x0e5c50e4 in operator delete[] (ptr=0x0)
at ../../../../libstdc++-v3/libsupc++/del_opv.cc:37
#13 0x0ee889fc in QStringData::deleteSelf (this=0x106d45d0)
at tools/qstring.h:364
#14 0x1013967c in Playlist::scoreChanged (this=0x103c0340, path=@0x10b3c138,
score=98) at /usr/lib/qt3/include/qstring.h:848
#15 0x101429f8 in Playlist::qt_invoke (this=0x103c0340, _id=126, _o=0xffb21f18)
at playlist.moc:356
#16 0x0eb472a0 in QObject::activate_signal (this=0x102a7c0c,
clist=<value optimized out>, o=0xffb21f18) at kernel/qobject.cpp:2380
#17 0x48004422 in ?? ()
#18 0x10061654 in CollectionDB::scoreChanged (this=<value optimized out>,
t0=<value optimized out>, t1=<value optimized out>) at collectiondb.moc:191
#19 0x10089760 in CollectionDB::addSongPercentage (this=0x102a7c0c,
url=@0xffb220b8, percentage=-5103636) at collectiondb.cpp:1367
#20 0x10089f8c in CollectionDB::engineTrackEnded (this=0x102a7c0c,
finalPosition=182089, trackLength=185000) at collectiondb.cpp:1806
#21 0x100e92a8 in EngineSubject::trackEnded (this=<value optimized out>,
finalPosition=182089, trackLength=185000) at engineobserver.cpp:89
#22 0x100e61a4 in EngineController::play (this=0x102a7d10, bundle=@0xffb221ec)
at enginecontroller.cpp:322
#23 0x1013adf0 in Playlist::activate (this=0x103c0340, item=0x106e1830)
at playlist.cpp:1239
#24 0x1013dda4 in Playlist::playNextTrack (this=0x103c0340, forceNext=160)
at playlist.cpp:896
#25 0x42004428 in ?? ()
#26 0x10142950 in Playlist::qt_invoke (this=0x103c0340, _id=118, _o=0xffb22368)
at playlist.moc:348
#27 0x0eb473a0 in QObject::activate_signal (this=0x102a7d10,
clist=<value optimized out>, o=0xffb22368) at kernel/qobject.cpp:2356
#28 0x22004424 in ?? ()
#29 0x0eb47c10 in QObject::activate_signal_bool (this=0x0,
signal=<value optimized out>, param=<value optimized out>)
at kernel/qobject.cpp:2452
#30 0x100e1cc8 in EngineController::orderNext (this=0x102a7d10, t0=false)
at enginecontroller.moc:216
#31 0x100e1d5c in EngineController::next (this=0x0, forceNext=238)
at enginecontroller.cpp:297
#32 0x100e1ee4 in EngineController::slotMainTimer (this=0x0)
at enginecontroller.h:73
#33 0x100e7134 in EngineController::qt_invoke (this=0x102a7d10, _id=26,
_o=0xffb22498) at enginecontroller.moc:252
#34 0x0eb473a0 in QObject::activate_signal (this=0x103768f0,
clist=<value optimized out>, o=0xffb22498) at kernel/qobject.cpp:2356
#35 0x24004284 in ?? ()
#36 0x0eb483d4 in QObject::activate_signal (this=0x0,
signal=<value optimized out>) at kernel/qobject.cpp:2325
#37 0x0eefdfb8 in QTimer::timeout (this=0x103768f0)
at .moc/release-shared-mt/moc_qtimer.cpp:82
#38 0x0eb718c4 in QTimer::event (this=0x103768f0, e=0x12ee)
at kernel/qtimer.cpp:219
#39 0x0ead5070 in QApplication::internalNotify (this=<value optimized out>,
receiver=0x103768f0, e=0xffb22690) at kernel/qapplication.cpp:2636
#40 0x0ead6170 in QApplication::notify (this=0xffb22868, receiver=0x103768f0,
e=0xffb22690) at kernel/qapplication.cpp:2359
#41 0x44004228 in ?? ()
#42 0x0f368e90 in KApplication::notify (this=0xffb22868, receiver=0x103768f0,
event=0xffb22690) at ./kdecore/kapplication.cpp:552
#43 0x0eac6ae8 in QEventLoop::activateTimers (this=<value optimized out>)
at kernel/qapplication.h:520
#44 0x0ea7ad04 in QEventLoop::processEvents (this=0x10315648,
flags=<value optimized out>) at kernel/qeventloop_x11.cpp:389
#45 0x24000222 in ?? ()
#46 0x0eaefd48 in QEventLoop::enterLoop (this=0x0) at kernel/qeventloop.cpp:198
#47 0x0eaefacc in QEventLoop::exec (this=0x0) at kernel/qeventloop.cpp:145
#48 0x0ead4844 in QApplication::exec (this=<value optimized out>)
at kernel/qapplication.cpp:2759
#49 0x101f67e0 in main (argc=3, argv=0xffb22bf4) at main.cpp:94
#50 0x0e2c77f0 in generic_start_main (main=0x101f6400 <main>, argc=3,
ubp_av=0xffb22bf4, auxvec=0xffb22db4, init=<value optimized out>,
fini=<value optimized out>, rtld_fini=<value optimized out>,
stack_end=<value optimized out>) at ../csu/libc-start.c:231
#51 0x0e2c7a4c in __libc_start_main (argc=3, ubp_av=0xffb22bf4,
ubp_ev=<value optimized out>, auxvec=0xffb22db4,
rtld_fini=0xf7fefb60 <_dl_fini>, stinfo=0x10255388,
stack_on_entry=0xffb22be0)
at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:127
The last backtrace was actually from amarok 1.3.9. I also tried 1.4.0, but that is a complete disaster. yes, because the patches are not upstream yet. I'll get to you with the updated patch today. meanwhile, is there still an issue with running amarok under valgrind? this would immensely help finding more threading issues. Created attachment 91834 [details]
valgrind log
*** Bug 176366 has been marked as a duplicate of this bug. *** I believe some of the memory corruptions are now being fixed upstream, due to increased usefulness of the drd plugin. one thing I got pretty frequently reported is an apparent hang with the xine backend when a fade is in progress and the user pressed stop. does that match the problem of anyone here on the CC list? I've a small patch for that which I could backport. The first tab in the context browser is actually the worst offender. I have only seen very few crashes since I've switched to the second tab (the lyrics browser) during playing. debugged with thread checker and fixed the data races. |