Bug 192536 - kiotraderparse is not thread-safe
Summary: kiotraderparse is not thread-safe
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kdecore (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
: 193822 198833 200286 201110 202683 202906 203440 203981 203990 204320 204963 205108 205754 206135 206248 206476 206621 206744 206850 207037 207103 207505 207689 208577 208718 208800 209086 209335 210230 211266 212999 213092 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-05-13 08:17 UTC by peaches
Modified: 2010-03-17 22:40 UTC (History)
32 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description peaches 2009-05-13 08:17:03 UTC
Application that crashed: krunner
Version of the application: 0.1
KDE Version: 4.2.85 (KDE 4.2.85 (KDE 4.3 Beta1))
Qt Version: 4.5.1
Operating System: Linux 2.6.28-11-generic x86_64
Distribution: Ubuntu 9.04

What I was doing when the application crashed:
I think it was a quick type to a match.

 -- Backtrace:
Application: Run Command Interface (krunner), signal: Segmentation fault
[Current thread is 0 (LWP 8679)]

Thread 5 (Thread 0x7ffda5ae2950 (LWP 10519)):
[KCrash Handler]
#5  0x00007ffdc5652126 in kiotraderlex () at lex.c:775
#6  0x00007ffdc56516e6 in kiotraderparse () at yacc.c:1405
#7  0x00007ffdc5652026 in KTraderParse_mainParse (_code=0x3374b98 "exist Exec and ('styl' =~ Name)") at yacc.y:151
#8  0x00007ffdc564d94a in KTraderParse::parseConstraints (_constr=@0x7ffda5ae1d30) at /opt/kde/trunk/src/KDE/kdelibs/kdecore/services/ktraderparse.cpp:44
#9  0x00007ffdc564cbf9 in KServiceTypeTrader::applyConstraints (lst=@0x7ffda5ae19e0, constraint=@0x7ffda5ae1d30) at /opt/kde/trunk/src/KDE/kdelibs/kdecore/services/kservicetypetrader.cpp:59
#10 0x00007ffdc564cdd0 in KServiceTypeTrader::defaultOffers (this=0x18a7e70, serviceType=@0x7ffda5ae1d00, constraint=@0x7ffda5ae1d30)
    at /opt/kde/trunk/src/KDE/kdelibs/kdecore/services/kservicetypetrader.cpp:127
#11 0x00007ffdc564ce3d in KServiceTypeTrader::query (this=0x18a7e70, serviceType=@0x7ffda5ae1d00, constraint=@0x7ffda5ae1d30)
    at /opt/kde/trunk/src/KDE/kdelibs/kdecore/services/kservicetypetrader.cpp:141
#12 0x00007ffda9b63040 in ServiceRunner::match (this=0x2051e10, context=@0x1a47b08) at /opt/kde/trunk/src/KDE/kdebase/workspace/plasma/runners/services/servicerunner.cpp:56
#13 0x00007ffdc6a059d4 in Plasma::AbstractRunner::performMatch (this=0x2051e10, localContext=@0x1a47b08) at /opt/kde/trunk/src/KDE/kdelibs/plasma/abstractrunner.cpp:160
#14 0x00007ffdc6a7d950 in Plasma::FindMatchesJob::run (this=0x1a47af0) at /opt/kde/trunk/src/KDE/kdelibs/plasma/private/runnerjobs.cpp:158
#15 0x00007ffdc66ff3cf in ThreadWeaver::JobRunHelper::runTheJob (this=0x7ffda5ae1ee0, th=0x20fce60, job=0x1a47af0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/Job.cpp:106
#16 0x00007ffdc66ff609 in ThreadWeaver::Job::execute (this=0x1a47af0, th=0x20fce60) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/Job.cpp:135
#17 0x00007ffdc66fe8f8 in ThreadWeaver::ThreadRunHelper::run (this=0x7ffda5ae1f90, parent=0x1846bc0, th=0x20fce60) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:95
#18 0x00007ffdc66fea41 in ThreadWeaver::Thread::run (this=0x20fce60) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:142
#19 0x00007ffdc4e8da2d in QThreadPrivate::start (arg=0x20fce60) at /opt/kde/trunk/src/qt-copy/src/corelib/thread/qthread_unix.cpp:189
#20 0x00007ffdc4c063ba in start_thread () from /lib/libpthread.so.0
#21 0x00007ffdc1f3afcd in clone () from /lib/libc.so.6
#22 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7ffda52e1950 (LWP 10520)):
#0  0x00007ffdc4c0a2e9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007ffdc4e8e279 in QWaitConditionPrivate::wait (this=0x16aee50, time=18446744073709551615) at /opt/kde/trunk/src/qt-copy/src/corelib/thread/qwaitcondition_unix.cpp:87
#2  0x00007ffdc4e8ddd6 in QWaitCondition::wait (this=0x1846be8, mutex=0x1846940, time=18446744073709551615) at /opt/kde/trunk/src/qt-copy/src/corelib/thread/qwaitcondition_unix.cpp:159
#3  0x00007ffdc66fbdd1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1846bc0, th=0x2102ef0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007ffdc6700517 in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x1849070, th=0x2102ef0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:80
#5  0x00007ffdc66fb546 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x1846bc0, th=0x2102ef0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:356
#6  0x00007ffdc670060f in ThreadWeaver::WorkingHardState::applyForWork (this=0x1849070, th=0x2102ef0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#7  0x00007ffdc66fc00d in ThreadWeaver::WeaverImpl::applyForWork (this=0x1846bc0, th=0x2102ef0, previous=0x20e8d50) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#8  0x00007ffdc66fe8ac in ThreadWeaver::ThreadRunHelper::run (this=0x7ffda52e0f90, parent=0x1846bc0, th=0x2102ef0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:87
#9  0x00007ffdc66fea41 in ThreadWeaver::Thread::run (this=0x2102ef0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:142
#10 0x00007ffdc4e8da2d in QThreadPrivate::start (arg=0x2102ef0) at /opt/kde/trunk/src/qt-copy/src/corelib/thread/qthread_unix.cpp:189
#11 0x00007ffdc4c063ba in start_thread () from /lib/libpthread.so.0
#12 0x00007ffdc1f3afcd in clone () from /lib/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7ffda4ae0950 (LWP 10521)):
#0  0x00007ffdc4c0a2e9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007ffdc4e8e279 in QWaitConditionPrivate::wait (this=0x16aee50, time=18446744073709551615) at /opt/kde/trunk/src/qt-copy/src/corelib/thread/qwaitcondition_unix.cpp:87
#2  0x00007ffdc4e8ddd6 in QWaitCondition::wait (this=0x1846be8, mutex=0x1846940, time=18446744073709551615) at /opt/kde/trunk/src/qt-copy/src/corelib/thread/qwaitcondition_unix.cpp:159
#3  0x00007ffdc66fbdd1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1846bc0, th=0x2105990) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007ffdc6700517 in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x1849070, th=0x2105990) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:80
#5  0x00007ffdc66fb546 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x1846bc0, th=0x2105990) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:356
#6  0x00007ffdc670060f in ThreadWeaver::WorkingHardState::applyForWork (this=0x1849070, th=0x2105990) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#7  0x00007ffdc66fc00d in ThreadWeaver::WeaverImpl::applyForWork (this=0x1846bc0, th=0x2105990, previous=0x335b2c0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#8  0x00007ffdc66fe8ac in ThreadWeaver::ThreadRunHelper::run (this=0x7ffda4adff90, parent=0x1846bc0, th=0x2105990) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:87
#9  0x00007ffdc66fea41 in ThreadWeaver::Thread::run (this=0x2105990) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:142
#10 0x00007ffdc4e8da2d in QThreadPrivate::start (arg=0x2105990) at /opt/kde/trunk/src/qt-copy/src/corelib/thread/qthread_unix.cpp:189
#11 0x00007ffdc4c063ba in start_thread () from /lib/libpthread.so.0
#12 0x00007ffdc1f3afcd in clone () from /lib/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7ffda42df950 (LWP 10522)):
#0  0x00007ffdc4c0a2e9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007ffdc4e8e279 in QWaitConditionPrivate::wait (this=0x16aee50, time=18446744073709551615) at /opt/kde/trunk/src/qt-copy/src/corelib/thread/qwaitcondition_unix.cpp:87
#2  0x00007ffdc4e8ddd6 in QWaitCondition::wait (this=0x1846be8, mutex=0x1846940, time=18446744073709551615) at /opt/kde/trunk/src/qt-copy/src/corelib/thread/qwaitcondition_unix.cpp:159
#3  0x00007ffdc66fbdd1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1846bc0, th=0x21085b0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007ffdc6700517 in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x1849070, th=0x21085b0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:80
#5  0x00007ffdc66fb546 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x1846bc0, th=0x21085b0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:356
#6  0x00007ffdc670060f in ThreadWeaver::WorkingHardState::applyForWork (this=0x1849070, th=0x21085b0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#7  0x00007ffdc66fc00d in ThreadWeaver::WeaverImpl::applyForWork (this=0x1846bc0, th=0x21085b0, previous=0x0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#8  0x00007ffdc6700632 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1849070, th=0x21085b0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#9  0x00007ffdc66fc00d in ThreadWeaver::WeaverImpl::applyForWork (this=0x1846bc0, th=0x21085b0, previous=0x184a770) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x00007ffdc66fe8ac in ThreadWeaver::ThreadRunHelper::run (this=0x7ffda42def90, parent=0x1846bc0, th=0x21085b0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:87
#11 0x00007ffdc66fea41 in ThreadWeaver::Thread::run (this=0x21085b0) at /opt/kde/trunk/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:142
#12 0x00007ffdc4e8da2d in QThreadPrivate::start (arg=0x21085b0) at /opt/kde/trunk/src/qt-copy/src/corelib/thread/qthread_unix.cpp:189
#13 0x00007ffdc4c063ba in start_thread () from /lib/libpthread.so.0
#14 0x00007ffdc1f3afcd in clone () from /lib/libc.so.6
#15 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffdc7774790 (LWP 8679)):
#0  0x00007ffdc76ba726 in ?? () from /lib64/ld-linux-x86-64.so.2
#1  0x00007ffdc76bb4ee in ?? () from /lib64/ld-linux-x86-64.so.2
#2  0x00007ffdc76b48c6 in ?? () from /lib64/ld-linux-x86-64.so.2
#3  0x00007ffdbf8a62cc in ?? () from /lib/libdl.so.2
#4  0x00007ffdbf8a600f in dlclose () from /lib/libdl.so.2
#5  0x00007ffdacb07719 in ?? () from /usr/lib/libgmodule-2.0.so.0
#6  0x00007ffdacb07835 in g_module_close () from /usr/lib/libgmodule-2.0.so.0
#7  0x00007ffdbd6920cd in g_slist_foreach () from /usr/lib/libglib-2.0.so.0
#8  0x00007ffdacd0e7e0 in enchant_broker_free () from /usr/lib/libenchant.so.1
#9  0x00007ffdacf19109 in ~QSpellEnchantClient (this=0x1a746b0) at /opt/kde/trunk/src/KDE/kdelibs/sonnet/plugins/enchant/enchantclient.cpp:59
#10 0x00007ffdc4f8d9ef in QObjectPrivate::deleteChildren (this=0x1a8cb00) at /opt/kde/trunk/src/qt-copy/src/corelib/kernel/qobject.cpp:1854
#11 0x00007ffdc4f94d2f in ~QObject (this=0x1a8e360) at /opt/kde/trunk/src/qt-copy/src/corelib/kernel/qobject.cpp:844
#12 0x00007ffdc565856a in ~Loader (this=0x1a8e360) at /opt/kde/trunk/src/KDE/kdelibs/kdecore/sonnet/loader.cpp:79
#13 0x00007ffdc56574f0 in destroy () at /opt/kde/trunk/src/KDE/kdelibs/kdecore/sonnet/loader.cpp:53
#14 0x00007ffdc55bae79 in ~KCleanUpGlobalStatic (this=0x7ffdc599ca68) at /opt/kde/trunk/src/KDE/kdelibs/kdecore/kernel/kglobal.h:62
#15 0x00007ffdc1e8b6ed in exit () from /lib/libc.so.6
#16 0x00007ffdc4152370 in qt_xio_errhandler () at /opt/kde/trunk/src/qt-copy/src/gui/kernel/qapplication_x11.cpp:707
#17 0x00007ffdc5e28885 in KApplication::xioErrhandler (this=0x16af530, dpy=0x16e6e90) at /opt/kde/trunk/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:413
#18 0x00007ffdc5e288b3 in kde_xio_errhandler (dpy=0x16e6e90) at /opt/kde/trunk/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:130
#19 0x00007ffdc38016e4 in _XIOError () from /usr/lib/libX11.so.6
#20 0x00007ffdc3808a1f in ?? () from /usr/lib/libX11.so.6
#21 0x00007ffdc3809345 in _XEventsQueued () from /usr/lib/libX11.so.6
#22 0x00007ffdc37f1ed3 in XEventsQueued () from /usr/lib/libX11.so.6
#23 0x00007ffdc418be63 in x11EventSourceCheck (s=0x16b6e20) at /opt/kde/trunk/src/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:87
#24 0x00007ffdbd675ed2 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#25 0x00007ffdbd6767c9 in ?? () from /usr/lib/libglib-2.0.so.0
#26 0x00007ffdbd676a7c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#27 0x00007ffdc4fab364 in QEventDispatcherGlib::processEvents (this=0x16bc830, flags={i = -812891312}) at /opt/kde/trunk/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:326
#28 0x00007ffdc418b9df in QGuiEventDispatcherGlib::processEvents (this=0x16bc830, flags={i = -812891216}) at /opt/kde/trunk/src/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:202
#29 0x00007ffdc4f7a9d7 in QEventLoop::processEvents (this=0x7fffcf8c4480, flags={i = -812891088}) at /opt/kde/trunk/src/qt-copy/src/corelib/kernel/qeventloop.cpp:149
#30 0x00007ffdc4f7abe4 in QEventLoop::exec (this=0x7fffcf8c4480, flags={i = -812890976}) at /opt/kde/trunk/src/qt-copy/src/corelib/kernel/qeventloop.cpp:196
#31 0x00007ffdc4f7df74 in QCoreApplication::exec () at /opt/kde/trunk/src/qt-copy/src/corelib/kernel/qcoreapplication.cpp:888
#32 0x00007ffdc40e2e4c in QApplication::exec () at /opt/kde/trunk/src/qt-copy/src/gui/kernel/qapplication.cpp:3526
#33 0x00007ffdc746822b in kdemain (argc=1, argv=0x7fffcf8c4728) at /opt/kde/trunk/src/KDE/kdebase/workspace/krunner/main.cpp:59
#34 0x0000000000400927 in main (argc=1, argv=0x7fffcf8c4728) at /opt/kde/trunk/build/KDE/kdebase/workspace/krunner/krunner_dummy.cpp:3
Comment 1 peaches 2009-05-13 08:21:10 UTC
KDE trunk r965053, qt-copy r964678
Comment 2 Pino Toscano 2009-07-22 23:45:14 UTC
*** Bug 200286 has been marked as a duplicate of this bug. ***
Comment 3 Pino Toscano 2009-07-22 23:46:01 UTC
*** Bug 201110 has been marked as a duplicate of this bug. ***
Comment 4 Pino Toscano 2009-08-03 00:36:49 UTC
SVN commit 1006058 by pino:

Activate the reentrancy features for lex/yacc, and the bison bridge for flex.
This, together with the use of a scanner object, allows the resulting ktrader parser to be reentrant, thus to be used safely in multithreading contexts.
CCBUG: 192536


 M  +635 -440  lex.c  
 M  +18 -16    lex.l  
 M  +359 -248  yacc.c  
 M  +23 -41    yacc.h  
 M  +15 -6     yacc.y  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1006058
Comment 5 Pino Toscano 2009-08-03 00:42:07 UTC
SVN commit 1006063 by pino:

ktrader parser invocation: instead of using a static variable for current resulting tree and data being parsed, put them in a thread local storage
this avoids them being mutually rewritten by racing threads, and the result should guarantee reentrancy
CCBUG: 192536


 M  +26 -11    ktraderparse.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1006063
Comment 6 Dario Andres 2009-08-06 04:25:37 UTC
*** Bug 202683 has been marked as a duplicate of this bug. ***
Comment 7 Dario Andres 2009-08-07 14:23:48 UTC
*** Bug 202906 has been marked as a duplicate of this bug. ***
Comment 8 Dario Andres 2009-08-11 16:29:19 UTC
*** Bug 198833 has been marked as a duplicate of this bug. ***
Comment 9 Dario Andres 2009-08-11 16:29:34 UTC
*** Bug 203440 has been marked as a duplicate of this bug. ***
Comment 10 Dario Andres 2009-08-16 20:10:23 UTC
*** Bug 203981 has been marked as a duplicate of this bug. ***
Comment 11 Dario Andres 2009-08-16 20:12:30 UTC
*** Bug 203990 has been marked as a duplicate of this bug. ***
Comment 12 Dario Andres 2009-08-18 21:49:26 UTC
*** Bug 204320 has been marked as a duplicate of this bug. ***
Comment 13 Dario Andres 2009-08-25 03:22:02 UTC
*** Bug 204963 has been marked as a duplicate of this bug. ***
Comment 14 Dario Andres 2009-08-25 23:34:29 UTC
*** Bug 205108 has been marked as a duplicate of this bug. ***
Comment 15 Dario Andres 2009-09-02 03:54:31 UTC
*** Bug 205754 has been marked as a duplicate of this bug. ***
Comment 16 Dario Andres 2009-09-04 00:49:11 UTC
*** Bug 206135 has been marked as a duplicate of this bug. ***
Comment 17 Dario Andres 2009-09-04 14:59:38 UTC
*** Bug 206248 has been marked as a duplicate of this bug. ***
Comment 18 Dario Andres 2009-09-06 15:58:51 UTC
*** Bug 206476 has been marked as a duplicate of this bug. ***
Comment 19 Dario Andres 2009-09-07 13:55:27 UTC
*** Bug 206621 has been marked as a duplicate of this bug. ***
Comment 20 Dario Andres 2009-09-08 14:49:55 UTC
*** Bug 206744 has been marked as a duplicate of this bug. ***
Comment 21 Dario Andres 2009-09-09 15:21:34 UTC
*** Bug 206850 has been marked as a duplicate of this bug. ***
Comment 22 Jacopo De Simoi 2009-09-10 16:27:14 UTC
SVN commit 1022002 by jacopods:

KTraderParse is not thread safe in 4.3 - welcome back bigLock()
CCBUG: 192536
CCMAIL: pino@kde.org



 M  +5 -1      servicerunner.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1022002
Comment 23 Dario Andres 2009-09-11 16:52:11 UTC
*** Bug 207037 has been marked as a duplicate of this bug. ***
Comment 24 Dario Andres 2009-09-12 16:59:40 UTC
*** Bug 207103 has been marked as a duplicate of this bug. ***
Comment 25 Pino Toscano 2009-09-15 15:06:35 UTC
SVN commit 1023881 by pino:

Backport SVN commit 1006058 by pino:

Activate the reentrancy features for lex/yacc, and the bison bridge for flex.
This, together with the use of a scanner object, allows the resulting ktrader parser to be reentrant, thus to be used safely in multithreading contexts.
CCBUG: 192536


 M  +635 -440  lex.c  
 M  +18 -16    lex.l  
 M  +359 -248  yacc.c  
 M  +23 -41    yacc.h  
 M  +15 -6     yacc.y  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1023881
Comment 26 Pino Toscano 2009-09-15 15:12:14 UTC
SVN commit 1023884 by pino:

backport SVN commit 1006063 by pino:

ktrader parser invocation: instead of using a static variable for current resulting tree and data being parsed, put them in a thread local storage
this avoids them being mutually rewritten by racing threads, and the result should guarantee reentrancy
CCBUG: 192536


 M  +26 -11    ktraderparse.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1023884
Comment 27 Dario Andres 2009-09-16 03:00:26 UTC
*** Bug 207505 has been marked as a duplicate of this bug. ***
Comment 28 Jacopo De Simoi 2009-09-17 16:58:01 UTC
SVN commit 1024912 by jacopods:

bigLock is gone again; KServiceTrader should be now thread-safe also in branch (thanks pinotree)
CCBUG: 192536


 M  +0 -5      servicerunner.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1024912
Comment 29 Jacopo De Simoi 2009-09-17 17:00:20 UTC
*** Bug 207689 has been marked as a duplicate of this bug. ***
Comment 30 Pino Toscano 2009-09-20 23:49:42 UTC
*** Bug 193822 has been marked as a duplicate of this bug. ***
Comment 31 Dario Andres 2009-09-26 15:45:55 UTC
*** Bug 208577 has been marked as a duplicate of this bug. ***
Comment 32 Dario Andres 2009-09-28 00:26:42 UTC
*** Bug 208718 has been marked as a duplicate of this bug. ***
Comment 33 Dario Andres 2009-09-29 03:44:25 UTC
*** Bug 208800 has been marked as a duplicate of this bug. ***
Comment 34 Dario Andres 2009-10-02 00:05:58 UTC
*** Bug 209086 has been marked as a duplicate of this bug. ***
Comment 35 Dario Andres 2009-10-03 21:54:50 UTC
*** Bug 209335 has been marked as a duplicate of this bug. ***
Comment 36 Dario Andres 2009-10-11 20:59:27 UTC
*** Bug 210230 has been marked as a duplicate of this bug. ***
Comment 37 Dario Andres 2009-10-21 03:23:11 UTC
*** Bug 211266 has been marked as a duplicate of this bug. ***
Comment 38 Dario Andres 2009-11-04 01:41:43 UTC
*** Bug 212999 has been marked as a duplicate of this bug. ***
Comment 39 Dario Andres 2009-11-04 17:05:12 UTC
*** Bug 213092 has been marked as a duplicate of this bug. ***
Comment 40 anton 2010-03-17 22:33:30 UTC
I'm not sure if my issue is the exact duplicate of this one, but I use kde 4.4.1 and krunner often crash (not always, but rather often) after calculating simple math expression - like "=36*3" - shows result and crash almost immediately after that or the result does not show up - just crash during typing.
Comment 41 Pino Toscano 2010-03-17 22:40:06 UTC
(In reply to comment #40)
> I'm not sure if my issue is the exact duplicate of this one, but I use kde
> 4.4.1 and krunner often crash (not always, but rather often) after calculating
> simple math expression - like "=36*3" - shows result and crash almost
> immediately after that or the result does not show up - just crash during
> typing.

Calculator runner was not affected by this bug; please open a new bug report (with proper backtraces and clear steps).