[prev in list] [next in list] [prev in thread] [next in thread]
List: kdevelop-bugs
Subject: [Bug 287363] New: search not done in background thread / blocks UI
From: Milian Wolff <mail () milianw ! de>
Date: 2011-11-23 10:58:32
Message-ID: bug-287363-40295 () http ! bugs ! kde ! org/
[Download RAW message or body]
https://bugs.kde.org/show_bug.cgi?id=287363
Summary: search not done in background thread / blocks UI
Product: kdevelop
Version: unspecified
Platform: Unlisted Binaries
OS/Version: Linux
Status: NEW
Severity: normal
Priority: NOR
Component: grep frontend
AssignedTo: kdevelop-bugs@kdevelop.org
ReportedBy: mail@milianw.de
Version: unspecified
OS: Linux
I just triggered an expensive regular expression search on a big code base and
KDevelop locked up on me because the work is not done in a background thread:
(gdb) thread 1
[Switching to thread 1 (Thread 0x7fbf43a36780 (LWP 19615))]#0
0x00007fbf3fa45311 in QRegExpCharClass::in (this=0x12ba6730, ch="a")
at /home/milian/projects/kde4/qt-src/src/corelib/tools/qregexp.cpp:2401
2401 int size = r.size();
(gdb) bt
#0 0x00007fbf3fa45311 in QRegExpCharClass::in (this=0x12ba6730, ch="a")
at /home/milian/projects/kde4/qt-src/src/corelib/tools/qregexp.cpp:2401
#1 0x00007fbf3fa43b93 in QRegExpMatchState::matchHere (this=0xdc52070)
at /home/milian/projects/kde4/qt-src/src/corelib/tools/qregexp.cpp:2033
#2 0x00007fbf3fa4337c in QRegExpEngine::goodStringMatch (this=0xed65750,
matchState=...)
at /home/milian/projects/kde4/qt-src/src/corelib/tools/qregexp.cpp:1880
#3 0x00007fbf3fa41ca8 in QRegExpMatchState::match (this=0xdc52070,
str0=0x17722a9a, len0=192426, pos0=0, minimal0=false, oneTest=false,
caretIndex=0) at
/home/milian/projects/kde4/qt-src/src/corelib/tools/qregexp.cpp:1444
#4 0x00007fbf3fa50000 in QRegExp::indexIn (this=0x13be2548,
str="const UChar AEligEntityNameEntityName[] = {'A', 'E', 'l', 'i',
'g'};const UChar AEligSemicolonEntityNameEntityName[] = {'A', 'E', 'l', 'i',
'g', ';'};const UChar AMPEntityNameEntityName[] = {'A', 'M',"..., offset=0,
caretMode=QRegExp::CaretAtZero)
at /home/milian/projects/kde4/qt-src/src/corelib/tools/qregexp.cpp:4114
#5 0x00007fbf21749c7f in grepFile (
filename="/home/milian/projects/kde4/phantomjs/deploy/Qt-4.8/src/3rdparty/webkit/Source/WebCore/generated/HTMLEntityTable.cpp",
re=...)
at /home/milian/projects/kde4/kdevplatform/plugins/grepview/grepjob.cpp:69
#6 0x00007fbf2174abd3 in GrepJob::slotWork (this=0x13be2520) at
/home/milian/projects/kde4/kdevplatform/plugins/grepview/grepjob.cpp:188
#7 0x00007fbf2174b852 in GrepJob::qt_metacall (this=0x13be2520,
_c=QMetaObject::InvokeMetaMethod, _id=10, _a=0x127df080)
at
/home/milian/projects/.build/kde4/kdevplatform/plugins/grepview/grepjob.moc:112
#8 0x00007fbf3fb2ea3e in QMetaObject::metacall (object=0x13be2520,
cl=QMetaObject::InvokeMetaMethod, idx=36, argv=0x127df080)
at /home/milian/projects/kde4/qt-src/src/corelib/kernel/qmetaobject.cpp:237
#9 0x00007fbf3fb3e0d6 in QMetaCallEvent::placeMetaCall (this=0xe3b0870,
object=0x13be2520)
at /home/milian/projects/kde4/qt-src/src/corelib/kernel/qobject.cpp:535
#10 0x00007fbf3fb3f37d in QObject::event (this=0x13be2520, e=0xe3b0870)
at /home/milian/projects/kde4/qt-src/src/corelib/kernel/qobject.cpp:1217
#11 0x00007fbf3ec0e9fc in QApplicationPrivate::notify_helper (this=0x8e73c0,
receiver=0x13be2520, e=0xe3b0870)
at /home/milian/projects/kde4/qt-src/src/gui/kernel/qapplication.cpp:4481
#12 0x00007fbf3ec0bfea in QApplication::notify (this=0x7fff6a341260,
receiver=0x13be2520, e=0xe3b0870)
at /home/milian/projects/kde4/qt-src/src/gui/kernel/qapplication.cpp:3881
#13 0x00007fbf40378a76 in KApplication::notify (this=0x7fff6a341260,
receiver=0x13be2520, event=0xe3b0870)
at ../../kdeui/kernel/kapplication.cpp:311
#14 0x00007fbf3fb2683a in QCoreApplication::notifyInternal
(this=0x7fff6a341260, receiver=0x13be2520, event=0xe3b0870)
at
/home/milian/projects/kde4/qt-src/src/corelib/kernel/qcoreapplication.cpp:787
#15 0x00007fbf3fb2a587 in QCoreApplication::sendEvent (receiver=0x13be2520,
event=0xe3b0870)
at
/home/milian/projects/kde4/qt-src/src/corelib/kernel/qcoreapplication.h:215
#16 0x00007fbf3fb27a52 in QCoreApplicationPrivate::sendPostedEvents
(receiver=0x0, event_type=0, data=0x890da0)
at
/home/milian/projects/kde4/qt-src/src/corelib/kernel/qcoreapplication.cpp:1428
#17 0x00007fbf3fb27673 in QCoreApplication::sendPostedEvents (receiver=0x0,
event_type=0)
at
/home/milian/projects/kde4/qt-src/src/corelib/kernel/qcoreapplication.cpp:1321
---Type <return> to continue, or q <return> to quit---
#18 0x00007fbf3fb5fe83 in QCoreApplication::sendPostedEvents ()
at
../../include/QtCore/../../../../../kde4/qt-src/src/corelib/kernel/qcoreapplication.h:220
#19 0x00007fbf3fb5ee3e in postEventSourceDispatch (s=0x8ecce0)
at
/home/milian/projects/kde4/qt-src/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#20 0x00007fbf39472bcd in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fbf394733a8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fbf39473639 in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007fbf3fb5f72d in QEventDispatcherGlib::processEvents (this=0x8905b0,
flags=...)
at
/home/milian/projects/kde4/qt-src/src/corelib/kernel/qeventdispatcher_glib.cpp:422
#24 0x00007fbf3ece7716 in QGuiEventDispatcherGlib::processEvents
(this=0x8905b0, flags=...)
at
/home/milian/projects/kde4/qt-src/src/gui/kernel/qguieventdispatcher_glib.cpp:204
#25 0x00007fbf3fb243d2 in QEventLoop::processEvents (this=0x7fff6a340f60,
flags=...)
at /home/milian/projects/kde4/qt-src/src/corelib/kernel/qeventloop.cpp:149
#26 0x00007fbf3fb24526 in QEventLoop::exec (this=0x7fff6a340f60, flags=...)
at /home/milian/projects/kde4/qt-src/src/corelib/kernel/qeventloop.cpp:201
#27 0x00007fbf3fb26f2c in QCoreApplication::exec () at
/home/milian/projects/kde4/qt-src/src/corelib/kernel/qcoreapplication.cpp:1064
#28 0x00007fbf3ec0bb74 in QApplication::exec () at
/home/milian/projects/kde4/qt-src/src/gui/kernel/qapplication.cpp:3755
#29 0x000000000040b77f in main (argc=5, argv=0x7fff6a342ff8) at
/home/milian/projects/kde4/kdevelop/app/main.cpp:479
Reproducible: Always
Steps to Reproduce:
do expensive search on big codebase
Actual Results:
gui locks up
Expected Results:
no lockup
--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
KDevelop-bugs mailing list
KDevelop-bugs@kdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-bugs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic