Bug 300659

Summary: Can't start amarok: double free or corruption [@ EngineController::supportedMimeTypes]
Product: [Applications] amarok Reporter: Marek <marek.schimara>
Component: generalAssignee: Amarok Developers <amarok-bugs-dist>
Status: CLOSED FIXED    
Severity: crash CC: dy.ma.ni.ch, germano.massullo, matej, michiduta07, mstraf, qw9876543, Slayer_X
Priority: NOR    
Version: 2.5.0   
Target Milestone: 2.6   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 2.6
Attachments: debug mode output
gdb output 2
more info from gdb
New crash information added by DrKonqi

Description Marek 2012-05-26 11:52:56 UTC
Created attachment 71381 [details]
debug mode output

Since the last system update, amarok doesn't work. I can't get stack trace in spite of installing all debuginfo packages (gdb says: "No stack" when trying "bt" or "up" commands after the crash). The splashscreen blinks for a split of second and it crashes without displaying the main interface or systray icon. 

System info: 
$ uname -a
Linux cheeky.at-home.net 3.3.6-3.fc16.x86_64 #1 SMP Wed May 16 21:43:01 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/redhat-release 
Fedora release 16 (Verne)

$ amarok -v
Qt: 4.8.1
KDE Development Platform: 4.8.3 (4.8.3)
Amarok: 2.5.0


The output in debug mode is in the attachment.
Comment 1 Myriam Schweingruber 2012-05-26 16:09:15 UTC
Could you please run Amarok in gdb with like follows:

gdb amarok
run -d --nofork

once it crashes, type

thread apply all backtrace

and provide only the konsole output after the crash.
Comment 2 Marek 2012-05-26 19:03:05 UTC
Created attachment 71385 [details]
gdb output 2

There seems to be no backtrace available... See attachment.
Comment 3 Marek 2012-05-26 19:05:43 UTC
Just noticed that I missed the second dash in "--nofork". Will post more info.
Comment 4 Marek 2012-05-26 19:13:39 UTC
Created attachment 71386 [details]
more info from gdb

Here it comes. I omitted most of output before the crash.
It looks like something about building a MIME type list.. (line 82).


Marek
Comment 5 Myriam Schweingruber 2012-05-27 06:38:51 UTC
(In reply to comment #4)
> Created attachment 71386 [details]
> more info from gdb
> 
> Here it comes. I omitted most of output before the crash.
> It looks like something about building a MIME type list.. (line 82).

You should also install the amarok debug symbols, you don't have them currently. In Fedora just do
debuginfo-install amarok
Comment 6 Marek 2012-05-27 11:12:17 UTC
[root@cheeky ~]# debuginfo-install amarok
Loaded plugins: auto-update-debuginfo, fastestmirror, langpacks, presto, priorities, refresh-packagekit, refresh-updatesd, rpm-warm-cache
enabling fedora-debuginfo
enabling rpmfusion-nonfree-debuginfo
enabling rpmfusion-free-updates-debuginfo
enabling rpmfusion-free-debuginfo
enabling updates-debuginfo
enabling rpmfusion-nonfree-updates-debuginfo
Loading mirror speeds from cached hostfile
 * fedora: ftp.free.fr
 * fedora-debuginfo: ftp.free.fr
 * rpmfusion-free: fr2.rpmfind.net
 * rpmfusion-free-debuginfo: fr2.rpmfind.net
 * rpmfusion-free-updates: fr2.rpmfind.net
 * rpmfusion-free-updates-debuginfo: fr2.rpmfind.net
 * rpmfusion-nonfree: fr2.rpmfind.net
 * rpmfusion-nonfree-debuginfo: fr2.rpmfind.net
 * rpmfusion-nonfree-updates: fr2.rpmfind.net
 * rpmfusion-nonfree-updates-debuginfo: fr2.rpmfind.net
 * updates: ftp.free.fr
 * updates-debuginfo: ftp.free.fr
8 packages excluded due to repository priority protections
Package amarok-debuginfo-2.5.0-8.fc16.x86_64 already installed and latest version
Package mesa-debuginfo-7.11.2-3.fc16.x86_64 already installed and latest version
Package 1:qt-debuginfo-4.8.1-5.fc16.x86_64 already installed and latest version
Package 1:qt-debuginfo-4.8.1-5.fc16.x86_64 already installed and latest version
Package 1:qt-debuginfo-4.8.1-5.fc16.x86_64 already installed and latest version
Package 1:qt-debuginfo-4.8.1-5.fc16.x86_64 already installed and latest version
Package 1:qt-debuginfo-4.8.1-5.fc16.x86_64 already installed and latest version
Package 1:qt-debuginfo-4.8.1-5.fc16.x86_64 already installed and latest version
Package 1:qt-debuginfo-4.8.1-5.fc16.x86_64 already installed and latest version
Package qtwebkit-debuginfo-2.2.1-2.fc16.x86_64 already installed and latest version
Package 1:qt-debuginfo-4.8.1-5.fc16.x86_64 already installed and latest version
Package libX11-debuginfo-1.4.3-1.fc16.x86_64 already installed and latest version
Package amarok-debuginfo-2.5.0-8.fc16.x86_64 already installed and latest version
Package amarok-debuginfo-2.5.0-8.fc16.x86_64 already installed and latest version
Package amarok-debuginfo-2.5.0-8.fc16.x86_64 already installed and latest version
Package amarok-debuginfo-2.5.0-8.fc16.x86_64 already installed and latest version
Package amarok-debuginfo-2.5.0-8.fc16.x86_64 already installed and latest version
Package curl-debuginfo-7.21.7-7.fc16.x86_64 already installed and latest version
Package gcc-debuginfo-4.6.3-2.fc16.x86_64 already installed and latest version
Package gcc-debuginfo-4.6.3-2.fc16.x86_64 already installed and latest version
Package libgcrypt-debuginfo-1.5.0-2.fc16.x86_64 already installed and latest version
Package libgcrypt-debuginfo-1.5.0-2.fc16.x86_64 already installed and latest version
Package gdk-pixbuf2-debuginfo-2.24.1-1.fc16.x86_64 already installed and latest version
Package glib2-debuginfo-2.30.3-1.fc16.x86_64 already installed and latest version
Package glib2-debuginfo-2.30.3-1.fc16.x86_64 already installed and latest version
Package libgpod-debuginfo-0.8.2-1.fc16.x86_64 already installed and latest version
Package 6:kdelibs-debuginfo-4.8.3-1.fc16.x86_64 already installed and latest version
Package 6:kdelibs-debuginfo-4.8.3-1.fc16.x86_64 already installed and latest version
Package 6:kdelibs-debuginfo-4.8.3-1.fc16.x86_64 already installed and latest version
Package 6:kdelibs-debuginfo-4.8.3-1.fc16.x86_64 already installed and latest version
Package 6:kdelibs-debuginfo-4.8.3-1.fc16.x86_64 already installed and latest version
Package 6:kdelibs-debuginfo-4.8.3-1.fc16.x86_64 already installed and latest version
Package liblastfm-debuginfo-0.3.3-3.fc15.x86_64 already installed and latest version
Package loudmouth-debuginfo-1.4.3-8.fc15.x86_64 already installed and latest version
Package libmtp-debuginfo-1.1.3-2.fc16.x86_64 already installed and latest version
Package libmygpo-qt-debuginfo-1.0.5-1.fc16.x86_64 already installed and latest version
Package mysql-debuginfo-5.5.23-1.fc16.x86_64 already installed and latest version
Package mysql-debuginfo-5.5.23-1.fc16.x86_64 already installed and latest version
Package mysql-debuginfo-5.5.23-1.fc16.x86_64 already installed and latest version
Package phonon-debuginfo-4.6.0-3.fc16.x86_64 already installed and latest version
Package 6:kdelibs-debuginfo-4.8.3-1.fc16.x86_64 already installed and latest version
Package qjson-debuginfo-0.7.1-4.fc15.x86_64 already installed and latest version
Package 6:kdelibs-debuginfo-4.8.3-1.fc16.x86_64 already installed and latest version
Package gcc-debuginfo-4.6.3-2.fc16.x86_64 already installed and latest version
Package gcc-debuginfo-4.6.3-2.fc16.x86_64 already installed and latest version
Package gcc-debuginfo-4.6.3-2.fc16.x86_64 already installed and latest version
Package gcc-debuginfo-4.6.3-2.fc16.x86_64 already installed and latest version
Package gcc-debuginfo-4.6.3-2.fc16.x86_64 already installed and latest version
Package gcc-debuginfo-4.6.3-2.fc16.x86_64 already installed and latest version
Package gcc-debuginfo-4.6.3-2.fc16.x86_64 already installed and latest version
Package taglib-debuginfo-1.7.2-1.fc16.x86_64 already installed and latest version
Package 6:kdelibs-debuginfo-4.8.3-1.fc16.x86_64 already installed and latest version
Package libxml2-debuginfo-2.7.8-6.fc16.x86_64 already installed and latest version
Package libxml2-debuginfo-2.7.8-6.fc16.x86_64 already installed and latest version
Package libxml2-debuginfo-2.7.8-6.fc16.x86_64 already installed and latest version
No debuginfo packages available to install
Comment 7 Myriam Schweingruber 2012-05-28 09:34:55 UTC
Thank you for the feedback. My bad, apparently I wasn't looking well enough.

Backtrace from comment #4 paste inline to make it searchable:

amarok:       BEGIN: Playlist::LayoutManager::LayoutManager() 
amarok:         BEGIN: void Playlist::LayoutManager::loadLayouts(const QString&, bool) 
*** glibc detected *** /usr/bin/amarok: double free or corruption (!prev): 0x00007fffbc01bf10 ***
*** glibc detected *** /usr/bin/amarok: double free or corruption (!prev): 0x00007fffbc01d450 ***
======= Backtrace: =========
======= Backtrace: =========
/lib64/libc.so.6[0x323b27dda6]
/lib64/libc.so.6[0x323b27dda6]
/lib64/libc.so.6[0x323b27f08e]
/lib64/libc.so.6[0x323b27f08e]
/lib64/libc.so.6[0x323b281290]
/lib64/libc.so.6[0x323b281290]
/lib64/libc.so.6(realloc+0xee)[0x323b282cde]
/usr/lib64/libQtCore.so.4(_ZN9QListData7reallocEi+0x26)[0x3437899586]
amarok:           loading layout  "Default" 
/usr/lib64/libQtCore.so.4(_ZN9QListData7reallocEi+0x26)[0x3437899586]
amarok:           grouping mode is:  "Album" 
/usr/lib64/libQtCore.so.4[0x3437894452]
/usr/lib64/libQtCore.so.4(_ZN9QListData6appendEi+0x65)amarok:           loading layout  "No Grouping" 
amarok:           grouping mode is:  "None" 
/usr/lib64/libQtCore.so.4(_ZN9QtPrivate18QStringList_filterEPK11QStringListRK7QRegExp+0x6e)[0x34378d045e]
/usr/lib64/libQtCore.so.4[0x3437894452]
amarok:           loading layout  "No Grouping (Single Line)" 
amarok:           grouping mode is:  "None" 
/usr/lib64/libQtCore.so.4(_ZN9QtPrivate18QStringList_filterEPK11QStringListRK7QRegExp+0x6e)[0x34378d045e]
amarok:           loading layout  "Verbose" 
amarok:           grouping mode is:  "Album" 
/usr/lib64/libamaroklib.so.1(_ZN16EngineController9canDecodeERK4KUrl+0x88)[0x37cb366ef8]
/usr/lib64/libamaroklib.so.1(_ZN16EngineController18supportedMimeTypesEv+0x8b)[0x37cb366a2b]
/usr/lib64/libamaroklib.so.1(_ZN17CollectionManager11trackForUrlERK4KUrl+0x120)[0x37cb224740]
/usr/lib64/libamaroklib.so.1(_ZN16EngineController9canDecodeERK4KUrl+0x88)[0x37cb366ef8]
amarok:         END__: void Playlist::LayoutManager::loadLayouts(const QString&, bool) [Took: 0.001s] 
/usr/lib64/libamaroklib.so.1(_ZN17CollectionManager11trackForUrlERK4KUrl/usr/lib64/libthreadweaver.so.4[0x3b7ce0c9fb]
/usr/lib64/libamaroklib.so.1[0x37cb1cabac]
/usr/lib64/libthreadweaver.so.4(_ZN12ThreadWeaver6Thread3runEv+0x7b)[0x3b7ce0c27b]
/usr/lib64/libQtCore.so.4[0x343787bb1b]
amarok:       END__: Playlist::LayoutManager::LayoutManager() [Took: 0.001s] 
/usr/lib64/libQtCore.so.4[0x343787bb1b]
/lib64/libc.so.6(clone+0x6d)[0x323b2f0f5d]
======= Memory map: ========
/lib64/libc.so.6(clone+0x6d)[0x323b2f0f5d00400000-00415000 r-xp 00000000 08:03 46095                              /usr/bin/amarok
00614000-00624000 rw-p 00014000 08:03 46095                              /usr/bin/amarok
00624000-0127d000 rw-p 00000000 00:00 0                                  [heap]
304b800000-304b861000 r-xp 00000000 08:03 5230                           /usr/lib64/libtiff.so.3.9.5
304b861000-304ba61000 ---p 00061000 08:03 5230                           /usr/lib64/libtiff.so.3.9.5
304ba61000-304ba63000 r--p 00061000 08:03 5230                           /usr/lib64/libtiff.so.3.9.5
304ba63000-304ba64000 rw-p 00063000 08:03 5230                           /usr/lib64/libtiff.so.3.9.5
304bc00000-304bc08000 r-xp 00000000 08:03 29671                          /usr/lib64/libv4l2.so.0
304bc08000-304be07000 ---p 00008000 08:03 29671                          /usr/lib64/libv4l2.so.0
304be07000-304be0c000 rw-p 00007000 08:03 29671                          /usr/lib64/libv4l2.so.0
304c400000-304c421000 r-xp 00000000 08:03 23884                        00400000-00415000 r-xp 00000000 08:03 46095                              /usr/bin/amarok
00614000-00624000 rw-p 00014000 08:03 46095                              /usr/bin/amarok
00624000-0127d000 rw-p 00000000 00:00 0                                  [heap]
304b800000-304b861000 r-xp 00000000 08:03 5230                           /usr/lib64/libtiff.so.3.9.5
304b861000-304ba61000 ---p 00061000 08:03 5230                           /usr/lib64/libtiff.so.3.9.5
304ba61000-304ba63000 r--p 00061000 08:03 5230                           /usr/lib64/libtiff.so.3.9.5
304ba63000-304ba64000 rw-p 00063000 08:03 5230                           /usr/lib64/libtiff.so.3.9.5
304bc00000-304bc08000 r-xp 00000000 08:03 29671                          /usr/lib64/libv4l2.so.0
304bc08000-304be07000 ---p 00008000 08:03 29671                          /usr/lib64/libv4l2.so.0
304be07000-304be0c000 rw-p 00007000 08:03 29671                          /usr/lib64/libv4l2.so.0
304c400000-304c421000 r-xp 00000000 08:03 23884                        
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffc9dda700 (LWP 8982)]
0x000000323b236285 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64        return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) thread apply all backtrace

Thread 13 (Thread 0x7fffc9dda700 (LWP 8982)):
#0  0x000000323b236285 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x000000323b237b9b in __GI_abort () at abort.c:91
#2  0x000000323b277a7e in __libc_message (do_abort=2, fmt=0x323b376678 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:198
#3  0x000000323b27dda6 in malloc_printerr (action=3, str=0x323b376818 "double free or corruption (!prev)", ptr=<optimized out>) at malloc.c:5021
#4  0x000000323b27f08e in _int_free (av=0x7fffbc000020, p=0x7fffbc01bf00, have_lock=1) at malloc.c:3942
#5  0x000000323b281290 in _int_realloc (av=0x7fffbc000020, oldp=0x7fffbc01bf00, oldsize=<optimized out>, nb=1040) at malloc.c:4432
#6  0x000000323b282cde in __GI___libc_realloc (oldmem=0x7fffbc01bf10, bytes=1024) at malloc.c:3064
#7  0x0000003437899586 in QListData::realloc (this=0x37cb8a9cd8, alloc=125) at tools/qlist.cpp:221
#8  0x0000003437899635 in QListData::append (this=0x37cb8a9cd8, n=1) at tools/qlist.cpp:243
#9  0x0000003437894452 in QList<QString>::append (this=<optimized out>, t=...) at ../../src/corelib/tools/qlist.h:530
#10 0x00000034378d045e in operator<< (str=<optimized out>, this=0x37cb8a9cd8) at ../../src/corelib/tools/qstringlist.h:90
#11 QtPrivate::QStringList_filter (that=0x7fffc9dd9a60, rx=...) at tools/qstringlist.cpp:338
#12 0x00000037cb366a2b in filter (rx=..., this=0x7fffc9dd9a60) at /usr/include/QtCore/qstringlist.h:192
#13 EngineController::supportedMimeTypes () at /usr/src/debug/amarok-2.5.0/src/EngineController.cpp:269
#14 0x00000037cb366ef8 in EngineController::canDecode (url=...) at /usr/src/debug/amarok-2.5.0/src/EngineController.cpp:243
#15 0x00000037cb224740 in CollectionManager::trackForUrl (this=<optimized out>, url=...) at /usr/src/debug/amarok-2.5.0/src/core-impl/collections/support/CollectionManager.cpp:471
#16 0x00000037cb1cabac in MetaProxy::Worker::run (this=0x1233310) at /usr/src/debug/amarok-2.5.0/src/core-impl/meta/proxy/MetaProxyWorker.cpp:32
#17 0x0000003b7ce0c9fb in ThreadWeaver::JobRunHelper::runTheJob (this=0x7fffc9dd9ce0, th=0x1233450, job=0x1233310) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Job.cpp:106
#18 0x0000003b7ce0cb6c in ThreadWeaver::Job::execute (this=0x1233310, th=0x1233450) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Job.cpp:135
#19 0x0000003b7ce0c1bf in ThreadWeaver::ThreadRunHelper::run (this=0x7fffc9dd9d60, parent=0x10ffd30, th=0x1233450) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Thread.cpp:95
#20 0x0000003b7ce0c27b in ThreadWeaver::Thread::run (this=0x1233450) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Thread.cpp:142
#21 0x000000343787bb1b in QThreadPrivate::start (arg=0x1233450) at thread/qthread_unix.cpp:298
#22 0x000000323ba07d90 in start_thread (arg=0x7fffc9dda700) at pthread_create.c:309
#23 0x000000323b2f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 12 (Thread 0x7fffca5db700 (LWP 8981)):
#0  0x000000323b2e4257 in access () at ../sysdeps/unix/syscall-template.S:82
#1  0x0000003b76d5f761 in KStandardDirs::exists (fullPath=...) at /usr/src/debug/kdelibs-4.8.3/kdecore/kernel/kstandarddirs.cpp:593
#2  0x0000003b76d6556d in KStandardDirs::findResourceDir (this=<optimized out>, type=<optimized out>, _filename=<optimized out>) at /usr/src/debug/kdelibs-4.8.3/kdecore/kernel/kstandarddirs.cpp:568
#3  0x0000003b76d65651 in KStandardDirs::findResource (this=0x79cfa0, type=0x3b76e613b9 "xdgdata-mime", _filename=...) at /usr/src/debug/kdelibs-4.8.3/kdecore/kernel/kstandarddirs.cpp:476
#4  0x0000003b76d65785 in KStandardDirs::locate (type=0x3b76e613b9 "xdgdata-mime", filename=..., cData=<optimized out>) at /usr/src/debug/kdelibs-4.8.3/kdecore/kernel/kstandarddirs.cpp:2107
#5  0x0000003b76d8156a in KMimeTypeRepository::findMimeTypeByName (this=<optimized out>, _name=<optimized out>, options=<optimized out>)
    at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetyperepository.cpp:67
#6  0x0000003b76d811b5 in KMimeTypeRepository::aliases (this=0x7fffbc00bcb0) at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetyperepository.cpp:575
#7  0x0000003b76d813e1 in KMimeTypeRepository::resolveAlias (this=<optimized out>, mime=...) at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetyperepository.cpp:86
#8  0x0000003b76d81464 in KMimeTypeRepository::canonicalName (this=<optimized out>, mime=...) at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetyperepository.cpp:91
#9  0x0000003b76d8166d in KMimeTypeRepository::findMimeTypeByName (this=<optimized out>, _name=<optimized out>, options=<optimized out>)
    at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetyperepository.cpp:62
#10 0x0000003b76d764d2 in KMimeType::mimeType (name=..., options=KMimeType::ResolveAliases) at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetype.cpp:59
#11 0x0000003b76d7e838 in KMimeTypeRepository::checkEssentialMimeTypes (this=0x7fffbc00bcb0) at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetyperepository.cpp:636
#12 0x0000003b76d77e73 in KMimeType::findByUrlHelper (_url=..., mode=32768, is_local_file=true, device=0x7fffca5daab0, accuracy=0x7fffca5dab18)
    at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetype.cpp:184
#13 0x0000003b76d78ec1 in KMimeType::findByUrl (url=..., mode=32768, is_local_file=<optimized out>, fast_mode=<optimized out>, accuracy=<optimized out>)
---Type <return> to continue, or q <return> to quit---
    at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetype.cpp:323
#14 0x0000003ffa138d78 in KFileItem::mimeTypePtr (this=0x7fffca5dab60) at /usr/src/debug/kdelibs-4.8.3/kio/kio/kfileitem.cpp:1455
#15 0x00000037cb366f28 in EngineController::canDecode (url=...) at /usr/src/debug/amarok-2.5.0/src/EngineController.cpp:245
#16 0x00000037cb224740 in CollectionManager::trackForUrl (this=<optimized out>, url=...) at /usr/src/debug/amarok-2.5.0/src/core-impl/collections/support/CollectionManager.cpp:471
#17 0x00000037cb1cabac in MetaProxy::Worker::run (this=0x1233190) at /usr/src/debug/amarok-2.5.0/src/core-impl/meta/proxy/MetaProxyWorker.cpp:32
#18 0x0000003b7ce0c9fb in ThreadWeaver::JobRunHelper::runTheJob (this=0x7fffca5dace0, th=0x1154990, job=0x1233190) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Job.cpp:106
#19 0x0000003b7ce0cb6c in ThreadWeaver::Job::execute (this=0x1233190, th=0x1154990) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Job.cpp:135
#20 0x0000003b7ce0c1bf in ThreadWeaver::ThreadRunHelper::run (this=0x7fffca5dad60, parent=0x10ffd30, th=0x1154990) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Thread.cpp:95
#21 0x0000003b7ce0c27b in ThreadWeaver::Thread::run (this=0x1154990) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Thread.cpp:142
#22 0x000000343787bb1b in QThreadPrivate::start (arg=0x1154990) at thread/qthread_unix.cpp:298
#23 0x000000323ba07d90 in start_thread (arg=0x7fffca5db700) at pthread_create.c:309
#24 0x000000323b2f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 11 (Thread 0x7fffcaddc700 (LWP 8980)):
#0  0x000000323b2e4200 in __write_nocancel () at ../sysdeps/unix/syscall-template.S:82
#1  0x000000323b277b15 in __libc_message (do_abort=2, fmt=0x323b376678 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:191
#2  0x000000323b27dda6 in malloc_printerr (action=3, str=0x323b376818 "double free or corruption (!prev)", ptr=<optimized out>) at malloc.c:5021
#3  0x000000323b27f08e in _int_free (av=0x7fffbc000020, p=0x7fffbc01d440, have_lock=1) at malloc.c:3942
#4  0x000000323b281290 in _int_realloc (av=0x7fffbc000020, oldp=0x7fffbc01d440, oldsize=<optimized out>, nb=2064) at malloc.c:4432
#5  0x000000323b282cde in __GI___libc_realloc (oldmem=0x7fffbc01d450, bytes=2048) at malloc.c:3064
#6  0x0000003437899586 in QListData::realloc (this=0x37cb8a9cd8, alloc=253) at tools/qlist.cpp:221
#7  0x0000003437899635 in QListData::append (this=0x37cb8a9cd8, n=1) at tools/qlist.cpp:243
#8  0x0000003437894452 in QList<QString>::append (this=<optimized out>, t=...) at ../../src/corelib/tools/qlist.h:530
#9  0x00000034378d045e in operator<< (str=<optimized out>, this=0x37cb8a9cd8) at ../../src/corelib/tools/qstringlist.h:90
#10 QtPrivate::QStringList_filter (that=0x7fffcaddba60, rx=...) at tools/qstringlist.cpp:338
#11 0x00000037cb366a2b in filter (rx=..., this=0x7fffcaddba60) at /usr/include/QtCore/qstringlist.h:192
#12 EngineController::supportedMimeTypes () at /usr/src/debug/amarok-2.5.0/src/EngineController.cpp:269
#13 0x00000037cb366ef8 in EngineController::canDecode (url=...) at /usr/src/debug/amarok-2.5.0/src/EngineController.cpp:243
#14 0x00000037cb224740 in CollectionManager::trackForUrl (this=<optimized out>, url=...) at /usr/src/debug/amarok-2.5.0/src/core-impl/collections/support/CollectionManager.cpp:471
#15 0x00000037cb1cabac in MetaProxy::Worker::run (this=0x1232290) at /usr/src/debug/amarok-2.5.0/src/core-impl/meta/proxy/MetaProxyWorker.cpp:32
#16 0x0000003b7ce0c9fb in ThreadWeaver::JobRunHelper::runTheJob (this=0x7fffcaddbce0, th=0x11419c0, job=0x1232290) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Job.cpp:106
#17 0x0000003b7ce0cb6c in ThreadWeaver::Job::execute (this=0x1232290, th=0x11419c0) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Job.cpp:135
#18 0x0000003b7ce0c1bf in ThreadWeaver::ThreadRunHelper::run (this=0x7fffcaddbd60, parent=0x10ffd30, th=0x11419c0) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Thread.cpp:95
#19 0x0000003b7ce0c27b in ThreadWeaver::Thread::run (this=0x11419c0) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Thread.cpp:142
#20 0x000000343787bb1b in QThreadPrivate::start (arg=0x11419c0) at thread/qthread_unix.cpp:298
#21 0x000000323ba07d90 in start_thread (arg=0x7fffcaddc700) at pthread_create.c:309
#22 0x000000323b2f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 10 (Thread 0x7fffcbbf5700 (LWP 8979)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x000000343787c02b in wait (time=18446744073709551615, this=0x7fffbc00c9b0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x7fffbc015070, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x0000003437876816 in QReadWriteLock::lockForWrite (this=0x7fffbc00bd00) at thread/qreadwritelock.cpp:293
#4  0x0000003b76d7ecc8 in relock (this=<synthetic pointer>) at /usr/include/QtCore/qreadwritelock.h:155
#5  QWriteLocker (this=<synthetic pointer>, areadWriteLock=<optimized out>) at /usr/include/QtCore/qreadwritelock.h:175
---Type <return> to continue, or q <return> to quit---
#6  QWriteLocker (areadWriteLock=0x7fffbc00bd00, this=<synthetic pointer>) at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetyperepository.cpp:615
#7  KMimeTypeRepository::checkEssentialMimeTypes (this=0x7fffbc00bcb0) at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetyperepository.cpp:617
#8  0x0000003b76d77e73 in KMimeType::findByUrlHelper (_url=..., mode=32768, is_local_file=true, device=0x7fffcbbf4ab0, accuracy=0x7fffcbbf4b18)
    at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetype.cpp:184
#9  0x0000003b76d78ec1 in KMimeType::findByUrl (url=..., mode=32768, is_local_file=<optimized out>, fast_mode=<optimized out>, accuracy=<optimized out>)
    at /usr/src/debug/kdelibs-4.8.3/kdecore/services/kmimetype.cpp:323
#10 0x0000003ffa138d78 in KFileItem::mimeTypePtr (this=0x7fffcbbf4b60) at /usr/src/debug/kdelibs-4.8.3/kio/kio/kfileitem.cpp:1455
#11 0x00000037cb366f28 in EngineController::canDecode (url=...) at /usr/src/debug/amarok-2.5.0/src/EngineController.cpp:245
#12 0x00000037cb224740 in CollectionManager::trackForUrl (this=<optimized out>, url=...) at /usr/src/debug/amarok-2.5.0/src/core-impl/collections/support/CollectionManager.cpp:471
#13 0x00000037cb1cabac in MetaProxy::Worker::run (this=0x1230380) at /usr/src/debug/amarok-2.5.0/src/core-impl/meta/proxy/MetaProxyWorker.cpp:32
#14 0x0000003b7ce0c9fb in ThreadWeaver::JobRunHelper::runTheJob (this=0x7fffcbbf4ce0, th=0x1101ce0, job=0x1230380) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Job.cpp:106
#15 0x0000003b7ce0cb6c in ThreadWeaver::Job::execute (this=0x1230380, th=0x1101ce0) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Job.cpp:135
#16 0x0000003b7ce0c1bf in ThreadWeaver::ThreadRunHelper::run (this=0x7fffcbbf4d60, parent=0x10ffd30, th=0x1101ce0) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Thread.cpp:95
#17 0x0000003b7ce0c27b in ThreadWeaver::Thread::run (this=0x1101ce0) at /usr/src/debug/kdelibs-4.8.3/threadweaver/Weaver/Thread.cpp:142
#18 0x000000343787bb1b in QThreadPrivate::start (arg=0x1101ce0) at thread/qthread_unix.cpp:298
#19 0x000000323ba07d90 in start_thread (arg=0x7fffcbbf5700) at pthread_create.c:309
#20 0x000000323b2f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 9 (Thread 0x7fffd8922700 (LWP 8978)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x000000343787bf8f in wait (time=30000, this=0x7fffd00059d0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x7fffd0005978, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x000000343786f55f in QThreadPoolThread::run (this=0x7fffd0005c50) at concurrent/qthreadpool.cpp:141
#4  0x000000343787bb1b in QThreadPrivate::start (arg=0x7fffd0005c50) at thread/qthread_unix.cpp:298
#5  0x000000323ba07d90 in start_thread (arg=0x7fffd8922700) at pthread_create.c:309
#6  0x000000323b2f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 8 (Thread 0x7fffd9123700 (LWP 8977)):
#0  0x000000323b2e85c3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003436445448 in g_main_context_poll (n_fds=6, fds=0x7fffd000b4b0, priority=<optimized out>, timeout=-1, context=0x7fffd00009a0) at gmain.c:3402
#2  g_main_context_iterate (context=0x7fffd00009a0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3084
#3  0x000000343644590c in g_main_context_iteration (context=0x7fffd00009a0, may_block=1) at gmain.c:3152
#4  0x00000034379a85bf in QEventDispatcherGlib::processEvents (this=0x7fffd00008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x0000003437978a12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003437978c67 in QEventLoop::exec (this=0x7fffd9122d40, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003437878ad7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x000000343787bb1b in QThreadPrivate::start (arg=0x115e220) at thread/qthread_unix.cpp:298
#9  0x000000323ba07d90 in start_thread (arg=0x7fffd9123700) at pthread_create.c:309
#10 0x000000323b2f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 7 (Thread 0x7fffd9f9c700 (LWP 8976)):
#0  0x000000323b2e85c3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003436445448 in g_main_context_poll (n_fds=1, fds=0x7fffcc0012e0, priority=<optimized out>, timeout=-1, context=0x7fffcc0009a0) at gmain.c:3402
#2  g_main_context_iterate (context=0x7fffcc0009a0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3084
#3  0x000000343644590c in g_main_context_iteration (context=0x7fffcc0009a0, may_block=1) at gmain.c:3152
---Type <return> to continue, or q <return> to quit---
#4  0x00000034379a85bf in QEventDispatcherGlib::processEvents (this=0x7fffcc0008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x0000003437978a12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003437978c67 in QEventLoop::exec (this=0x7fffd9f9bd40, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003437878ad7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x000000343787bb1b in QThreadPrivate::start (arg=0xfa8cd0) at thread/qthread_unix.cpp:298
#9  0x000000323ba07d90 in start_thread (arg=0x7fffd9f9c700) at pthread_create.c:309
#10 0x000000323b2f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7fffdbffe700 (LWP 8975)):
#0  0x000000323b2e85c3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003436445448 in g_main_context_poll (n_fds=2, fds=0x7fffd4001c90, priority=<optimized out>, timeout=-1, context=0x7fffd40009e0) at gmain.c:3402
#2  g_main_context_iterate (context=0x7fffd40009e0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3084
#3  0x000000343644590c in g_main_context_iteration (context=0x7fffd40009e0, may_block=1) at gmain.c:3152
#4  0x00000034379a85bf in QEventDispatcherGlib::processEvents (this=0x7fffd4000900, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x0000003437978a12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003437978c67 in QEventLoop::exec (this=0x7fffdbffdd10, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003437878ad7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x000000343795870f in QInotifyFileSystemWatcherEngine::run (this=0xe361a0) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x000000343787bb1b in QThreadPrivate::start (arg=0xe361a0) at thread/qthread_unix.cpp:298
#10 0x000000323ba07d90 in start_thread (arg=0x7fffdbffe700) at pthread_create.c:309
#11 0x000000323b2f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7fffe821c700 (LWP 8973)):
#0  0x000000323b2e85c3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x000000344082c08f in poll_func (ufds=0x7fffe0000910, nfds=2, timeout=-1, userdata=0xd61f20) at pulse/thread-mainloop.c:75
#2  0x000000344081df06 in pa_mainloop_poll (m=0x7ad500) at pulse/mainloop.c:879
#3  0x000000344081e539 in pa_mainloop_iterate (m=0x7ad500, block=<optimized out>, retval=0x0) at pulse/mainloop.c:961
#4  0x000000344081e5f0 in pa_mainloop_run (m=0x7ad500, retval=0x0) at pulse/mainloop.c:979
#5  0x000000344082c03f in thread (userdata=0xd61d10) at pulse/thread-mainloop.c:94
#6  0x0000003440438be8 in internal_thread_func (userdata=0xd620d0) at pulsecore/thread-posix.c:83
#7  0x000000323ba07d90 in start_thread (arg=0x7fffe821c700) at pthread_create.c:309
#8  0x000000323b2f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7ffff7f9f840 (LWP 8968)):
#0  _int_malloc (av=0x323b5b1700, bytes=8) at malloc.c:3458
#1  0x000000323b282595 in __GI___libc_malloc (bytes=8) at malloc.c:2928
#2  0x0000003c440ba3bd in operator new (sz=8) at ../../../../libstdc++-v3/libsupc++/new_op.cc:52
#3  0x0000003b774a39ce in KRockerGesture::KRockerGesture (this=0x124ff70) at /usr/src/debug/kdelibs-4.8.3/kdeui/shortcuts/kgesture.cpp:417
#4  0x0000003b7736d241 in KActionPrivate (this=0x124ff40) at /usr/src/debug/kdelibs-4.8.3/kdeui/actions/kaction_p.h:36
#5  KAction::KAction (this=0x1258fb0, icon=..., text=..., parent=<optimized out>) at /usr/src/debug/kdelibs-4.8.3/kdeui/actions/kaction.cpp:153
#6  0x00000037cb3721ea in MainWindow::createActions (this=0xd6e8c0) at /usr/src/debug/amarok-2.5.0/src/MainWindow.cpp:755
#7  0x00000037cb37c243 in MainWindow::MainWindow (this=0xd6e8c0) at /usr/src/debug/amarok-2.5.0/src/MainWindow.cpp:145
#8  0x00000037cb35498f in App::continueInit (this=0x7fffffffba50) at /usr/src/debug/amarok-2.5.0/src/App.cpp:545
#9  0x00000037cb356098 in App::App (this=0x7fffffffba50) at /usr/src/debug/amarok-2.5.0/src/App.cpp:185
#10 0x0000000000408e25 in main (argc=3, argv=0x7fffffffded8) at /usr/src/debug/amarok-2.5.0/src/main.cpp:301
(gdb)
Comment 8 Matěj Laitl 2012-05-28 10:31:13 UTC
This is clearly an Amarok bug, namely a threaading issue in EngineController::supportedMimeTypes() //static:

Thread 13 (Thread 0x7fffc9dda700 (LWP 8982)):
(...)
#11 QtPrivate::QStringList_filter (that=0x7fffc9dd9a60, rx=...) at tools/qstringlist.cpp:338
#12 0x00000037cb366a2b in filter (rx=..., this=0x7fffc9dd9a60) at /usr/include/QtCore/qstringlist.h:192
#13 EngineController::supportedMimeTypes () at /usr/src/debug/amarok-2.5.0/src/EngineController.cpp:269
#14 0x00000037cb366ef8 in EngineController::canDecode (url=...) at /usr/src/debug/amarok-2.5.0/src/EngineController.cpp:243

Thread 11 (Thread 0x7fffcaddc700 (LWP 8980)):
(...)
#10 QtPrivate::QStringList_filter (that=0x7fffcaddba60, rx=...) at tools/qstringlist.cpp:338
#11 0x00000037cb366a2b in filter (rx=..., this=0x7fffcaddba60) at /usr/include/QtCore/qstringlist.h:192
#12 EngineController::supportedMimeTypes () at /usr/src/debug/amarok-2.5.0/src/EngineController.cpp:269
#13 0x00000037cb366ef8 in EngineController::canDecode (url=...) at /usr/src/debug/amarok-2.5.0/src/EngineController.cpp:243

I'll have a look at it.
Comment 9 Matěj Laitl 2012-05-28 11:28:18 UTC
Git commit 8db5599d16492da1907d3fbdd82eb0e62c1e5efc by Matěj Laitl.
Committed on 28/05/2012 at 12:53.
Pushed by laitl into branch 'master'.

EngineController: thread safety for supportedMimeTypes()

This hopefully fixes mentioned bug.

BUGFIXES:
 * Fix crash on startup due to EngineController.
FIXED-IN: 2.6
DIGEST: Bugfix

M  +1    -0    ChangeLog
M  +14   -5    src/EngineController.cpp
M  +2    -0    src/EngineController.h

http://commits.kde.org/amarok/8db5599d16492da1907d3fbdd82eb0e62c1e5efc
Comment 10 Marek 2012-05-28 20:42:46 UTC
It seems this bug was introduced in 2.5.0-8 (current Fedora 16) version. After downgrade (via yum) to 2.4.3-1, amarok starts OK. Or the code just takes a different path ;-)
Comment 11 Myriam Schweingruber 2012-05-29 15:32:43 UTC
*** Bug 300801 has been marked as a duplicate of this bug. ***
Comment 12 Myriam Schweingruber 2012-06-07 04:24:26 UTC
*** Bug 300863 has been marked as a duplicate of this bug. ***
Comment 13 Myriam Schweingruber 2012-07-10 20:15:59 UTC
*** Bug 303277 has been marked as a duplicate of this bug. ***
Comment 14 Myriam Schweingruber 2012-07-16 22:30:11 UTC
*** Bug 303514 has been marked as a duplicate of this bug. ***
Comment 15 Myriam Schweingruber 2012-08-04 12:04:47 UTC
*** Bug 301364 has been marked as a duplicate of this bug. ***
Comment 16 Myriam Schweingruber 2012-08-16 23:21:29 UTC
*** Bug 305267 has been marked as a duplicate of this bug. ***
Comment 17 Slayer_X 2012-08-20 22:56:31 UTC
Created attachment 73336 [details]
New crash information added by DrKonqi

amarok (2.5.0) on KDE Platform 4.8.4 (4.8.4) using Qt 4.8.2

Seems like the problem appears with the last upgrade

-- Backtrace (Reduced):
#8  0x44b4598f in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#9  0x44b472d5 in __GI_abort () at abort.c:91
[...]
#11 0x44b8cf12 in malloc_printerr (action=<optimized out>, str=<optimized out>, ptr=0xad738f38) at malloc.c:5021
#12 0x44b8e068 in _int_free (av=0xad700010, p=0xad738f30, have_lock=1) at malloc.c:3942
#13 0x44b901b0 in _int_realloc (av=0xad700010, oldp=0xad738f30, oldsize=56, nb=64) at malloc.c:4432
Comment 18 Myriam Schweingruber 2012-08-21 06:23:03 UTC
Closing correctly. Please do NOT add comments about a version older than 2.6