Bug 320855 - Amarok crashes on start
Summary: Amarok crashes on start
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: git master
Platform: OpenSUSE Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi, reproducible
: 321144 322446 323485 323611 323714 323780 324327 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-06-07 10:52 UTC by Hrvoje Senjan
Modified: 2013-08-31 18:10 UTC (History)
10 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.11.1


Attachments
Amarok workaround (1008 bytes, patch)
2013-06-09 18:34 UTC, Hrvoje Senjan
Details
New crash information added by DrKonqi (28.61 KB, text/plain)
2013-06-15 16:32 UTC, Emil Sedgh
Details
New crash information added by DrKonqi (8.89 KB, text/plain)
2013-07-16 15:37 UTC, Petr Tesarik
Details
proposed fix (703 bytes, patch)
2013-07-16 16:46 UTC, Petr Tesarik
Details
New crash information added by DrKonqi (25.94 KB, text/plain)
2013-08-16 18:07 UTC, Tomas Killian
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Hrvoje Senjan 2013-06-07 10:52:10 UTC
Application: amarok (2.7-git)
KDE Platform Version: 4.10.60 "release 10"
Qt Version: 4.8.5
Operating System: Linux 3.10.0-rc4-1.gb3d0118-desktop x86_64
Distribution: "openSUSE 13.1 Milestone 1 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:

*Probably* caused by fe61ba48d5bb86222684919fd27f339d0e7a1013 in kdelibs... as the bt shows it crashes in Plasma::Theme.
There is also a soprano/virtuoso related crash ...

The crash can be reproduced every time.

-- Backtrace:
Application: Amarok (amarok), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f57272e0780 (LWP 3001))]

Thread 9 (Thread 0x7f570110d700 (LWP 3003)):
#0  0x00007f572219fd11 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f57024fba56 in my_service_thread_sleep () from /usr/lib64/libmysqld.so.18
#2  0x00007f57024fd127 in ma_checkpoint_background () from /usr/lib64/libmysqld.so.18
#3  0x00007f572219be0e in start_thread () from /lib64/libpthread.so.0
#4  0x00007f5724038b9d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7f56f360b700 (LWP 3004)):
#0  0x00007f572219fd11 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f5724685187 in wait (time=60000, this=0x133bba0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1315b38, time=60000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f5726331ae5 in AbstractDirectoryWatcher::run (this=0x1315b10) at /usr/src/debug/amarok-2.7.40git.1370337423/src/scanner/AbstractDirectoryWatcher.cpp:65
#4  0x00007f57212ad74a in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0x7f56f360adc0, th=th@entry=0x133d5b0, job=job@entry=0x1315b10) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Job.cpp:106
#5  0x00007f57212ad8c1 in ThreadWeaver::Job::execute (this=0x1315b10, th=0x133d5b0) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Job.cpp:135
#6  0x00007f57212ad03b in ThreadWeaver::Thread::run (this=0x133d5b0) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Thread.cpp:108
#7  0x00007f5724684ccc in QThreadPrivate::start (arg=0x133d5b0) at thread/qthread_unix.cpp:338
#8  0x00007f572219be0e in start_thread () from /lib64/libpthread.so.0
#9  0x00007f5724038b9d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7f56f2e0a700 (LWP 3005)):
#0  0x00007fff691feaf7 in clock_gettime ()
#1  0x00007f572404a8cd in clock_gettime () from /lib64/libc.so.6
#2  0x00007f57246da9a4 in do_gettime (frac=0x7f56f2e09b18, sec=0x7f56f2e09b10) at tools/qelapsedtimer_unix.cpp:127
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#4  0x00007f57247afa0d in QTimerInfoList::updateCurrentTime (this=this@entry=0x7f56e4002660) at kernel/qeventdispatcher_unix.cpp:354
#5  0x00007f57247afd53 in QTimerInfoList::timerWait (this=0x7f56e4002660, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#6  0x00007f57247ae73c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f56f2e09c04) at kernel/qeventdispatcher_glib.cpp:136
#7  0x00007f57247ae7e5 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#8  0x00007f571e4b97a0 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#9  0x00007f571e4b9f9e in ?? () from /usr/lib64/libglib-2.0.so.0
#10 0x00007f571e4ba1a4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#11 0x00007f57247af056 in QEventDispatcherGlib::processEvents (this=0x7f56e40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#12 0x00007f572477f76f in QEventLoop::processEvents (this=this@entry=0x7f56f2e09dd0, flags=...) at kernel/qeventloop.cpp:149
#13 0x00007f572477f9f8 in QEventLoop::exec (this=0x7f56f2e09dd0, flags=...) at kernel/qeventloop.cpp:204
#14 0x00007f57246824f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536
#15 0x00007f57247612ff in QInotifyFileSystemWatcherEngine::run (this=0x13402b0) at io/qfilesystemwatcher_inotify.cpp:256
#16 0x00007f5724684ccc in QThreadPrivate::start (arg=0x13402b0) at thread/qthread_unix.cpp:338
#17 0x00007f572219be0e in start_thread () from /lib64/libpthread.so.0
#18 0x00007f5724038b9d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f56f1623700 (LWP 3009)):
#0  0x00007f5724034819 in syscall () from /lib64/libc.so.6
#1  0x00007f5724683774 in _q_futex (timeout=0x0, val=2, op=0, addr=0xd17e80, addr2=<optimized out>, val2=<optimized out>) at thread/qmutex_unix.cpp:99
#2  QMutexPrivate::wait (this=0xd17e80, timeout=<optimized out>) at thread/qmutex_unix.cpp:113
#3  0x00007f572467fa8d in QMutex::lock (this=<optimized out>) at thread/qmutex.cpp:164
#4  0x00007f57258e42d5 in lockInline (this=0xd08ba8) at /usr/include/QtCore/qmutex.h:188
#5  QMutexLocker (m=0xd08ba8, this=<synthetic pointer>) at /usr/include/QtCore/qmutex.h:109
#6  KStandardDirs::KStandardDirsPrivate::resourceDirs (this=0xd08b60, type=type@entry=0x7f57259d9c7e "xdgdata-mime", subdirForRestrictions=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:1070
#7  0x00007f57258e6329 in KStandardDirs::findResourceDir (this=this@entry=0xd07da0, type=type@entry=0x7f57259d9c7e "xdgdata-mime", _filename=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:564
#8  0x00007f57258e6471 in KStandardDirs::findResource (this=0xd07da0, type=type@entry=0x7f57259d9c7e "xdgdata-mime", _filename=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:476
#9  0x00007f57258e65a5 in KStandardDirs::locate (type=0x7f57259d9c7e "xdgdata-mime", filename=..., cData=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:2100
#10 0x00007f57259008e9 in KMimeTypeRepository::findMimeTypeByName (this=<optimized out>, _name=..., options=<optimized out>) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetyperepository.cpp:68
#11 0x00007f57258f6e12 in KMimeType::mimeType (name=..., options=options@entry=KMimeType::ResolveAliases) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:60
#12 0x00007f57258f875c in KMimeType::findByUrlHelper (_url=..., mode=mode@entry=0, is_local_file=is_local_file@entry=true, device=device@entry=0x7f56f1622b70, accuracy=0x0) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:208
#13 0x00007f57258f8d97 in KMimeType::findByUrl (url=..., mode=mode@entry=0, is_local_file=is_local_file@entry=true, fast_mode=fast_mode@entry=false, accuracy=accuracy@entry=0x0) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:324
#14 0x00007f57258f8e08 in KMimeType::findByPath (path=..., mode=0, fast_mode=false, accuracy=0x0) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:334
#15 0x00007f57262bf3e0 in MetaFile::Track::isTrack (url=...) at /usr/src/debug/amarok-2.7.40git.1370337423/src/core-impl/meta/file/File.cpp:423
#16 0x00007f5726301785 in CollectionManager::trackForUrl (this=0x11e7290, url=...) at /usr/src/debug/amarok-2.7.40git.1370337423/src/core-impl/collections/support/CollectionManager.cpp:477
#17 0x00007f57262d0cb4 in MetaProxy::Worker::run (this=0x7f56d823d0f0) at /usr/src/debug/amarok-2.7.40git.1370337423/src/core-impl/meta/proxy/MetaProxyWorker.cpp:45
#18 0x00007f57212ad74a in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0x7f56f1622dc0, th=th@entry=0x13a8ad0, job=job@entry=0x7f56d823d0f0) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Job.cpp:106
#19 0x00007f57212ad8c1 in ThreadWeaver::Job::execute (this=0x7f56d823d0f0, th=0x13a8ad0) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Job.cpp:135
#20 0x00007f57212ad03b in ThreadWeaver::Thread::run (this=0x13a8ad0) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Thread.cpp:108
#21 0x00007f5724684ccc in QThreadPrivate::start (arg=0x13a8ad0) at thread/qthread_unix.cpp:338
#22 0x00007f572219be0e in start_thread () from /lib64/libpthread.so.0
#23 0x00007f5724038b9d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f56e3fff700 (LWP 3010)):
#0  0x00007f5724034819 in syscall () from /lib64/libc.so.6
#1  0x00007f5724683774 in _q_futex (timeout=0x0, val=2, op=0, addr=0xd17e80, addr2=<optimized out>, val2=<optimized out>) at thread/qmutex_unix.cpp:99
#2  QMutexPrivate::wait (this=0xd17e80, timeout=<optimized out>) at thread/qmutex_unix.cpp:113
#3  0x00007f572467fa8d in QMutex::lock (this=<optimized out>) at thread/qmutex.cpp:164
#4  0x00007f57258e42d5 in lockInline (this=0xd08ba8) at /usr/include/QtCore/qmutex.h:188
#5  QMutexLocker (m=0xd08ba8, this=<synthetic pointer>) at /usr/include/QtCore/qmutex.h:109
#6  KStandardDirs::KStandardDirsPrivate::resourceDirs (this=0xd08b60, type=type@entry=0x7f57259d9c7e "xdgdata-mime", subdirForRestrictions=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:1070
#7  0x00007f57258e6329 in KStandardDirs::findResourceDir (this=this@entry=0xd07da0, type=type@entry=0x7f57259d9c7e "xdgdata-mime", _filename=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:564
#8  0x00007f57258e6471 in KStandardDirs::findResource (this=0xd07da0, type=type@entry=0x7f57259d9c7e "xdgdata-mime", _filename=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:476
#9  0x00007f57258e65a5 in KStandardDirs::locate (type=0x7f57259d9c7e "xdgdata-mime", filename=..., cData=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:2100
#10 0x00007f57259008e9 in KMimeTypeRepository::findMimeTypeByName (this=<optimized out>, _name=..., options=<optimized out>) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetyperepository.cpp:68
#11 0x00007f57258f6e12 in KMimeType::mimeType (name=..., options=options@entry=KMimeType::ResolveAliases) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:60
#12 0x00007f57258f875c in KMimeType::findByUrlHelper (_url=..., mode=mode@entry=0, is_local_file=is_local_file@entry=true, device=device@entry=0x7f56e3ffeb70, accuracy=0x0) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:208
#13 0x00007f57258f8d97 in KMimeType::findByUrl (url=..., mode=mode@entry=0, is_local_file=is_local_file@entry=true, fast_mode=fast_mode@entry=false, accuracy=accuracy@entry=0x0) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:324
#14 0x00007f57258f8e08 in KMimeType::findByPath (path=..., mode=0, fast_mode=false, accuracy=0x0) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:334
#15 0x00007f57262bf3e0 in MetaFile::Track::isTrack (url=...) at /usr/src/debug/amarok-2.7.40git.1370337423/src/core-impl/meta/file/File.cpp:423
#16 0x00007f5726301785 in CollectionManager::trackForUrl (this=0x11e7290, url=...) at /usr/src/debug/amarok-2.7.40git.1370337423/src/core-impl/collections/support/CollectionManager.cpp:477
#17 0x00007f57262d0cb4 in MetaProxy::Worker::run (this=0x7f56d823b580) at /usr/src/debug/amarok-2.7.40git.1370337423/src/core-impl/meta/proxy/MetaProxyWorker.cpp:45
#18 0x00007f57212ad74a in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0x7f56e3ffedc0, th=th@entry=0x15da360, job=job@entry=0x7f56d823b580) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Job.cpp:106
#19 0x00007f57212ad8c1 in ThreadWeaver::Job::execute (this=0x7f56d823b580, th=0x15da360) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Job.cpp:135
#20 0x00007f57212ad03b in ThreadWeaver::Thread::run (this=0x15da360) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Thread.cpp:108
#21 0x00007f5724684ccc in QThreadPrivate::start (arg=0x15da360) at thread/qthread_unix.cpp:338
#22 0x00007f572219be0e in start_thread () from /lib64/libpthread.so.0
#23 0x00007f5724038b9d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f56e37fe700 (LWP 3011)):
#0  0x00007f5724034819 in syscall () from /lib64/libc.so.6
#1  0x00007f5724683774 in _q_futex (timeout=0x0, val=2, op=0, addr=0xd17e80, addr2=<optimized out>, val2=<optimized out>) at thread/qmutex_unix.cpp:99
#2  QMutexPrivate::wait (this=0xd17e80, timeout=<optimized out>) at thread/qmutex_unix.cpp:113
#3  0x00007f572467fa8d in QMutex::lock (this=<optimized out>) at thread/qmutex.cpp:164
#4  0x00007f57258e42d5 in lockInline (this=0xd08ba8) at /usr/include/QtCore/qmutex.h:188
#5  QMutexLocker (m=0xd08ba8, this=<synthetic pointer>) at /usr/include/QtCore/qmutex.h:109
#6  KStandardDirs::KStandardDirsPrivate::resourceDirs (this=0xd08b60, type=type@entry=0x7f57259d9c7e "xdgdata-mime", subdirForRestrictions=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:1070
#7  0x00007f57258e6329 in KStandardDirs::findResourceDir (this=this@entry=0xd07da0, type=type@entry=0x7f57259d9c7e "xdgdata-mime", _filename=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:564
#8  0x00007f57258e6471 in KStandardDirs::findResource (this=0xd07da0, type=type@entry=0x7f57259d9c7e "xdgdata-mime", _filename=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:476
#9  0x00007f57258e65a5 in KStandardDirs::locate (type=0x7f57259d9c7e "xdgdata-mime", filename=..., cData=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:2100
#10 0x00007f57259008e9 in KMimeTypeRepository::findMimeTypeByName (this=<optimized out>, _name=..., options=<optimized out>) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetyperepository.cpp:68
#11 0x00007f57258f6e12 in KMimeType::mimeType (name=..., options=options@entry=KMimeType::ResolveAliases) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:60
#12 0x00007f57258f875c in KMimeType::findByUrlHelper (_url=..., mode=mode@entry=0, is_local_file=is_local_file@entry=true, device=device@entry=0x7f56e37fdb70, accuracy=0x0) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:208
#13 0x00007f57258f8d97 in KMimeType::findByUrl (url=..., mode=mode@entry=0, is_local_file=is_local_file@entry=true, fast_mode=fast_mode@entry=false, accuracy=accuracy@entry=0x0) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:324
#14 0x00007f57258f8e08 in KMimeType::findByPath (path=..., mode=0, fast_mode=false, accuracy=0x0) at /usr/src/debug/kdelibs-git/kdecore/services/kmimetype.cpp:334
#15 0x00007f57262bf3e0 in MetaFile::Track::isTrack (url=...) at /usr/src/debug/amarok-2.7.40git.1370337423/src/core-impl/meta/file/File.cpp:423
#16 0x00007f5726301785 in CollectionManager::trackForUrl (this=0x11e7290, url=...) at /usr/src/debug/amarok-2.7.40git.1370337423/src/core-impl/collections/support/CollectionManager.cpp:477
#17 0x00007f57262d0cb4 in MetaProxy::Worker::run (this=0x7f56d823c380) at /usr/src/debug/amarok-2.7.40git.1370337423/src/core-impl/meta/proxy/MetaProxyWorker.cpp:45
#18 0x00007f57212ad74a in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0x7f56e37fddc0, th=th@entry=0x7f56d8044b00, job=job@entry=0x7f56d823c380) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Job.cpp:106
#19 0x00007f57212ad8c1 in ThreadWeaver::Job::execute (this=0x7f56d823c380, th=0x7f56d8044b00) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Job.cpp:135
#20 0x00007f57212ad03b in ThreadWeaver::Thread::run (this=0x7f56d8044b00) at /usr/src/debug/kdelibs-git/threadweaver/Weaver/Thread.cpp:108
#21 0x00007f5724684ccc in QThreadPrivate::start (arg=0x7f56d8044b00) at thread/qthread_unix.cpp:338
#22 0x00007f572219be0e in start_thread () from /lib64/libpthread.so.0
#23 0x00007f5724038b9d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f56e29ba700 (LWP 3012)):
#0  0x00007f572219f964 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f571ab0d580 in WTF::TCMalloc_PageHeap::scavengerThread (this=0x7f571b58a600 <WTF::pageheap_memory>) at /usr/src/debug/webkit-qtwebkit-23/Source/WTF/wtf/FastMalloc.cpp:2571
#2  0x00007f571ab0d5b9 in WTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at /usr/src/debug/webkit-qtwebkit-23/Source/WTF/wtf/FastMalloc.cpp:1767
#3  0x00007f572219be0e in start_thread () from /lib64/libpthread.so.0
#4  0x00007f5724038b9d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f56e1ea4700 (LWP 3014)):
#0  0x00007f572402fc4d in poll () from /lib64/libc.so.6
#1  0x00007f571e4ba07c in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f571e4ba1a4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f57247af056 in QEventDispatcherGlib::processEvents (this=0x7f56d40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#4  0x00007f572477f76f in QEventLoop::processEvents (this=this@entry=0x7f56e1ea3e00, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f572477f9f8 in QEventLoop::exec (this=0x7f56e1ea3e00, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f57246824f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536
#7  0x00007f5724684ccc in QThreadPrivate::start (arg=0x1a15d00) at thread/qthread_unix.cpp:338
#8  0x00007f572219be0e in start_thread () from /lib64/libpthread.so.0
#9  0x00007f5724038b9d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f57272e0780 (LWP 3001)):
[KCrash Handler]
#6  KStandardDirs::saveLocation (this=0xd07da0, type=type@entry=0x0, suffix=..., create=create@entry=false) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:1499
#7  0x00007f57258e628b in KStandardDirs::locateLocal (type=0x0, filename=..., createDir=false, cData=...) at /usr/src/debug/kdelibs-git/kdecore/kernel/kstandarddirs.cpp:2117
#8  0x00007f572583921a in KConfigPrivate::changeFileName (this=0x20c67a0, name=..., type=<optimized out>) at /usr/src/debug/kdelibs-git/kdecore/config/kconfig.cpp:541
#9  0x00007f57258514b4 in KDesktopFilePrivate::KDesktopFilePrivate (this=0x20c67a0, resourceType=0x0, fileName=...) at /usr/src/debug/kdelibs-git/kdecore/config/kdesktopfile.cpp:52
#10 0x00007f5725852eac in KDesktopFile::KDesktopFile (this=0x7fff691297d0, resourceType=0x0, fileName=...) at /usr/src/debug/kdelibs-git/kdecore/config/kdesktopfile.cpp:56
#11 0x00007f5725927727 in KPluginInfo::KPluginInfo (this=0x7fff691298b0, filename=..., resource=0x0) at /usr/src/debug/kdelibs-git/kdecore/services/kplugininfo.cpp:82
#12 0x00007f57207ca524 in Plasma::ThemePrivate::useCache (this=0x18c21f0) at /usr/src/debug/kdelibs-git/plasma/theme.cpp:232
#13 0x00007f57207cac6a in Plasma::Theme::findInCache (this=0x18c1de0, key=..., pix=...) at /usr/src/debug/kdelibs-git/plasma/theme.cpp:977
#14 0x00007f5720756e40 in Plasma::FrameSvgPrivate::generateBackground (this=0x19b5630, frame=frame@entry=0x1ab78a0) at /usr/src/debug/kdelibs-git/plasma/framesvg.cpp:671
#15 0x00007f572075855b in Plasma::FrameSvg::paintFrame (this=0x19912d0, painter=0x7fff69129e10, pos=...) at /usr/src/debug/kdelibs-git/plasma/framesvg.cpp:529
#16 0x00007f5720792b80 in Plasma::Style::drawComplexControl (this=0x1991370, control=<optimized out>, option=0x7fff69129e20, painter=0x7fff69129e10, widget=<optimized out>) at /usr/src/debug/kdelibs-git/plasma/private/style.cpp:157
#17 0x00007f5725106d57 in QScrollBar::paintEvent (this=0x198fd70) at widgets/qscrollbar.cpp:567
#18 0x00007f5724d0a2fe in QWidget::event (this=0x198fd70, event=0x7fff6912a710) at kernel/qwidget.cpp:8533
#19 0x00007f572510781b in QScrollBar::event (this=0x198fd70, event=0x7fff6912a710) at widgets/qscrollbar.cpp:547
#20 0x00007f5724cbd17c in QApplicationPrivate::notify_helper (this=this@entry=0xd11d80, receiver=receiver@entry=0x198fd70, e=e@entry=0x7fff6912a710) at kernel/qapplication.cpp:4562
#21 0x00007f5724cbfaeb in QApplication::notify (this=0x7fff6912fc00, receiver=0x198fd70, e=0x7fff6912a710) at kernel/qapplication.cpp:4423
#22 0x00007f5726d16756 in KApplication::notify (this=0x7fff6912fc00, receiver=0x198fd70, event=0x7fff6912a710) at /usr/src/debug/kdelibs-git/kdeui/kernel/kapplication.cpp:311
#23 0x00007f5724780abe in QCoreApplication::notifyInternal (this=0x7fff6912fc00, receiver=0x198fd70, event=0x7fff6912a710) at kernel/qcoreapplication.cpp:949
#24 0x00007f5724d0ef74 in sendSpontaneousEvent (event=0x7fff6912a710, receiver=0x198fd70) at ../../src/corelib/kernel/qcoreapplication.h:234
#25 QWidgetPrivate::drawWidget (this=this@entry=0x19beca0, pdev=pdev@entry=0x1f45ec0, rgn=..., offset=..., flags=flags@entry=15, sharedPainter=0x7fff6912c9f0, backingStore=backingStore@entry=0x0) at kernel/qwidget.cpp:5599
#26 0x00007f5724d0fd01 in QWidgetPrivate::render (this=0x19beca0, target=target@entry=0x1f45ec0, targetOffset=..., sourceRegion=..., renderFlags=..., readyToRender=readyToRender@entry=false) at kernel/qwidget.cpp:5735
#27 0x00007f5724d0ffc9 in QWidget::render (this=this@entry=0x198fd70, target=target@entry=0x1f45ec0, targetOffset=..., sourceRegion=..., renderFlags=...) at kernel/qwidget.cpp:5184
#28 0x00007f5724d10c88 in QWidget::render (this=0x198fd70, painter=<optimized out>, targetOffset=..., sourceRegion=..., renderFlags=...) at kernel/qwidget.cpp:5262
#29 0x00007f572529768b in QGraphicsProxyWidget::paint (this=<optimized out>, painter=0x7fff6912c9f0, option=<optimized out>, widget=<optimized out>) at graphicsview/qgraphicsproxywidget.cpp:1490
#30 0x00007f572529c9d9 in _q_paintItem (item=item@entry=0x19b3840, painter=painter@entry=0x7fff6912c9f0, option=option@entry=0x18ba4e8, widget=widget@entry=0x195a6e0, useWindowOpacity=useWindowOpacity@entry=true, painterStateProtection=painterStateProtection@entry=true) at graphicsview/qgraphicsscene.cpp:4335
#31 0x00007f57252ac545 in QGraphicsScenePrivate::drawItemHelper (this=this@entry=0x18ba2c0, item=item@entry=0x19b3840, painter=painter@entry=0x7fff6912c9f0, option=option@entry=0x18ba4e8, widget=widget@entry=0x195a6e0, painterStateProtection=true) at graphicsview/qgraphicsscene.cpp:4431
#32 0x00007f57252aeeb8 in QGraphicsScenePrivate::draw (this=this@entry=0x18ba2c0, item=item@entry=0x19b3840, painter=painter@entry=0x7fff6912c9f0, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x19b2940, exposedRegion=exposedRegion@entry=0x18dd9c8, widget=0x195a6e0, opacity=opacity@entry=1, effectTransform=effectTransform@entry=0x0, wasDirtyParentSceneTransform=wasDirtyParentSceneTransform@entry=true, drawItem=true) at graphicsview/qgraphicsscene.cpp:4966
#33 0x00007f57252af575 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x18ba2c0, item=0x19b3840, painter=0x7fff6912c9f0, viewTransform=0x0, exposedRegion=0x18dd9c8, widget=0x195a6e0, parentOpacity=<optimized out>, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4857
#34 0x00007f57252aea45 in QGraphicsScenePrivate::draw (this=this@entry=0x18ba2c0, item=item@entry=0x1997990, painter=painter@entry=0x7fff6912c9f0, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x198ef10, exposedRegion=exposedRegion@entry=0x18dd9c8, widget=0x195a6e0, opacity=opacity@entry=1, effectTransform=effectTransform@entry=0x0, wasDirtyParentSceneTransform=wasDirtyParentSceneTransform@entry=true, drawItem=true) at graphicsview/qgraphicsscene.cpp:4996
#35 0x00007f57252af575 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x18ba2c0, item=0x1997990, painter=0x7fff6912c9f0, viewTransform=0x0, exposedRegion=0x18dd9c8, widget=0x195a6e0, parentOpacity=<optimized out>, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4857
#36 0x00007f57252aea45 in QGraphicsScenePrivate::draw (this=this@entry=0x18ba2c0, item=item@entry=0x19aa020, painter=painter@entry=0x7fff6912c9f0, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x19aa730, exposedRegion=exposedRegion@entry=0x18dd9c8, widget=0x195a6e0, opacity=opacity@entry=1, effectTransform=effectTransform@entry=0x0, wasDirtyParentSceneTransform=wasDirtyParentSceneTransform@entry=true, drawItem=true) at graphicsview/qgraphicsscene.cpp:4996
#37 0x00007f57252af575 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x18ba2c0, item=0x19aa020, painter=0x7fff6912c9f0, viewTransform=0x0, exposedRegion=0x18dd9c8, widget=0x195a6e0, parentOpacity=<optimized out>, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4857
#38 0x00007f57252aea45 in QGraphicsScenePrivate::draw (this=this@entry=0x18ba2c0, item=item@entry=0x19090e0, painter=painter@entry=0x7fff6912c9f0, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x1904dd0, exposedRegion=exposedRegion@entry=0x18dd9c8, widget=0x195a6e0, opacity=opacity@entry=1, effectTransform=effectTransform@entry=0x0, wasDirtyParentSceneTransform=wasDirtyParentSceneTransform@entry=true, drawItem=true) at graphicsview/qgraphicsscene.cpp:4996
#39 0x00007f57252af575 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x18ba2c0, item=0x19090e0, painter=0x7fff6912c9f0, viewTransform=0x0, exposedRegion=0x18dd9c8, widget=0x195a6e0, parentOpacity=<optimized out>, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4857
#40 0x00007f57252aea45 in QGraphicsScenePrivate::draw (this=this@entry=0x18ba2c0, item=item@entry=0x1908ee0, painter=painter@entry=0x7fff6912c9f0, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x18d09f0, exposedRegion=exposedRegion@entry=0x18dd9c8, widget=0x195a6e0, opacity=opacity@entry=1, effectTransform=effectTransform@entry=0x0, wasDirtyParentSceneTransform=wasDirtyParentSceneTransform@entry=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4996
#41 0x00007f57252af575 in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x18ba2c0, item=0x1908ee0, painter=painter@entry=0x7fff6912c9f0, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x18dd9c8, widget=widget@entry=0x195a6e0, parentOpacity=parentOpacity@entry=1, effectTransform=effectTransform@entry=0x0) at graphicsview/qgraphicsscene.cpp:4857
#42 0x00007f57252b005e in QGraphicsScenePrivate::drawItems (this=0x18ba2c0, painter=0x7fff6912c9f0, viewTransform=0x0, exposedRegion=0x18dd9c8, widget=0x195a6e0) at graphicsview/qgraphicsscene.cpp:4739
#43 0x00007f57252cc948 in QGraphicsView::paintEvent (this=0x18b7e10, event=<optimized out>) at graphicsview/qgraphicsview.cpp:3471
#44 0x00007f5724d0a2fe in QWidget::event (this=0x18b7e10, event=0x7fff6912d640) at kernel/qwidget.cpp:8533
#45 0x00007f57250b84d6 in QFrame::event (this=0x18b7e10, e=0x7fff6912d640) at widgets/qframe.cpp:557
#46 0x00007f57252cff3b in QGraphicsView::viewportEvent (this=0x18b7e10, event=0x7fff6912d640) at graphicsview/qgraphicsview.cpp:2866
#47 0x00007f5724780c26 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x195a6e0, event=0x7fff6912d640) at kernel/qcoreapplication.cpp:1059
#48 0x00007f5724cbd14c in QApplicationPrivate::notify_helper (this=this@entry=0xd11d80, receiver=receiver@entry=0x195a6e0, e=e@entry=0x7fff6912d640) at kernel/qapplication.cpp:4558
#49 0x00007f5724cbfaeb in QApplication::notify (this=0x7fff6912fc00, receiver=0x195a6e0, e=0x7fff6912d640) at kernel/qapplication.cpp:4423
#50 0x00007f5726d16756 in KApplication::notify (this=0x7fff6912fc00, receiver=0x195a6e0, event=0x7fff6912d640) at /usr/src/debug/kdelibs-git/kdeui/kernel/kapplication.cpp:311
#51 0x00007f5724780abe in QCoreApplication::notifyInternal (this=0x7fff6912fc00, receiver=0x195a6e0, event=0x7fff6912d640) at kernel/qcoreapplication.cpp:949
#52 0x00007f5724d0ef74 in sendSpontaneousEvent (event=0x7fff6912d640, receiver=0x195a6e0) at ../../src/corelib/kernel/qcoreapplication.h:234
#53 QWidgetPrivate::drawWidget (this=this@entry=0x1906730, pdev=pdev@entry=0x1f45ec0, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1af6360) at kernel/qwidget.cpp:5599
#54 0x00007f5724d0fa6f in QWidgetPrivate::paintSiblingsRecursive (this=0x18dd540, pdev=0x1f45ec0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1af6360) at kernel/qwidget.cpp:5808
#55 0x00007f5724d0eb03 in QWidgetPrivate::drawWidget (this=this@entry=0x18dd540, pdev=pdev@entry=0x1f45ec0, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1af6360) at kernel/qwidget.cpp:5652
#56 0x00007f5724d0fa6f in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x18b9900, pdev=pdev@entry=0x1f45ec0, siblings=..., index=<optimized out>, index@entry=1, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1af6360) at kernel/qwidget.cpp:5808
#57 0x00007f5724d0f8b4 in QWidgetPrivate::paintSiblingsRecursive (this=0x18b9900, pdev=0x1f45ec0, siblings=..., index=1, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1af6360) at kernel/qwidget.cpp:5795
#58 0x00007f5724d0eb03 in QWidgetPrivate::drawWidget (this=this@entry=0x18b9900, pdev=pdev@entry=0x1f45ec0, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1af6360) at kernel/qwidget.cpp:5652
#59 0x00007f5724d0fa6f in QWidgetPrivate::paintSiblingsRecursive (this=0x18b54c0, pdev=0x1f45ec0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1af6360) at kernel/qwidget.cpp:5808
#60 0x00007f5724d0eb03 in QWidgetPrivate::drawWidget (this=this@entry=0x18b54c0, pdev=pdev@entry=0x1f45ec0, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1af6360) at kernel/qwidget.cpp:5652
#61 0x00007f5724d0fa6f in QWidgetPrivate::paintSiblingsRecursive (this=0x11c1730, pdev=0x1f45ec0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1af6360) at kernel/qwidget.cpp:5808
#62 0x00007f5724d0eb03 in QWidgetPrivate::drawWidget (this=0x11c1730, pdev=0x1f45ec0, rgn=..., offset=..., flags=<optimized out>, sharedPainter=0x0, backingStore=0x1af6360) at kernel/qwidget.cpp:5652
#63 0x00007f5724ed0148 in QWidgetBackingStore::sync (this=this@entry=0x1af6360) at painting/qbackingstore.cpp:1373
#64 0x00007f5724ed050c in QWidgetBackingStore::sync (this=0x1af6360, exposedWidget=0xd185a0, exposedRegion=...) at painting/qbackingstore.cpp:1161
#65 0x00007f5724d2a10a in QETWidget::translatePaintEvent (this=this@entry=0xd185a0, event=event@entry=0x7fff6912f110) at kernel/qapplication_x11.cpp:5237
#66 0x00007f5724d34e15 in QApplication::x11ProcessEvent (this=0x7fff6912fc00, event=0x7fff6912f110) at kernel/qapplication_x11.cpp:3540
#67 0x00007f5724d5dc92 in x11EventSourceDispatch (s=0xd11100, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#68 0x00007f571e4b9da5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#69 0x00007f571e4ba0e8 in ?? () from /usr/lib64/libglib-2.0.so.0
#70 0x00007f571e4ba1a4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#71 0x00007f57247af036 in QEventDispatcherGlib::processEvents (this=0xc29a70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#72 0x00007f5724d5dd8e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#73 0x00007f572477f76f in QEventLoop::processEvents (this=this@entry=0x7fff6912f4e0, flags=...) at kernel/qeventloop.cpp:149
#74 0x00007f572477f9f8 in QEventLoop::exec (this=0x7fff6912f4e0, flags=...) at kernel/qeventloop.cpp:204
#75 0x00007f5724784c68 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#76 0x0000000000407af4 in main (argc=1, argv=0x7fff6912fd68) at /usr/src/debug/amarok-2.7.40git.1370337423/src/main.cpp:329

Reported using DrKonqi
Comment 1 Jekyll Wu 2013-06-07 13:58:03 UTC
I can confirm the crash. Rebuilding kdelibs from fe61ba48d5bb86222684919fd27f339d0e7a1013~ makes amarok work again for me. (Thanks for the hint).
Comment 2 Hrvoje Senjan 2013-06-09 18:34:31 UTC
Created attachment 80413 [details]
Amarok workaround

I can open a review request/commit if this makes sense (for me it does, as the cause of the crash is that Amarok-Mockup theme doesn't exists anywhere)
But i don't know why it was used anyway/is there a (good) reason to keep it...
Comment 3 Mark Kretschmann 2013-06-10 07:36:03 UTC
Git commit e899704b3db4af2ff228eb0d4dbbec05fb9a2448 by Mark Kretschmann, on behalf of Hrvoje Senjan.
Committed on 10/06/2013 at 09:26.
Pushed by markey into branch 'master'.

Remove usage of (fake) Amarok-Mockup theme

This is due to https://bugs.kde.org/show_bug.cgi?id=320855
Amarok-Mockup is unused, as far i can see, and also makes Amarok crash with kdelibs master/4.11
If it is still needed, or there is a better solution, i'll discard the review...

>From 6b85a2899a30db5acebee92182a67778499a8d9e Mon Sep 17 00:00:00 2001
From: Hrvoje Senjan <hrvoje.senjan@gmail.com>
Date: Sun, 9 Jun 2013 19:55:58 +0200
Subject: [PATCH 1/1] Kill Amarok-Mockup
FIXED-IN: 2.8
REVIEW: 110917

M  +2    -0    ChangeLog
M  +0    -5    src/context/ContextView.cpp

http://commits.kde.org/amarok/e899704b3db4af2ff228eb0d4dbbec05fb9a2448
Comment 4 Hrvoje Senjan 2013-06-14 17:17:47 UTC
*** Bug 321144 has been marked as a duplicate of this bug. ***
Comment 5 Emil Sedgh 2013-06-15 16:32:52 UTC
Created attachment 80535 [details]
New crash information added by DrKonqi

amarok (2.7-git) on KDE Platform 4.10.80 using Qt 4.8.4

- What I was doing when the application crashed:
Just tried starting Amarok. It did not open up and crashed after a moment.

-- Backtrace (Reduced):
#6  KStandardDirs::saveLocation (this=0x17f0780, type=type@entry=0x0, suffix=..., create=create@entry=false) at /home/emilsedgh/kde/sc/kdelibs/kdecore/kernel/kstandarddirs.cpp:1499
#7  0x00007f2f43ded8fb in KStandardDirs::locateLocal (type=type@entry=0x0, filename=..., createDir=createDir@entry=false, cData=...) at /home/emilsedgh/kde/sc/kdelibs/kdecore/kernel/kstandarddirs.cpp:2117
#8  0x00007f2f43d40a9a in KConfigPrivate::changeFileName (this=this@entry=0x2579f60, name=..., type=type@entry=0x0) at /home/emilsedgh/kde/sc/kdelibs/kdecore/config/kconfig.cpp:541
#9  0x00007f2f43d58964 in KDesktopFilePrivate::KDesktopFilePrivate (this=0x2579f60, resourceType=0x0, fileName=...) at /home/emilsedgh/kde/sc/kdelibs/kdecore/config/kdesktopfile.cpp:50
#10 0x00007f2f43d59fcc in KDesktopFile::KDesktopFile (this=0x7fff4a032910, resourceType=0x0, fileName=...) at /home/emilsedgh/kde/sc/kdelibs/kdecore/config/kdesktopfile.cpp:54
Comment 6 Myriam Schweingruber 2013-06-16 00:09:15 UTC
(In reply to comment #5)
> Created attachment 80535 [details]
> New crash information added by DrKonqi
> 
> amarok (2.7-git) on KDE Platform 4.10.80 using Qt 4.8.4
> 
> - What I was doing when the application crashed:
> Just tried starting Amarok. It did not open up and crashed after a moment.

Which exact git checkout do you use?
Comment 7 Emil Sedgh 2013-06-16 06:56:10 UTC
Im on 876b34850 which does not include Mark's fix.
I think its safe to mark the bug as fixed.
Im having a hard time pulling the master due to weak internet connection.
I will reopen if I manage to get the master and see the problem persists.
Comment 8 Dominik Haumann 2013-07-09 20:44:54 UTC
Are you sure this was an amarok issue?

I've upgraded to the kde 4.11 beta packages from openSUSE 12.3, and get a crash in KStandardDirs::saveLocation, KStandardDirs::locateLocal as well.

Affected are plasma, kmix, krunner. Maybe it's a broken installation, but I still wonder wheter this fix for Amarok is really necessary.
Comment 9 Petr Tesarik 2013-07-16 15:37:59 UTC
Created attachment 81139 [details]
New crash information added by DrKonqi

kwin (4.10.90) on KDE Platform 4.10.90 using Qt 4.8.5

- What I was doing when the application crashed:

I was logging in. Similar crashes are seen with kwin, kmix and other KDE applications.

- Additional Information:

I have analyzed the crashed application in gdb, and I believe this code in Plasma::ThemePrivate::useCache() is the real culprit:

230             if (isRegularTheme) {
231                 const QString path = KStandardDirs::locate("data", "desktoptheme/" + themeName + "/metadata.desktop");
232                 const KPluginInfo pluginInfo(path);

Note that "path" is a relative path and KPluginInfo::KPluginInfo is called with only one argument. However, KPluginInfo constructor is declared as:

         * @param filename  The filename of the .desktop file.
         * @param resource  If filename is relative, you need to specify a resource type
         * (e.g. "service", "apps"... KStandardDirs). Otherwise,
         * resource isn't used.
         */
        explicit KPluginInfo( const QString & filename, const char* resource = 0 );

So, if you call it without the "resource" argument, the default value is used, which is NULL. This is invalid for a relative path, and indeed causes the crash further down the stack in KStandardDirs::saveLocation():

1499            if (dirs.isEmpty() && (
1500                    (strcmp(type, "socket") == 0) ||
1501                    (strcmp(type, "tmp") == 0) ||
1502                    (strcmp(type, "cache") == 0) ))

Unsurprisingly, calling strcmp(NULL, something) will cause a SIGSEGV.

-- Backtrace (Reduced):
#6  KStandardDirs::saveLocation (this=0x1e88d10, type=type@entry=0x0, suffix=..., create=create@entry=false) at /usr/src/debug/kdelibs-4.10.90/kdecore/kernel/kstandarddirs.cpp:1499
#7  0x00007f954e5391b3 in KStandardDirs::locateLocal (type=0x0, filename=..., createDir=<optimized out>, cData=...) at /usr/src/debug/kdelibs-4.10.90/kdecore/kernel/kstandarddirs.cpp:2117
#8  0x00007f954e48d124 in KConfigPrivate::changeFileName (this=0x25321f0, name=..., type=0x0) at /usr/src/debug/kdelibs-4.10.90/kdecore/config/kconfig.cpp:547
#9  0x00007f954e4a5b56 in KDesktopFilePrivate::KDesktopFilePrivate (this=0x25321f0, resourceType=0x0, fileName=...) at /usr/src/debug/kdelibs-4.10.90/kdecore/config/kdesktopfile.cpp:52
#10 0x00007f954e4a72fe in KDesktopFile::KDesktopFile (this=0x7fff0f600650, resourceType=0x0, fileName=...) at /usr/src/debug/kdelibs-4.10.90/kdecore/config/kdesktopfile.cpp:56
Comment 10 Petr Tesarik 2013-07-16 16:46:26 UTC
Created attachment 81142 [details]
proposed fix

This patch fixed the crashes for me. However, I'm not sure if "data" is the correct resource type here, so it should definitely be reviewed by someone who has a clue.
Comment 11 Gilboa Davara 2013-08-01 14:02:15 UTC
FWIW the Amarok workaround patch seems to work just fine.
Fedora 19, x86_64,  KDE 4.10.97.
Comment 12 Myriam Schweingruber 2013-08-14 09:06:30 UTC
*** Bug 322446 has been marked as a duplicate of this bug. ***
Comment 13 Myriam Schweingruber 2013-08-14 09:07:10 UTC
*** Bug 323485 has been marked as a duplicate of this bug. ***
Comment 14 Aaron J. Seigo 2013-08-14 10:34:57 UTC
(In reply to comment #9)
> Created attachment 81139 [details]
> New crash information added by DrKonqi
> 
> kwin (4.10.90) on KDE Platform 4.10.90 using Qt 4.8.5
> 
> - What I was doing when the application crashed:
> 
> I was logging in. Similar crashes are seen with kwin, kmix and other KDE
> applications.
> 
> - Additional Information:
> 
> I have analyzed the crashed application in gdb, and I believe this code in
> Plasma::ThemePrivate::useCache() is the real culprit:
> 
> 230             if (isRegularTheme) {
> 231                 const QString path = KStandardDirs::locate("data",
> "desktoptheme/" + themeName + "/metadata.desktop");
> 232                 const KPluginInfo pluginInfo(path);
> 
> Note that "path" is a relative path and KPluginInfo::KPluginInfo is called
> with only one argument. However, KPluginInfo constructor is declared as:

No, the path is not relative; it is empty. KStandradDirs::locate returns a full path .. unless it can't find what is being looked for.

So indeed, path needs to be checked for !isEmpty()
Comment 15 Aaron J. Seigo 2013-08-14 10:53:18 UTC
Git commit 59e88c777b92935cc95f28e52f84fe97563dec9d by Aaron Seigo.
Committed on 14/08/2013 at 10:52.
Pushed by aseigo into branch 'KDE/4.11'.

when the request theme does not exist, delete all old caches for it and don't crash

M  +14   -7    plasma/theme.cpp

http://commits.kde.org/kdelibs/59e88c777b92935cc95f28e52f84fe97563dec9d
Comment 16 Tomas Killian 2013-08-16 18:07:02 UTC
Created attachment 81750 [details]
New crash information added by DrKonqi

amarok (2.7.1) on KDE Platform 4.11.00 using Qt 4.8.3

- What I was doing when the application crashed:

Amarok crashed when raised from taskbar.

-- Backtrace (Reduced):
#6  KStandardDirs::saveLocation (this=0x14f6f20, type=type@entry=0x0, suffix=..., create=create@entry=false) at ../../kdecore/kernel/kstandarddirs.cpp:1511
#7  0x00007f36d775ccfb in KStandardDirs::locateLocal (type=0x0, filename=..., createDir=<optimized out>, cData=...) at ../../kdecore/kernel/kstandarddirs.cpp:2131
#8  0x00007f36d76aea3a in KConfigPrivate::changeFileName (this=0x33d3e40, name=..., type=<optimized out>) at ../../kdecore/config/kconfig.cpp:547
#9  0x00007f36d76c6dd3 in KDesktopFilePrivate::KDesktopFilePrivate (this=0x33d3e40, resourceType=0x0, fileName=...) at ../../kdecore/config/kdesktopfile.cpp:60
#10 0x00007f36d76c6e2c in KDesktopFile::KDesktopFile (this=0x7fffbba6bfd0, resourceType=0x0, fileName=...) at ../../kdecore/config/kdesktopfile.cpp:64
Comment 17 Myriam Schweingruber 2013-08-16 19:07:54 UTC
*** Bug 323611 has been marked as a duplicate of this bug. ***
Comment 18 Jekyll Wu 2013-08-19 12:41:19 UTC
*** Bug 323714 has been marked as a duplicate of this bug. ***
Comment 19 Jekyll Wu 2013-08-20 14:41:31 UTC
*** Bug 323780 has been marked as a duplicate of this bug. ***
Comment 20 Petr Tesarik 2013-08-22 08:43:43 UTC
I can confirm that Aaron's commit 59e88c777b92935cc95f28e52f84fe97563dec9d fixes the crash for me.
Comment 21 Jekyll Wu 2013-08-31 18:10:39 UTC
*** Bug 324327 has been marked as a duplicate of this bug. ***