Bug 329800 - Muon Discover freezes while searching for apps
Summary: Muon Discover freezes while searching for apps
Status: VERIFIED FIXED
Alias: None
Product: muon
Classification: Applications
Component: discover (show other bugs)
Version: 2.1.2
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Jonathan Thomas
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-10 10:31 UTC by Nikola Schnelle
Modified: 2014-01-13 09:31 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Memory leak (195.57 KB, image/png)
2014-01-10 10:44 UTC, Nikola Schnelle
Details
trace to KLocalePrivate::encodeFileNameUTF8 (24.02 KB, text/plain)
2014-01-10 12:05 UTC, Harald Sitter
Details
trace to QDeclarativeBasePositioner::prePositioning (12.36 KB, text/plain)
2014-01-10 12:07 UTC, Harald Sitter
Details
possible fix (533 bytes, patch)
2014-01-10 12:38 UTC, Harald Sitter
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nikola Schnelle 2014-01-10 10:31:17 UTC
Muon Discover freezes while searching for apps.

Steps to reproduce: 
1) Start Discover and then go to Internet > Chat
2) Type in Search field "krita"
3) Press Home button
4) Discover is frozen
Comment 1 Nikola Schnelle 2014-01-10 10:44:35 UTC
Created attachment 84550 [details]
Memory leak

Uses high CPU and leaks memory while frozen
Comment 2 Harald Sitter 2014-01-10 12:02:45 UTC
The model keeps resetting, which apparently causes the internet/chat category to redraw stuff all the time. Why it is doing anything at all is peculiar though since the home screen should be the only visible items and all others should discard paint events I think.
Comment 3 Harald Sitter 2014-01-10 12:05:45 UTC
Created attachment 84557 [details]
trace to KLocalePrivate::encodeFileNameUTF8

One particularly heavy call chain ends in encodefilename

Thread 7 (Thread 0x7fff3fded700 (LWP 4055)):
#0  0x00007ffff4c78de3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff53a9ad1 in QProcessManager::run (this=0x7ffff5732540 <processManager()::processManager>) at io/qprocess_unix.cpp:245
#2  0x00007ffff52ccf2f in QThreadPrivate::start (arg=0x7ffff5732540 <processManager()::processManager>) at thread/qthread_unix.cpp:338
#3  0x00007fffed943f6e in start_thread (arg=0x7fff3fded700) at pthread_create.c:311
#4  0x00007ffff4c809cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 5 (Thread 0x7fff4e94c700 (LWP 4053)):
#0  0x00007ffff4c73f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fffed46b6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffed46b7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff53f9a76 in QEventDispatcherGlib::processEvents (this=0x7fff400008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007ffff53cb5ef in QEventLoop::processEvents (this=this@entry=0x7fff4e94bdb0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007ffff53cb8e5 in QEventLoop::exec (this=this@entry=0x7fff4e94bdb0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007ffff52ca88f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007ffff52ccf2f in QThreadPrivate::start (arg=0xb73730) at thread/qthread_unix.cpp:338
#8  0x00007fffed943f6e in start_thread (arg=0x7fff4e94c700) at pthread_create.c:311
#9  0x00007ffff4c809cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7fff590c1700 (LWP 4052)):
#0  0x00007ffff4c73f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fffed46b6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffed46b7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff53f9a76 in QEventDispatcherGlib::processEvents (this=0x7fff480008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007ffff53cb5ef in QEventLoop::processEvents (this=this@entry=0x7fff590c0db0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007ffff53cb8e5 in QEventLoop::exec (this=this@entry=0x7fff590c0db0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007ffff52ca88f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007ffff52ccf2f in QThreadPrivate::start (arg=0x83fca0) at thread/qthread_unix.cpp:338
#8  0x00007fffed943f6e in start_thread (arg=0x7fff590c1700) at pthread_create.c:311
#9  0x00007ffff4c809cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7fff5a7d0700 (LWP 4051)):
#0  0x00007ffff4c73f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fffed46b6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffed46b7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff53f9a76 in QEventDispatcherGlib::processEvents (this=0x7fff540008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007ffff53cb5ef in QEventLoop::processEvents (this=this@entry=0x7fff5a7cfd70, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007ffff53cb8e5 in QEventLoop::exec (this=this@entry=0x7fff5a7cfd70, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007ffff52ca88f in QThread::exec (this=this@entry=0x852230) at thread/qthread.cpp:542
#7  0x00007ffff53acd13 in QInotifyFileSystemWatcherEngine::run (this=0x852230) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007ffff52ccf2f in QThreadPrivate::start (arg=0x852230) at thread/qthread_unix.cpp:338
#9  0x00007fffed943f6e in start_thread (arg=0x7fff5a7d0700) at pthread_create.c:311
#10 0x00007ffff4c809cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7fffdbacb700 (LWP 4050)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff178006b in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007ffff17800a9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007fffed943f6e in start_thread (arg=0x7fffdbacb700) at pthread_create.c:311
#4  0x00007ffff4c809cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7ffff7fa27c0 (LWP 4046)):
#0  0x00007ffff4c73f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fffed46b6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffed46b7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff53f9a55 in QEventDispatcherGlib::processEvents (this=0x62aad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007ffff5e5f9d6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#5  0x00007ffff53cb5ef in QEventLoop::processEvents (this=this@entry=0x7fffffffdea0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007ffff53cb8e5 in QEventLoop::exec (this=this@entry=0x7fffffffdea0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007ffff53d0e5b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#8  0x000000000040b4dc in ?? ()
#9  0x00007ffff4ba7de5 in __libc_start_main (main=0x40ac60, argc=2, ubp_av=0x7fffffffe0e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe0d8)
    at libc-start.c:260
#10 0x000000000040bad8 in _start ()

Thread 10 (Thread 0x7f86af7fe700 (LWP 5249)):
#0  0x00007f8776f7671d in write () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f876f7ae6ff in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f87776d462e in QCoreApplication::postEvent (receiver=0x7f86a808ea30, event=event@entry=0x7f86a001d970, priority=priority@entry=0) at kernel/qcoreapplication.cpp:1392
#3  0x00007f87776d4707 in QCoreApplication::postEvent (receiver=<optimized out>, event=event@entry=0x7f86a001d970) at kernel/qcoreapplication.cpp:1304
#4  0x00007f87776e4db4 in queued_activate (argv=0x7f86af7fd590, c=0x7f86a800ac90, signal=10, sender=0x7f86a800db30) at kernel/qobject.cpp:3423
#5  QMetaObject::activate (sender=sender@entry=0x7f86a800db30, m=m@entry=0x7f87738fa9a0 <QHttpThreadDelegate::staticMetaObject>, local_signal_index=local_signal_index@entry=6, 
    argv=argv@entry=0x7f86af7fd590) at kernel/qobject.cpp:3499
#6  0x00007f87736a83a5 in QHttpThreadDelegate::downloadData (this=this@entry=0x7f86a800db30, _t1=...) at .moc/release-shared/moc_qhttpthreaddelegate_p.cpp:225
#7  0x00007f8773640d47 in QHttpThreadDelegate::readyReadSlot (this=0x7f86a800db30) at access/qhttpthreaddelegate.cpp:406
#8  0x00007f87736a864d in QHttpThreadDelegate::qt_static_metacall (_o=0x7f86a800db30, _c=2944390120, _id=8, _a=0xffffffffffffffff) at .moc/release-shared/moc_qhttpthreaddelegate_p.cpp:121
#9  0x00007f87776e4a58 in QMetaObject::activate (sender=0x7f86a0007160, m=m@entry=0x7f87738f9cc0 <QHttpNetworkReply::staticMetaObject>, local_signal_index=local_signal_index@entry=1, 
    argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#10 0x00007f87736a69e3 in QHttpNetworkReply::readyRead (this=<optimized out>) at .moc/release-shared/moc_qhttpnetworkreply_p.cpp:138
#11 0x00007f877360ef16 in QHttpNetworkConnectionChannel::_q_receiveReply (this=this@entry=0x7f86a0002cb8) at access/qhttpnetworkconnectionchannel.cpp:466
#12 0x00007f877360fa82 in QHttpNetworkConnectionChannel::_q_readyRead (this=0x7f86a0002cb8) at access/qhttpnetworkconnectionchannel.cpp:976
#13 0x00007f87776e4a58 in QMetaObject::activate (sender=sender@entry=0x7f86a0003bb0, m=m@entry=0x7f8777a32540 <QIODevice::staticMetaObject>, local_signal_index=local_signal_index@entry=0, 
    argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#14 0x00007f877772d780 in QIODevice::readyRead (this=this@entry=0x7f86a0003bb0) at .moc/release-shared/moc_qiodevice.cpp:105
#15 0x00007f8773679b3d in QAbstractSocketPrivate::canReadNotification (this=0x7f86a0003bd0) at socket/qabstractsocket.cpp:654
#16 0x00007f8773682b8d in QReadNotifier::event (this=<optimized out>, e=<optimized out>) at socket/qnativesocketengine.cpp:1151
#17 0x00007f87780c1dfc in QApplicationPrivate::notify_helper (this=this@entry=0x1b03e80, receiver=receiver@entry=0x7f86a0007630, e=e@entry=0x7f86af7fdb90) at kernel/qapplication.cpp:4567
#18 0x00007f87780c8470 in QApplication::notify (this=this@entry=0x7fff47498a90, receiver=receiver@entry=0x7f86a0007630, e=e@entry=0x7f86af7fdb90) at kernel/qapplication.cpp:4353
#19 0x00007f8778dcba6a in KApplication::notify (this=0x7fff47498a90, receiver=0x7f86a0007630, event=0x7f86af7fdb90) at ../../kdeui/kernel/kapplication.cpp:311
#20 0x00007f87776d08bd in QCoreApplication::notifyInternal (this=0x7fff47498a90, receiver=0x7f86a0007630, event=event@entry=0x7f86af7fdb90) at kernel/qcoreapplication.cpp:946
#21 0x00007f87776fe590 in sendEvent (event=0x7f86af7fdb90, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#22 socketNotifierSourceDispatch (source=0x7f86a0001350) at kernel/qeventdispatcher_glib.cpp:110
#23 0x00007f876f76f3b6 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f876f76f708 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007f876f76f7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007f87776fda55 in QEventDispatcherGlib::processEvents (this=0x7f86a00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#27 0x00007f87776cf5ef in QEventLoop::processEvents (this=this@entry=0x7f86af7fddb0, flags=...) at kernel/qeventloop.cpp:149
#28 0x00007f87776cf8e5 in QEventLoop::exec (this=this@entry=0x7f86af7fddb0, flags=...) at kernel/qeventloop.cpp:204
#29 0x00007f87775ce88f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#30 0x00007f87775d0f2f in QThreadPrivate::start (arg=0x7f86a80039d0) at thread/qthread_unix.cpp:338
#31 0x00007f876fc47f6e in start_thread (arg=0x7f86af7fe700) at pthread_create.c:311
#32 0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 9 (Thread 0x7f86affff700 (LWP 5248)):
#0  0x00007f8776f77f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f876f76f6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f876f76f7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f87776fda55 in QEventDispatcherGlib::processEvents (this=0x7f86a80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f87776cf5ef in QEventLoop::processEvents (this=this@entry=0x7f86afffed90, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f87776cf8e5 in QEventLoop::exec (this=this@entry=0x7f86afffed90, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f87775ce88f in QThread::exec (this=this@entry=0x45bc040) at thread/qthread.cpp:542
#7  0x00007f87792f219e in QDeclarativePixmapReader::run (this=0x45bc040) at util/qdeclarativepixmapcache.cpp:576
#8  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x45bc040) at thread/qthread_unix.cpp:338
#9  0x00007f876fc47f6e in start_thread (arg=0x7f86affff700) at pthread_create.c:311
#10 0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 8 (Thread 0x7f875ddcf700 (LWP 5158)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f8773a8406b in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007f8773a840a9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007f876fc47f6e in start_thread (arg=0x7f875ddcf700) at pthread_create.c:311
#4  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 7 (Thread 0x7f875cad0700 (LWP 5159)):
#0  0x00007f8776f77f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f876f76f6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f876f76f7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f87776fda76 in QEventDispatcherGlib::processEvents (this=0x7f86d00008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f87776cf5ef in QEventLoop::processEvents (this=this@entry=0x7f875cacfd70, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f87776cf8e5 in QEventLoop::exec (this=this@entry=0x7f875cacfd70, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f87775ce88f in QThread::exec (this=this@entry=0x1d91870) at thread/qthread.cpp:542
#7  0x00007f87776b0d13 in QInotifyFileSystemWatcherEngine::run (this=0x1d91870) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x1d91870) at thread/qthread_unix.cpp:338
#9  0x00007f876fc47f6e in start_thread (arg=0x7f875cad0700) at pthread_create.c:311
#10 0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 6 (Thread 0x7f86d738d700 (LWP 5160)):
#0  0x00007f8776f77f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f876f76f6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f876f76f7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f87776fda55 in QEventDispatcherGlib::processEvents (this=0x7f86c40008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f87776cf5ef in QEventLoop::processEvents (this=this@entry=0x7f86d738cdb0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f87776cf8e5 in QEventLoop::exec (this=this@entry=0x7f86d738cdb0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f87775ce88f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x1d9bba0) at thread/qthread_unix.cpp:338
#8  0x00007f876fc47f6e in start_thread (arg=0x7f86d738d700) at pthread_create.c:311
#9  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 5 (Thread 0x7f86d5ed5700 (LWP 5161)):
#0  0x00007f8776f77f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f876f76f6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f876f76f7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f87776fda76 in QEventDispatcherGlib::processEvents (this=0x7f86bc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f87776cf5ef in QEventLoop::processEvents (this=this@entry=0x7f86d5ed4db0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f87776cf8e5 in QEventLoop::exec (this=this@entry=0x7f86d5ed4db0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f87775ce88f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x202db50) at thread/qthread_unix.cpp:338
#8  0x00007f876fc47f6e in start_thread (arg=0x7f86d5ed5700) at pthread_create.c:311
#9  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f86d56d4700 (LWP 5162)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007f87775d13e4 in wait (time=30000, this=0x7f86bc0068c0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x7f86bc006868, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f87775c48a5 in QThreadPoolThread::run (this=0x7f86bc006bc0) at concurrent/qthreadpool.cpp:141
#4  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x7f86bc006bc0) at thread/qthread_unix.cpp:338
#5  0x00007f876fc47f6e in start_thread (arg=0x7f86d56d4700) at pthread_create.c:311
#6  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f86ca166700 (LWP 5163)):
#0  0x00007f8776f7cde3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f87776adad1 in QProcessManager::run (this=0x7f8777a36540 <processManager()::processManager>) at io/qprocess_unix.cpp:245
#2  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x7f8777a36540 <processManager()::processManager>) at thread/qthread_unix.cpp:338
#3  0x00007f876fc47f6e in start_thread (arg=0x7f86ca166700) at pthread_create.c:311
#4  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f86b8c8c700 (LWP 5190)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007f87775d13e4 in wait (time=30000, this=0x3b19540) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x3b194e8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f87775c48a5 in QThreadPoolThread::run (this=0x3b19150) at concurrent/qthreadpool.cpp:141
#4  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x3b19150) at thread/qthread_unix.cpp:338
#5  0x00007f876fc47f6e in start_thread (arg=0x7f86b8c8c700) at pthread_create.c:311
#6  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f877a2a87c0 (LWP 5157)):
#0  KLocalePrivate::encodeFileNameUTF8 (fileName=...) at ../../kdecore/localization/klocale_kde.cpp:2718
#1  0x00007f8777657d1a in QFile::encodeName (fileName=...) at io/qfile.cpp:515
#2  0x00007f8778d84396 in access (mode=4, path=...) at ../../kdecore/util/kde_file.h:181
#3  KIconThemeDir::iconPath (this=this@entry=0x1cc6520, name=...) at ../../kdeui/icons/kicontheme.cpp:707
#4  0x00007f8778d8459a in KIconTheme::iconPath (this=0x1bb2e10, name=..., size=size@entry=48, match=match@entry=KIconLoader::MatchBest) at ../../kdeui/icons/kicontheme.cpp:492
#5  0x00007f8778d7d207 in KIconLoaderPrivate::findMatchingIcon (this=this@entry=0x1b92550, name=..., size=size@entry=48) at ../../kdeui/icons/kiconloader.cpp:953
#6  0x00007f8778d7f7ef in KIconLoaderPrivate::findMatchingIconWithGenericFallbacks (this=0x1b92550, name=..., size=48) at ../../kdeui/icons/kiconloader.cpp:892
#7  0x00007f8778d81d67 in KIconLoader::loadIcon (this=0x1c5f610, _name=..., group=group@entry=KIconLoader::Desktop, size=48, state=0, overlays=..., path_store=path_store@entry=0x0, 
    canReturnNull=canReturnNull@entry=false) at ../../kdeui/icons/kiconloader.cpp:1177
#8  0x00007f8778d79d6e in KIconEngine::pixmap (this=<optimized out>, size=..., mode=<optimized out>, state=<optimized out>) at ../../kdeui/icons/kiconengine.cpp:104
#9  0x00007f8778165ab5 in QIcon::pixmap (this=this@entry=0x7fff474968e0, size=..., mode=<optimized out>, state=<optimized out>) at image/qicon.cpp:684
#10 0x00007f87797a0894 in pixmap (state=<optimized out>, mode=<optimized out>, extent=<optimized out>, this=<optimized out>) at /usr/include/qt4/QtGui/qicon.h:86
#11 KIconProvider::requestPixmap (this=<optimized out>, id=..., size=0x7fff47496a70, requestedSize=...) at ../../../experimental/libkdeclarative/private/kiconprovider.cpp:44
#12 0x00007f87793a3aa8 in QDeclarativeEnginePrivate::getPixmapFromProvider (this=this@entry=0x1d2f330, url=..., size=size@entry=0x7fff47496a70, req_size=...)
    at qml/qdeclarativeengine.cpp:846
#13 0x00007f87792f2eaa in createPixmapDataSync (ok=<synthetic pointer>, requestSize=..., url=..., engine=<optimized out>) at util/qdeclarativepixmapcache.cpp:828
#14 QDeclarativePixmap::load (this=this@entry=0x993e148, engine=<optimized out>, url=..., requestSize=..., options=...) at util/qdeclarativepixmapcache.cpp:1029
#15 0x00007f87793385c8 in QDeclarativeImageBase::load (this=0x993deb0) at graphicsitems/qdeclarativeimagebase.cpp:205
#16 0x00007f87793b654b in QDeclarativeComponentPrivate::complete (enginePriv=0x1d2f330, state=0x47ac598) at qml/qdeclarativecomponent.cpp:962
#17 0x00007f87793b6bcb in QDeclarativeComponentPrivate::completeCreate (this=<optimized out>) at qml/qdeclarativecomponent.cpp:1043
#18 0x00007f8779373dd6 in QDeclarativeVisualDataModel::item (this=0x4604cb0, index=858, viewId=..., complete=complete@entry=true) at graphicsitems/qdeclarativevisualitemmodel.cpp:1069
#19 0x00007f8779374363 in QDeclarativeVisualDataModel::item (this=<optimized out>, index=858, complete=<optimized out>) at graphicsitems/qdeclarativevisualitemmodel.cpp:958
#20 0x00007f877935d844 in QDeclarativeRepeater::regenerate (this=this@entry=0x44efd60) at graphicsitems/qdeclarativerepeater.cpp:368
#21 0x00007f877935da48 in QDeclarativeRepeater::modelReset (this=0x44efd60) at graphicsitems/qdeclarativerepeater.cpp:443
#22 0x00007f87776e4a58 in QMetaObject::activate (sender=sender@entry=0x4604cb0, m=m@entry=0x7f8779790a40 <QDeclarativeVisualModel::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#23 0x00007f877949dd83 in QDeclarativeVisualModel::modelReset (this=this@entry=0x4604cb0) at .moc/release-shared/moc_qdeclarativevisualitemmodel_p.cpp:181
#24 0x00007f877937006c in QDeclarativeVisualDataModel::_q_modelReset (this=0x4604cb0) at graphicsitems/qdeclarativevisualitemmodel.cpp:1405
#25 0x00007f877949e04d in QDeclarativeVisualDataModel::qt_static_metacall (_o=0x7fff47496310, _c=1195991808, _id=1996337308, _a=0x996b64a)
    at .moc/release-shared/moc_qdeclarativevisualitemmodel_p.cpp:408
#26 0x00007f87776e4a58 in QMetaObject::activate (sender=sender@entry=0x47085c0, m=m@entry=0x7f8777a336a0 <QAbstractItemModel::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=13, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#27 0x00007f877772e8e3 in QAbstractItemModel::modelReset (this=this@entry=0x47085c0) at .moc/release-shared/moc_qabstractitemmodel.cpp:251
#28 0x00007f87776c56b6 in QAbstractItemModel::endResetModel (this=this@entry=0x47085c0) at kernel/qabstractitemmodel.cpp:2956
#29 0x00007f877863e00e in QSortFilterProxyModel::setSourceModel (this=this@entry=0x47085c0, sourceModel=sourceModel@entry=0x1d372c0) at itemviews/qsortfilterproxymodel.cpp:1644
#30 0x00007f8779ec64ae in ResourcesProxyModel::setSourceModel (this=this@entry=0x47085c0, source=0x1d372c0) at /build/buildd/muon-2.1.2/libmuon/resources/ResourcesProxyModel.cpp:48
#31 0x00007f875c016050 in ApplicationProxyModelHelper::componentComplete (this=0x47085c0) at /build/buildd/muon-2.1.2/libmuon/declarative/ApplicationProxyModelHelper.cpp:31
#32 0x00007f87793b654b in QDeclarativeComponentPrivate::complete (enginePriv=0x1d2f330, state=0x2566528) at qml/qdeclarativecomponent.cpp:962
#33 0x00007f87793b6bcb in QDeclarativeComponentPrivate::completeCreate (this=<optimized out>) at qml/qdeclarativecomponent.cpp:1043
#34 0x00007f87793b4a51 in QDeclarativeComponentPrivate::createObject (this=this@entry=0x2566470, publicParent=publicParent@entry=0x22d6150, valuemap=...)
    at qml/qdeclarativecomponent.cpp:747
#35 0x00007f87793b5069 in QDeclarativeComponent::createObject (this=0x2518ef0, parent=0x22d6150, valuemap=...) at qml/qdeclarativecomponent.cpp:682
#36 0x00007f87794a1999 in QDeclarativeComponent::qt_static_metacall (_o=0x7fff47496310, _o@entry=0x2518ef0, _c=1195991808, _c@entry=QMetaObject::InvokeMetaMethod, _id=1996337308, 
    _id@entry=4, _a=0x7fff474975a0) at .moc/release-shared/moc_qdeclarativecomponent.cpp:97
#37 0x00007f87794a1b7f in QDeclarativeComponent::qt_metacall (this=0x2518ef0, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fff474975a0)
    at .moc/release-shared/moc_qdeclarativecomponent.cpp:137
#38 0x00007f877943bd98 in QDeclarativeObjectMethodScriptClass::callMethod (this=this@entry=0x1d86760, object=object@entry=0x2518ef0, index=<optimized out>, returnType=<optimized out>, 
    argCount=<optimized out>, argTypes=0x7fff47497850, ctxt=ctxt@entry=0x7f875d1cf1f0) at qml/qdeclarativeobjectscriptclass.cpp:970
#39 0x00007f877943da28 in QDeclarativeObjectMethodScriptClass::callPrecise (this=this@entry=0x1d86760, object=0x2518ef0, data=..., ctxt=ctxt@entry=0x7f875d1cf1f0)
    at qml/qdeclarativeobjectscriptclass.cpp:944
#40 0x00007f877943e07d in QDeclarativeObjectMethodScriptClass::callOverloaded (this=0x1d86760, method=0x44eba70, ctxt=0x7f875d1cf1f0) at qml/qdeclarativeobjectscriptclass.cpp:1064
#41 0x00007f877943e30f in QDeclarativeObjectMethodScriptClass::call (this=<optimized out>, o=<optimized out>, ctxt=<optimized out>) at qml/qdeclarativeobjectscriptclass.cpp:919
#42 0x00007f8773afb2e4 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#43 0x00007f87739f6228 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#44 0x00007f87739d40c0 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#45 0x00007f86d8040c26 in ?? ()
#46 0x00007f8779340080 in ?? () at graphicsitems/qdeclarativeitem.cpp:3141 from /usr/lib/x86_64-linux-gnu/libQtDeclarative.so.4
#47 0x00007f86d40f4680 in ?? ()
#48 0x00007f870000000e in ?? ()
#49 0x0000000000000003 in ?? ()
#50 0x00000000044afab0 in ?? ()
#51 0x0000000000000000 in ?? ()
Comment 4 Harald Sitter 2014-01-10 12:07:43 UTC
Created attachment 84558 [details]
trace to QDeclarativeBasePositioner::prePositioning

Another heavy call chain is going through QDeclarativeBasePositioner::prePositioning. Both however originate in a model change.

Thread 11 (Thread 0x7f86b8c8c700 (LWP 5303)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007f87775d13e4 in wait (time=30000, this=0x7f86bc0068c0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x7f86bc006868, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f87775c48a5 in QThreadPoolThread::run (this=0x7f86bc006bc0) at concurrent/qthreadpool.cpp:141
#4  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x7f86bc006bc0) at thread/qthread_unix.cpp:338
#5  0x00007f876fc47f6e in start_thread (arg=0x7f86b8c8c700) at pthread_create.c:311
#6  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 10 (Thread 0x7f86af7fe700 (LWP 5249)):
#0  0x00007f8776f77f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f876f76f6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f876f76f7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f87776fda55 in QEventDispatcherGlib::processEvents (this=0x7f86a00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f87776cf5ef in QEventLoop::processEvents (this=this@entry=0x7f86af7fddb0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f87776cf8e5 in QEventLoop::exec (this=this@entry=0x7f86af7fddb0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f87775ce88f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x7f86a80039d0) at thread/qthread_unix.cpp:338
#8  0x00007f876fc47f6e in start_thread (arg=0x7f86af7fe700) at pthread_create.c:311
#9  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 9 (Thread 0x7f86affff700 (LWP 5248)):
#0  0x00007f8776f77f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f876f76f6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f876f76f7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f87776fda55 in QEventDispatcherGlib::processEvents (this=0x7f86a80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f87776cf5ef in QEventLoop::processEvents (this=this@entry=0x7f86afffed90, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f87776cf8e5 in QEventLoop::exec (this=this@entry=0x7f86afffed90, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f87775ce88f in QThread::exec (this=this@entry=0x45bc040) at thread/qthread.cpp:542
#7  0x00007f87792f219e in QDeclarativePixmapReader::run (this=0x45bc040) at util/qdeclarativepixmapcache.cpp:576
#8  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x45bc040) at thread/qthread_unix.cpp:338
#9  0x00007f876fc47f6e in start_thread (arg=0x7f86affff700) at pthread_create.c:311
#10 0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 8 (Thread 0x7f875ddcf700 (LWP 5158)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f8773a8406b in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007f8773a840a9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007f876fc47f6e in start_thread (arg=0x7f875ddcf700) at pthread_create.c:311
#4  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 7 (Thread 0x7f875cad0700 (LWP 5159)):
#0  0x00007f8776f77f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f876f76f6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f876f76f7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f87776fda76 in QEventDispatcherGlib::processEvents (this=0x7f86d00008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f87776cf5ef in QEventLoop::processEvents (this=this@entry=0x7f875cacfd70, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f87776cf8e5 in QEventLoop::exec (this=this@entry=0x7f875cacfd70, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f87775ce88f in QThread::exec (this=this@entry=0x1d91870) at thread/qthread.cpp:542
#7  0x00007f87776b0d13 in QInotifyFileSystemWatcherEngine::run (this=0x1d91870) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x1d91870) at thread/qthread_unix.cpp:338
#9  0x00007f876fc47f6e in start_thread (arg=0x7f875cad0700) at pthread_create.c:311
#10 0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 6 (Thread 0x7f86d738d700 (LWP 5160)):
#0  0x00007f8776f77f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f876f76f6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f876f76f7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f87776fda55 in QEventDispatcherGlib::processEvents (this=0x7f86c40008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f87776cf5ef in QEventLoop::processEvents (this=this@entry=0x7f86d738cdb0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f87776cf8e5 in QEventLoop::exec (this=this@entry=0x7f86d738cdb0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f87775ce88f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x1d9bba0) at thread/qthread_unix.cpp:338
#8  0x00007f876fc47f6e in start_thread (arg=0x7f86d738d700) at pthread_create.c:311
#9  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 5 (Thread 0x7f86d5ed5700 (LWP 5161)):
#0  0x00007f8776f77f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f876f76f6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f876f76f7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f87776fda55 in QEventDispatcherGlib::processEvents (this=0x7f86bc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f87776cf5ef in QEventLoop::processEvents (this=this@entry=0x7f86d5ed4db0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f87776cf8e5 in QEventLoop::exec (this=this@entry=0x7f86d5ed4db0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f87775ce88f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x202db50) at thread/qthread_unix.cpp:338
#8  0x00007f876fc47f6e in start_thread (arg=0x7f86d5ed5700) at pthread_create.c:311
#9  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f86ca166700 (LWP 5163)):
#0  0x00007f8776f7cde3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f87776adad1 in QProcessManager::run (this=0x7f8777a36540 <processManager()::processManager>) at io/qprocess_unix.cpp:245
#2  0x00007f87775d0f2f in QThreadPrivate::start (arg=0x7f8777a36540 <processManager()::processManager>) at thread/qthread_unix.cpp:338
#3  0x00007f876fc47f6e in start_thread (arg=0x7f86ca166700) at pthread_create.c:311
#4  0x00007f8776f849cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f877a2a87c0 (LWP 5157)):
#0  QDeclarativeBasePositioner::prePositioning (this=this@entry=0x4750410) at graphicsitems/qdeclarativepositioners.cpp:221
#1  0x00007f877934920f in QDeclarativeBasePositioner::itemChange (this=0x4750410, change=QGraphicsItem::ItemChildAddedChange, value=...) at graphicsitems/qdeclarativepositioners.cpp:201
#2  0x00007f8778671b66 in QGraphicsItemPrivate::setParentItemHelper (this=0xf5e2770, newParent=0x4750420, newParentVariant=newParentVariant@entry=0x7fff47496cb0, 
    thisPointerVariant=thisPointerVariant@entry=0x7fff47496cc0) at graphicsview/qgraphicsitem.cpp:1220
#3  0x00007f87786721ea in QGraphicsItem::setParentItem (this=this@entry=0xf5e26c0, newParent=0x4750420) at graphicsview/qgraphicsitem.cpp:1724
#4  0x00007f8779342896 in QDeclarativeItem::setParentItem (this=this@entry=0xf5e26b0, parent=<optimized out>) at graphicsitems/qdeclarativeitem.cpp:1726
#5  0x00007f877935d8a6 in QDeclarativeRepeater::regenerate (this=this@entry=0x44efd60) at graphicsitems/qdeclarativerepeater.cpp:371
#6  0x00007f877935da48 in QDeclarativeRepeater::modelReset (this=0x44efd60) at graphicsitems/qdeclarativerepeater.cpp:443
#7  0x00007f87776e4a58 in QMetaObject::activate (sender=sender@entry=0x4604cb0, m=m@entry=0x7f8779790a40 <QDeclarativeVisualModel::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#8  0x00007f877949dd83 in QDeclarativeVisualModel::modelReset (this=this@entry=0x4604cb0) at .moc/release-shared/moc_qdeclarativevisualitemmodel_p.cpp:181
#9  0x00007f877937006c in QDeclarativeVisualDataModel::_q_modelReset (this=0x4604cb0) at graphicsitems/qdeclarativevisualitemmodel.cpp:1405
#10 0x00007f877949e04d in QDeclarativeVisualDataModel::qt_static_metacall (_o=0x4750410, _c=74777616, _id=257828720, _a=0x7fff47496cc0)
    at .moc/release-shared/moc_qdeclarativevisualitemmodel_p.cpp:408
#11 0x00007f87776e4a58 in QMetaObject::activate (sender=sender@entry=0x47085c0, m=m@entry=0x7f8777a336a0 <QAbstractItemModel::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=13, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#12 0x00007f877772e8e3 in QAbstractItemModel::modelReset (this=this@entry=0x47085c0) at .moc/release-shared/moc_qabstractitemmodel.cpp:251
#13 0x00007f87776c56b6 in QAbstractItemModel::endResetModel (this=this@entry=0x47085c0) at kernel/qabstractitemmodel.cpp:2956
#14 0x00007f877863e00e in QSortFilterProxyModel::setSourceModel (this=this@entry=0x47085c0, sourceModel=sourceModel@entry=0x1d372c0) at itemviews/qsortfilterproxymodel.cpp:1644
#15 0x00007f8779ec64ae in ResourcesProxyModel::setSourceModel (this=this@entry=0x47085c0, source=0x1d372c0) at /build/buildd/muon-2.1.2/libmuon/resources/ResourcesProxyModel.cpp:48
#16 0x00007f875c016050 in ApplicationProxyModelHelper::componentComplete (this=0x47085c0) at /build/buildd/muon-2.1.2/libmuon/declarative/ApplicationProxyModelHelper.cpp:31
#17 0x00007f87793b654b in QDeclarativeComponentPrivate::complete (enginePriv=0x1d2f330, state=0x2566528) at qml/qdeclarativecomponent.cpp:962
#18 0x00007f87793b6bcb in QDeclarativeComponentPrivate::completeCreate (this=<optimized out>) at qml/qdeclarativecomponent.cpp:1043
#19 0x00007f87793b4a51 in QDeclarativeComponentPrivate::createObject (this=this@entry=0x2566470, publicParent=publicParent@entry=0x22d6150, valuemap=...)
    at qml/qdeclarativecomponent.cpp:747
#20 0x00007f87793b5069 in QDeclarativeComponent::createObject (this=0x2518ef0, parent=0x22d6150, valuemap=...) at qml/qdeclarativecomponent.cpp:682
#21 0x00007f87794a1999 in QDeclarativeComponent::qt_static_metacall (_o=0x4750410, _o@entry=0x2518ef0, _c=74777616, _c@entry=QMetaObject::InvokeMetaMethod, _id=257828720, _id@entry=4, 
    _a=0x7fff474975a0) at .moc/release-shared/moc_qdeclarativecomponent.cpp:97
#22 0x00007f87794a1b7f in QDeclarativeComponent::qt_metacall (this=0x2518ef0, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fff474975a0)
    at .moc/release-shared/moc_qdeclarativecomponent.cpp:137
#23 0x00007f877943bd98 in QDeclarativeObjectMethodScriptClass::callMethod (this=this@entry=0x1d86760, object=object@entry=0x2518ef0, index=<optimized out>, returnType=<optimized out>, 
    argCount=<optimized out>, argTypes=0x7fff47497850, ctxt=ctxt@entry=0x7f875d1cf1f0) at qml/qdeclarativeobjectscriptclass.cpp:970
#24 0x00007f877943da28 in QDeclarativeObjectMethodScriptClass::callPrecise (this=this@entry=0x1d86760, object=0x2518ef0, data=..., ctxt=ctxt@entry=0x7f875d1cf1f0)
    at qml/qdeclarativeobjectscriptclass.cpp:944
#25 0x00007f877943e07d in QDeclarativeObjectMethodScriptClass::callOverloaded (this=0x1d86760, method=0x44eba70, ctxt=0x7f875d1cf1f0) at qml/qdeclarativeobjectscriptclass.cpp:1064
#26 0x00007f877943e30f in QDeclarativeObjectMethodScriptClass::call (this=<optimized out>, o=<optimized out>, ctxt=<optimized out>) at qml/qdeclarativeobjectscriptclass.cpp:919
#27 0x00007f8773afb2e4 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#28 0x00007f87739f6228 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#29 0x00007f87739d40c0 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#30 0x00007f86d8040c26 in ?? ()
#31 0x00007f8779340080 in ?? () at graphicsitems/qdeclarativeitem.cpp:3141 from /usr/lib/x86_64-linux-gnu/libQtDeclarative.so.4
#32 0x00007f86d40f4680 in ?? ()
#33 0x00007f870000000e in ?? ()
#34 0x0000000000000003 in ?? ()
#35 0x00000000044afab0 in ?? ()
#36 0x0000000000000000 in ?? ()
Comment 5 Harald Sitter 2014-01-10 12:26:46 UTC
It doesn't actually get stuck, it is still doing something, alas the main thread is stuck doing something :S

CategoryPage.qml: Page::searchFor(text) 
  text = ""
  category = nil

-> navigations.js: openApplicationList(icon, name, cat, search)
-> navigations.js: openPage(icon, name, component, props)
    obj = component.createObject(pageStack.currentPage, props) 

createObject does not return in any sensible time frame
Comment 6 Harald Sitter 2014-01-10 12:38:58 UTC
Created attachment 84559 [details]
possible fix

When clicking home the searchWidget emits textChanged (supposedly because the text is changed to nil). However the searchTimer in Main.qml does not check whether there is anything to search for, so I am guessing that it is causing a search on all packages in the apt cache, which would explain both the memory and cpu load.

Trivial work around is to check whether there is actually a search term to search for, whether it is the most appropriate fix I do not know though.
Comment 7 Nikola Schnelle 2014-01-10 19:37:56 UTC
Another way to freeze Discover:

1) Start Discover and type "kate" in search field 
2) Click on "back" button.
Comment 8 Harald Sitter 2014-01-10 21:55:21 UTC
I am reasonable certain that has the same cause.
Comment 9 Aleix Pol 2014-01-12 11:40:13 UTC
I've been investigating this issue, it most certainly looks like something's changed (broken) in Qt or Plasma Components. I'll see what I can do.
Comment 10 Aleix Pol 2014-01-12 11:53:19 UTC
Git commit a29be0cd6d8bf3a821bc343f2387b7f199c70981 by Aleix Pol.
Committed on 12/01/2014 at 12:52.
Pushed by apol into branch '2.1'.

Don't try to search for "" in the CategoryPage

M  +2    -0    discover/qml/CategoryPage.qml

http://commits.kde.org/muon/a29be0cd6d8bf3a821bc343f2387b7f199c70981