Review Request 121930: [OS X] improvements to KSharedData

Milian Wolff mail-p1YWqDuG1x2ELgA04lAiVw at public.gmane.org
Fri Jan 9 14:15:13 GMT 2015



> On Jan. 8, 2015, 6:12 p.m., Milian Wolff wrote:
> > personally, I also think that if you tested and it works, and Allan has no objections, that you can go ahead and push this. but please don't comment out code, just remove it.
> 
> René J.V. Bertin wrote:
>     OK, will do.
>     
>     I'll give it a bit more testing, though. Mutex locking without timeouts could lead to deadlocks, and maybe that's why the feature was disabled on OS X (maybe someone even ran into such a deadlock).
> 
> Ian Wadham wrote:
>     I just did a build-and-test using KGoldrunner, a highly-animated game that requires KSharedDataCache for SVG graphics pixmaps, rendered at various sizes. Everything worked perfectly. There was plenty of kDebug log output from KSharedDataCache, but nowhere did I see any error messages, such as those which used to occur in https://bugs.kde.org/show_bug.cgi?id=307652. I also tested with no cache-files present initially and with theme-changes and fast resizes of the main window while the demo was running. Resizes cause pixmaps of new sizes to be added to the cache, or retrieved if the required size is already there. This is quite a tough test of KSharedDataCache performance, but I do not think it would be prone to deadlocks. I tried two KGr demo windows running at once, but there is a feature in KGr that automatically pauses whichever window is not in focus.
>     
>     Real-time performance was very good throughout all tests. So ship away, René!
> 
> René J.V. Bertin wrote:
>     Sorry for the huge backtrace below, but since it includes ksharedptr.h, isn't there reason to believe a deadlock *is* possible?
>     
>     Because that's most likely what I had. KDevelop stopped responding (giving the "beachball of death") and was ultimately killed by the OS in a way that was handed off directly to the system's crash reporter (= bypassing DrKonqi which *was* supposed to be enabled).
>     
>     This was on a session containing (outdated) KF5 kauth and kwallet git clones, a git clone of kdelibs 4.14.4 and my MacPorts working copy of the same. After the initial import I had stopped the parsing of the 1st 3 projects, and then went off to browse YouTube while kdevelop did its parsing thing. About 15min later it was still at 0%, then went to about 13% when I made it the foreground app, and then hung.
>     By then it had grown to over 5Gb virtual memory (whatever that means on OS X 10.9) and a bit under 1Gb real memory. OS memory pressure was in the green though whatever that means, and it doesn't look like an out of memory condition.
>     
>     Currently I have the reopened the session letting it parse all 4 projects (without purging the cached info), which it completed in under 15 minutes ...
>     
>     
>     ```
>     Process:         kdevelop.bin [21646]
>     Path:            /Applications/MacPorts/*/kdevelop.app/Contents/MacOS/kdevelop.bin
>     Identifier:      org.kde.KDevelop
>     Version:         ??? (4.7)
>     Code Type:       X86-64 (Native)
>     Parent Process:  launchd [341]
>     Responsible:     kdevelop.bin [21646]
>     User ID:         505
>     
>     Date/Time:       2015-01-09 14:17:06.848 +0100
>     OS Version:      Mac OS X 10.9.5 (13F34)
>     Report Version:  11
>     Anonymous UUID:  64B814D9-356F-6F85-8341-E17C1354A330
>     
>     Sleep/Wake UUID: 2E685D82-8142-4128-A7B2-A65F0BD1B3B7
>     
>     Crashed Thread:  0  Dispatch queue: com.apple.main-thread
>     
>     Exception Type:  EXC_CRASH (SIGILL)
>     Exception Codes: 0x0000000000000000, 0x0000000000000000
>     
>     Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
>     0   libsystem_kernel.dylib        	0x00007fff93ca7a1a mach_msg_trap + 10
>     1   libsystem_kernel.dylib        	0x00007fff93ca6d18 mach_msg + 64
>     2   com.apple.CoreFoundation      	0x00007fff92481f15 __CFRunLoopServiceMachPort + 181
>     3   com.apple.CoreFoundation      	0x00007fff92481539 __CFRunLoopRun + 1161
>     4   com.apple.CoreFoundation      	0x00007fff92480e75 CFRunLoopRunSpecific + 309
>     5   com.apple.HIToolbox           	0x00007fff8a987a0d RunCurrentEventLoopInMode + 226
>     6   com.apple.HIToolbox           	0x00007fff8a9877b7 ReceiveNextEventCommon + 479
>     7   com.apple.HIToolbox           	0x00007fff8a9875bc _BlockUntilNextEventMatchingListInModeWithFilter + 65
>     8   com.apple.AppKit              	0x00007fff8eb7e24e _DPSNextEvent + 1434
>     9   com.apple.AppKit              	0x00007fff8eb7d89b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
>     10  com.apple.AppKit              	0x00007fff8eb7199c -[NSApplication run] + 553
>     11  QtGui                         	0x000000011112307b QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2059
>     12  QtCore                        	0x0000000111f8a1df QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 495 (qglobal.h:2359)
>     13  QtCore                        	0x0000000111f8d3f7 QCoreApplication::exec() + 199 (qcoreapplication.cpp:1225)
>     14  kdevelop.bin                  	0x000000010f19fe75 main + 54197 (main.cpp:582)
>     15  libdyld.dylib                 	0x00007fff888d25fd start + 1
>     
>     Thread 1:: Dispatch queue: com.apple.libdispatch-manager
>     0   libsystem_kernel.dylib        	0x00007fff93cac662 kevent64 + 10
>     1   libdispatch.dylib             	0x00007fff88890421 _dispatch_mgr_invoke + 239
>     2   libdispatch.dylib             	0x00007fff88890136 _dispatch_mgr_thread + 52
>     
>     Thread 2:: com.apple.CFSocket.private
>     0   libsystem_kernel.dylib        	0x00007fff93cab9aa __select + 10
>     1   com.apple.CoreFoundation      	0x00007fff924cda03 __CFSocketManager + 867
>     2   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     3   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     4   libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 3:
>     0   libsystem_kernel.dylib        	0x00007fff93ca7a1a mach_msg_trap + 10
>     1   libsystem_kernel.dylib        	0x00007fff93ca6d18 mach_msg + 64
>     2   com.apple.CoreFoundation      	0x00007fff92481f15 __CFRunLoopServiceMachPort + 181
>     3   com.apple.CoreFoundation      	0x00007fff92481539 __CFRunLoopRun + 1161
>     4   com.apple.CoreFoundation      	0x00007fff92480e75 CFRunLoopRunSpecific + 309
>     5   com.apple.AppKit              	0x00007fff8ed1e05e _NSEventThread + 144
>     6   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     7   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     8   libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 4:: QThread
>     0   libsystem_kernel.dylib        	0x00007fff93cab716 __psynch_cvwait + 10
>     1   libsystem_pthread.dylib       	0x00007fff936b7c3b _pthread_cond_wait + 727
>     2   QtCore                        	0x0000000111e7d0b9 QWaitConditionPrivate::wait(unsigned long) + 185 (qwaitcondition_unix.cpp:84)
>     3   QtCore                        	0x0000000111e7cf2f QWaitCondition::wait(QMutex*, unsigned long) + 111 (qwaitcondition_unix.cpp:158)
>     4   libkdevplatformlanguage.8.dylib	0x00000001134f2000 KDevelop::DUChainPrivate::CleanupThread::run() + 192 (qmutex.h:169)
>     5   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     6   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     7   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     8   libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 5:: OutputFilterThread
>     0   libsystem_kernel.dylib        	0x00007fff93cab9aa __select + 10
>     1   QtCore                        	0x0000000111fba744 qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) + 436 (qcore_unix.cpp:79)
>     2   QtCore                        	0x0000000111fbdc05 QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) + 757 (qeventdispatcher_unix.cpp:219)
>     3   QtCore                        	0x0000000111fbf5f6 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 214 (qeventdispatcher_unix.cpp:936)
>     4   QtCore                        	0x0000000111f8a1df QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 495 (qglobal.h:2359)
>     5   QtCore                        	0x0000000111e79f99 QThread::exec() + 217 (qthread.cpp:538)
>     6   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     7   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     8   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     9   libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 6:: QProcessManager
>     0   libsystem_kernel.dylib        	0x00007fff93cab9aa __select + 10
>     1   QtCore                        	0x0000000111f60eb5 QProcessManager::run() + 133 (qprocess_unix.cpp:271)
>     2   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     3   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     4   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     5   libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 7:: QThread
>     0   libsystem_kernel.dylib        	0x00007fff93cab9aa __select + 10
>     1   QtCore                        	0x0000000111fba744 qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) + 436 (qcore_unix.cpp:79)
>     2   QtCore                        	0x0000000111fbdc05 QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) + 757 (qeventdispatcher_unix.cpp:219)
>     3   QtCore                        	0x0000000111fbf5f6 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 214 (qeventdispatcher_unix.cpp:936)
>     4   QtCore                        	0x0000000111f8a1df QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 495 (qglobal.h:2359)
>     5   QtCore                        	0x0000000111e79f99 QThread::exec() + 217 (qthread.cpp:538)
>     6   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     7   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     8   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     9   libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 8:: ThreadWeaver::Thread
>     0   libsystem_kernel.dylib        	0x00007fff93cab716 __psynch_cvwait + 10
>     1   libsystem_pthread.dylib       	0x00007fff936b7c3b _pthread_cond_wait + 727
>     2   QtCore                        	0x0000000111e7d0cb QWaitConditionPrivate::wait(unsigned long) + 203 (qwaitcondition_unix.cpp:86)
>     3   QtCore                        	0x0000000111e7cf2f QWaitCondition::wait(QMutex*, unsigned long) + 111 (qwaitcondition_unix.cpp:158)
>     4   libthreadweaver.4.dylib       	0x000000010ff162cb ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) + 187 (WeaverImpl.cpp:371)
>     5   libthreadweaver.4.dylib       	0x000000010ff19263 ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) + 179 (WorkingHardState.cpp:71)
>     6   libthreadweaver.4.dylib       	0x000000010ff1927c ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) + 204 (WorkingHardState.cpp:73)
>     7   libthreadweaver.4.dylib       	0x000000010ff1927c ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) + 204 (WorkingHardState.cpp:73)
>     8   libthreadweaver.4.dylib       	0x000000010ff176e7 ThreadWeaver::Thread::run() + 359 (Thread.cpp:98)
>     9   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     10  libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     11  libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     12  libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 9:: ThreadWeaver::Thread
>     0   libkdev4cppduchain.dylib      	0x000000012da498b4 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 20 (expressionvisitor.cpp:897)
>     1   libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     2   libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     3   libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     4   libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     5   libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     6   libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     7   libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     8   libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     9   libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     10  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     11  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     12  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     13  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     14  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     15  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     16  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     17  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     18  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     19  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     20  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     21  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     22  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     23  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     24  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     25  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     26  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     27  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     28  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     29  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     30  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     31  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     32  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     33  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     34  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     35  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     36  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     37  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     38  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     39  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     40  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     41  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     42  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     43  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     44  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     45  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     46  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     47  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     48  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     49  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     50  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     51  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     52  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     53  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     54  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     55  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     56  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     57  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     58  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     59  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     60  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     61  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     62  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     63  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     64  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     65  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     66  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     67  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     68  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     69  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     70  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     71  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     72  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     73  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     74  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     75  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     76  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     77  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     78  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     79  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     80  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     81  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     82  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     83  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     84  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     85  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     86  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     87  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     88  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     89  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     90  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     91  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     92  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     93  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     94  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     95  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     96  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     97  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     98  libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     99  libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     100 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     101 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     102 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     103 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     104 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     105 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     106 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     107 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     108 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     109 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     110 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     111 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     112 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     113 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     114 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     115 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     116 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     117 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     118 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     119 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     120 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     121 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     122 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     123 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     124 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     125 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     126 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     127 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     128 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     129 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     130 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     131 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     132 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     133 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     134 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     135 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     136 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     137 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     138 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     139 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     140 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     141 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     142 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     143 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     144 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     145 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     146 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     147 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     148 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     149 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     150 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     151 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     152 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     153 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     154 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     155 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     156 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     157 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     158 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     159 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     160 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     161 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     162 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     163 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     164 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     165 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     166 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     167 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     168 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     169 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     170 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     171 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     172 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     173 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     174 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     175 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     176 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     177 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     178 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     179 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     180 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     181 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     182 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     183 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     184 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     185 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     186 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     187 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     188 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     189 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     190 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     191 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     192 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     193 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     194 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     195 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     196 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     197 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     198 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     199 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     200 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     201 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     202 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     203 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     204 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     205 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     206 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     207 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     208 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     209 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     210 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     211 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     212 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     213 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     214 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     215 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     216 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     217 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     218 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     219 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     220 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     221 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     222 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     223 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     224 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     225 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     226 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     227 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     228 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     229 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     230 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     231 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     232 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     233 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     234 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     235 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     236 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     237 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     238 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     239 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     240 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     241 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     242 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     243 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     244 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     245 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     246 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     247 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     248 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     249 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     250 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     251 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     252 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     253 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     254 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     255 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     256 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     257 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     258 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     259 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     260 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     261 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     262 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     263 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     264 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     265 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     266 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     267 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     268 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     269 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     270 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     271 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     272 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     273 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     274 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     275 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     276 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     277 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     278 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     279 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     280 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     281 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     282 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     283 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     284 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     285 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     286 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     287 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     288 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     289 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     290 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     291 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     292 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     293 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     294 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     295 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     296 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     297 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     298 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     299 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     300 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     301 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     302 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     303 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     304 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     305 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     306 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     307 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     308 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     309 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     310 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     311 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     312 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     313 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     314 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     315 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     316 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     317 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     318 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     319 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     320 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     321 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     322 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     323 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     324 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     325 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     326 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     327 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     328 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     329 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     330 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     331 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     332 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     333 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     334 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     335 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     336 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     337 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     338 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     339 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     340 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     341 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     342 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     343 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     344 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     345 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     346 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     347 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     348 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     349 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     350 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     351 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     352 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     353 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     354 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     355 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     356 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     357 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     358 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     359 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     360 libkdev4cppduchain.dylib      	0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)
>     361 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     362 libkdev4cppduchain.dylib      	0x000000012da50cd2 Cpp::ExpressionVisitor::visitExpressionStatement(ExpressionStatementAST*) + 146 (typepointer.h:97)
>     363 libkdev4cppduchain.dylib      	0x000000012da5942e Cpp::ExpressionVisitor::visit(AST*) + 46 (pushvalue.h:66)
>     364 libkdev4cppduchain.dylib      	0x000000012da43c50 Cpp::ExpressionVisitor::parse(AST*) + 160 (expressionvisitor.h:201)
>     365 libkdev4cppduchain.dylib      	0x000000012da02a6f UseBuilder::visitExpression(AST*) + 159 (usebuilder.cpp:181)
>     366 libkdev4cppparser.dylib       	0x000000012dba54dc DefaultVisitor::visitCompoundStatement(CompoundStatementAST*) + 92 (visitor.h:140)
>     367 libkdev4cppduchain.dylib      	0x000000012d9c5005 ContextBuilder::visitCompoundStatement(CompoundStatementAST*) + 149 (contextbuilder.cpp:675)
>     368 libkdev4cppduchain.dylib      	0x000000012d9c4cc6 ContextBuilder::visitFunctionDefinition(FunctionDefinitionAST*) + 1158 (contextbuilder.cpp:592)
>     369 libkdev4cppparser.dylib       	0x000000012dba643c DefaultVisitor::visitTranslationUnit(TranslationUnitAST*) + 92 (visitor.h:140)
>     370 libkdev4cppduchain.dylib      	0x000000012da03c56 KDevelop::AbstractUseBuilder<AST, NameAST, ContextBuilder>::buildUses(AST*) + 150 (abstractcontextbuilder.h:135)
>     371 libkdev4cppduchain.dylib      	0x000000012da028fd UseBuilder::buildUses(AST*) + 157 (typeconversion.h:150)
>     372 kdevcpplanguagesupport.so     	0x000000012d8900e5 CPPInternalParseJob::run() + 17925 (cppparsejob.cpp:715)
>     373 libthreadweaver.4.dylib       	0x000000010ff17f82 ThreadWeaver::JobRunHelper::runTheJob(ThreadWeaver::Thread*, ThreadWeaver::Job*) + 242 (Job.cpp:108)
>     374 libthreadweaver.4.dylib       	0x000000010ff18332 ThreadWeaver::Job::execute(ThreadWeaver::Thread*) + 290 (Job.cpp:136)
>     375 libthreadweaver.4.dylib       	0x000000010ff19e2f ThreadWeaver::JobCollectionJobRunner::execute(ThreadWeaver::Thread*) + 31 (qpointer.h:78)
>     376 libthreadweaver.4.dylib       	0x000000010ff17613 ThreadWeaver::Thread::run() + 147 (Thread.cpp:108)
>     377 QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     378 libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     379 libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     380 libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 10:: QKqueueFileSystemWatcherEngine
>     0   libsystem_kernel.dylib        	0x00007fff93cac64a kevent + 10
>     1   QtCore                        	0x0000000111f6f96a QKqueueFileSystemWatcherEngine::run() + 106 (qfilesystemwatcher_kqueue.cpp:254)
>     2   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     3   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     4   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     5   libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 11:: QKqueueFileSystemWatcherEngine
>     0   libsystem_kernel.dylib        	0x00007fff93cac64a kevent + 10
>     1   QtCore                        	0x0000000111f6f96a QKqueueFileSystemWatcherEngine::run() + 106 (qfilesystemwatcher_kqueue.cpp:254)
>     2   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     3   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     4   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     5   libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 12:: QKqueueFileSystemWatcherEngine
>     0   libsystem_kernel.dylib        	0x00007fff93cac64a kevent + 10
>     1   QtCore                        	0x0000000111f6f96a QKqueueFileSystemWatcherEngine::run() + 106 (qfilesystemwatcher_kqueue.cpp:254)
>     2   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     3   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     4   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     5   libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 13:: QKqueueFileSystemWatcherEngine
>     0   libsystem_kernel.dylib        	0x00007fff93cac64a kevent + 10
>     1   QtCore                        	0x0000000111f6f96a QKqueueFileSystemWatcherEngine::run() + 106 (qfilesystemwatcher_kqueue.cpp:254)
>     2   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     3   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     4   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     5   libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 14:: ThreadWeaver::Thread
>     0   libsystem_kernel.dylib        	0x00007fff93cab716 __psynch_cvwait + 10
>     1   libsystem_pthread.dylib       	0x00007fff936b7c3b _pthread_cond_wait + 727
>     2   QtCore                        	0x0000000111e7d0cb QWaitConditionPrivate::wait(unsigned long) + 203 (qwaitcondition_unix.cpp:86)
>     3   QtCore                        	0x0000000111e7cf2f QWaitCondition::wait(QMutex*, unsigned long) + 111 (qwaitcondition_unix.cpp:158)
>     4   libthreadweaver.4.dylib       	0x000000010ff162cb ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) + 187 (WeaverImpl.cpp:371)
>     5   libthreadweaver.4.dylib       	0x000000010ff19263 ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) + 179 (WorkingHardState.cpp:71)
>     6   libthreadweaver.4.dylib       	0x000000010ff176e7 ThreadWeaver::Thread::run() + 359 (Thread.cpp:98)
>     7   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     8   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     9   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     10  libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 15:: ThreadWeaver::Thread
>     0   libsystem_kernel.dylib        	0x00007fff93cab716 __psynch_cvwait + 10
>     1   libsystem_pthread.dylib       	0x00007fff936b7c3b _pthread_cond_wait + 727
>     2   QtCore                        	0x0000000111e7d0cb QWaitConditionPrivate::wait(unsigned long) + 203 (qwaitcondition_unix.cpp:86)
>     3   QtCore                        	0x0000000111e7cf2f QWaitCondition::wait(QMutex*, unsigned long) + 111 (qwaitcondition_unix.cpp:158)
>     4   libthreadweaver.4.dylib       	0x000000010ff162cb ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) + 187 (WeaverImpl.cpp:371)
>     5   libthreadweaver.4.dylib       	0x000000010ff19263 ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) + 179 (WorkingHardState.cpp:71)
>     6   libthreadweaver.4.dylib       	0x000000010ff1927c ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) + 204 (WorkingHardState.cpp:73)
>     7   libthreadweaver.4.dylib       	0x000000010ff176e7 ThreadWeaver::Thread::run() + 359 (Thread.cpp:98)
>     8   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     9   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     10  libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     11  libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 16:: ThreadWeaver::Thread
>     0   libsystem_kernel.dylib        	0x00007fff93cab716 __psynch_cvwait + 10
>     1   libsystem_pthread.dylib       	0x00007fff936b7c3b _pthread_cond_wait + 727
>     2   QtCore                        	0x0000000111e7d0cb QWaitConditionPrivate::wait(unsigned long) + 203 (qwaitcondition_unix.cpp:86)
>     3   QtCore                        	0x0000000111e7cf2f QWaitCondition::wait(QMutex*, unsigned long) + 111 (qwaitcondition_unix.cpp:158)
>     4   libthreadweaver.4.dylib       	0x000000010ff162cb ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) + 187 (WeaverImpl.cpp:371)
>     5   libthreadweaver.4.dylib       	0x000000010ff19263 ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) + 179 (WorkingHardState.cpp:71)
>     6   libthreadweaver.4.dylib       	0x000000010ff1927c ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) + 204 (WorkingHardState.cpp:73)
>     7   libthreadweaver.4.dylib       	0x000000010ff176e7 ThreadWeaver::Thread::run() + 359 (Thread.cpp:98)
>     8   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     9   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     10  libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     11  libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 17:: ThreadWeaver::Thread
>     0   libsystem_kernel.dylib        	0x00007fff93cab716 __psynch_cvwait + 10
>     1   libsystem_pthread.dylib       	0x00007fff936b7c3b _pthread_cond_wait + 727
>     2   QtCore                        	0x0000000111e7d0cb QWaitConditionPrivate::wait(unsigned long) + 203 (qwaitcondition_unix.cpp:86)
>     3   QtCore                        	0x0000000111e7cf2f QWaitCondition::wait(QMutex*, unsigned long) + 111 (qwaitcondition_unix.cpp:158)
>     4   libthreadweaver.4.dylib       	0x000000010ff162cb ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) + 187 (WeaverImpl.cpp:371)
>     5   libthreadweaver.4.dylib       	0x000000010ff19263 ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) + 179 (WorkingHardState.cpp:71)
>     6   libthreadweaver.4.dylib       	0x000000010ff176e7 ThreadWeaver::Thread::run() + 359 (Thread.cpp:98)
>     7   QtCore                        	0x0000000111e7ba32 QThreadPrivate::start(void*) + 418 (qthread_unix.cpp:351)
>     8   libsystem_pthread.dylib       	0x00007fff936b5899 _pthread_body + 138
>     9   libsystem_pthread.dylib       	0x00007fff936b572a _pthread_start + 137
>     10  libsystem_pthread.dylib       	0x00007fff936b9fc9 thread_start + 13
>     
>     Thread 0 crashed with X86 Thread State (64-bit):
>       rax: 0x0000000010004005  rbx: 0x0000000007000006  rcx: 0x00007fff50a735d8  rdx: 0x0000000000000000
>       rdi: 0x00007fff50a73710  rsi: 0x0000000007000006  rbp: 0x00007fff50a73620  rsp: 0x00007fff50a735d8
>        r8: 0x0000000000002a0f   r9: 0x00000000ffffffff  r10: 0x0000000000000c00  r11: 0x0000000000000206
>       r12: 0x0000000000000c00  r13: 0x0000000000000000  r14: 0x00007fff50a73710  r15: 0x0000000000002a0f
>       rip: 0x00007fff93ca7a1a  rfl: 0x0000000000000206  cr2: 0x00007fd3b48a6ae0
>       
>     Logical CPU:     0
>     Error Code:      0x0100001f
>     Trap Number:     133
>     ```

please use a pastebin the next time. that said, KSharedPtr has nothing to do with KSharedDataCache. it's a legacy smart pointer class, which is superseded by e.g. QExplicitlySharedDataPointer. Also, your backtrace contains garbage, probably due to stack corruption or missing debug symbols:

    360 libkdev4cppduchain.dylib          0x000000012da49963 Cpp::ExpressionVisitor::visitBinaryExpression(BinaryExpressionAST*) + 195 (ksharedptr.h:84)

this is _not_ in ksharedptr.h, and not in loc 84. it also says that thread 0 crashes, somewhere deep in mac stuff.


- Milian


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121930/#review73521
-----------------------------------------------------------


On Jan. 8, 2015, 5:09 p.m., René J.V. Bertin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121930/
> -----------------------------------------------------------
> 
> (Updated Jan. 8, 2015, 5:09 p.m.)
> 
> 
> Review request for KDE Software on Mac OS X, kdelibs and Allen Winter.
> 
> 
> Repository: kdelibs
> 
> 
> Description
> -------
> 
> This patch improves KSharedData on 2 points:
> 
> - It enables `KSDC_THREAD_PROCESS_SHARED_SUPPORTED` on OS X because even if the OS cannot do timeouts on mutex locking, it does have Posix mutexes (pthreads). I don't know why this was deactivated explicitly on OS X (do you remember, Allan?), but haven't seen issues with KSDC_THREAD_PROCESS_SHARED_SUPPORTED - for now.
> 
> - OS X doesn't have `posix_fallocate()`, but an emulation of this function is available in the Mozilla code (reference found on StackOverflow). The code seems to be license-compatible, so I removed the code for non-OS X platforms, and include it in `kshareddatacache_p.h`. Again, this seems to work.
> 
> 
> Diffs
> -----
> 
>   kdecore/util/kshareddatacache_p.h 931de4d 
>   kdecore/util/posix_fallocate_mac.h PRE-CREATION 
> 
> Diff: https://git.reviewboard.kde.org/r/121930/diff/
> 
> 
> Testing
> -------
> 
> On OS X 10.9.5 with kdelibs 4.14.4 and KDE PIM 4.13.3 (I use KMail as my default MUA).
> 
> 
> Thanks,
> 
> René J.V. Bertin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20150109/47dd0bc4/attachment.htm>


More information about the kde-core-devel mailing list