[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