KDevelop / KDevPlatform compiled from git (2015-11-09). When I open my SVN-based C++ project and expand the project folder in the Projects tab, KDevelop crashes with a Segmentation Fault. Since I don't get the crash report dialog for some reason, here is the gdb output: Starting program: /opt/local/kdevelop/bin/kdevelop Missing separate debuginfos, use: zypper install glibc-debuginfo-2.19-17.4.x86_64 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffd62c7700 (LWP 10681)] Detaching after fork from child process 10685. Detaching after fork from child process 10732. Detaching after fork from child process 10736. Detaching after fork from child process 10739. Detaching after fork from child process 10742. Detaching after fork from child process 10781. Detaching after fork from child process 10797. Detaching after fork from child process 10798. [Thread 0x7fffd62c7700 (LWP 10681) exited] Detaching after fork from child process 10799. Detaching after fork from child process 10801. [New Thread 0x7fff6affd700 (LWP 10819)] [New Thread 0x7fff6b7fe700 (LWP 10818)] [New Thread 0x7fff6bfff700 (LWP 10817)] [New Thread 0x7fff78c24700 (LWP 10816)] [New Thread 0x7fff79427700 (LWP 10815)] [New Thread 0x7fff79c28700 (LWP 10814)] [New Thread 0x7fff90939700 (LWP 10813)] [New Thread 0x7fff919ae700 (LWP 10812)] [New Thread 0x7fff911ad700 (LWP 10809)] [New Thread 0x7fff921af700 (LWP 10807)] [New Thread 0x7fff929b0700 (LWP 10806)] [New Thread 0x7fffa1373700 (LWP 10805)] [New Thread 0x7fffa0b72700 (LWP 10804)] [New Thread 0x7fffd62c7700 (LWP 10803)] [New Thread 0x7fffa2edb700 (LWP 10684)] [New Thread 0x7fffbc184700 (LWP 10683)] [New Thread 0x7fffc6a71700 (LWP 10682)] [New Thread 0x7fffd85a4700 (LWP 10680)] Program received signal SIGSEGV, Segmentation fault. 0x00007ffff18feb30 in QTransform::type() const () from /usr/lib64/libQt5Gui.so.5 Missing separate debuginfos, use: zypper install Mesa-debuginfo-11.0.2-129.1.x86_64 Mesa-libGL1-debuginfo-11.0.2-129.1.x86_64 Mesa-libglapi0-debuginfo-11.0.2-129.1.x86_64 fontconfig-debuginfo-2.11.0-3.2.x86_64 frameworkintegration-plugin-debuginfo-5.15.0-1.1.x86_64 grantlee5-debuginfo-5.0.0-4.4.x86_64 kimageformats-debuginfo-5.15.0-1.2.x86_64 kio-core-debuginfo-5.15.0-1.3.x86_64 kio-debuginfo-5.15.0-1.3.x86_64 konsole-part-debuginfo-15.08.2-1.1.x86_64 kpackage-debuginfo-5.15.0-1.2.x86_64 krb5-debuginfo-1.12.1-19.9.x86_64 kservice-debuginfo-5.15.0-2.1.x86_64 ktexteditor-debuginfo-5.15.0-1.2.x86_64 libFLAC8-debuginfo-1.3.0-9.2.x86_64 libHalf11-debuginfo-2.1.0-4.2.x86_64 libICE6-debuginfo-1.0.9-3.1.x86_64 libIex-2_1-11-debuginfo-2.1.0-4.2.x86_64 libIlmImf-Imf_2_1-21-debuginfo-2.1.0-6.2.x86_64 libIlmThread-2_1-11-debuginfo-2.1.0-4.2.x86_64 libKF5Archive5-debuginfo-5.15.0-1.1.x86_64 libKF5Attica5-debuginfo-5.15.0-1.1.x86_64 libKF5Auth5-debuginfo-5.15.0-1.1.x86_64 libKF5Bookmarks5-debuginfo-5.15.0-1.1.x86_64 libKF5Codecs5-debuginfo-5.15.0-1.1.x86_64 libKF5Completion5-debuginfo-5.15.0-1.1.x86_64 libKF5ConfigCore5-debuginfo-5.15.0-1.1.x86_64 libKF5ConfigGui5-debuginfo-5.15.0-1.1.x86_64 libKF5ConfigWidgets5-debuginfo-5.15.0-1.2.x86_64 libKF5CoreAddons5-debuginfo-5.15.0-1.1.x86_64 libKF5DBusAddons5-debuginfo-5.15.0-1.1.x86_64 libKF5Declarative5-debuginfo-5.15.0-1.1.x86_64 libKF5GlobalAccel5-debuginfo-5.15.0-1.2.x86_64 libKF5GuiAddons5-debuginfo-5.15.0-1.1.x86_64 libKF5I18n5-debuginfo-5.15.0-1.1.x86_64 libKF5IconThemes5-debuginfo-5.15.0-1.1.x86_64 libKF5ItemModels5-debuginfo-5.15.0-1.1.x86_64 libKF5ItemViews5-debuginfo-5.15.0-1.1.x86_64 libKF5JobWidgets5-debuginfo-5.15.0-1.1.x86_64 libKF5KCMUtils5-debuginfo-5.15.0-1.2.x86_64 libKF5NewStuff5-debuginfo-5.15.0-1.2.x86_64 libKF5Notifications5-debuginfo-5.15.0-1.2.x86_64 libKF5NotifyConfig5-debuginfo-5.15.0-1.1.x86_64 libKF5Parts5-debuginfo-5.15.0-1.2.x86_64 libKF5Pty5-debuginfo-5.15.0-1.1.x86_64 libKF5QuickAddons5-debuginfo-5.15.0-1.1.x86_64 libKF5Solid5-debuginfo-5.15.0-1.1.x86_64 libKF5SonnetCore5-debuginfo-5.15.0-1.2.x86_64 libKF5SonnetUi5-debuginfo-5.15.0-1.2.x86_64 libKF5TextWidgets5-debuginfo-5.15.0-1.2.x86_64 libKF5ThreadWeaver5-debuginfo-5.15.0-1.1.x86_64 libKF5WidgetsAddons5-debuginfo-5.15.0-1.1.x86_64 libKF5WindowSystem5-debuginfo-5.15.0-1.1.x86_64 libKF5XmlGui5-debuginfo-5.15.0-1.3.x86_64 libLLVM-debuginfo-3.7.0-2.2.x86_64 libQt5CLucene5-debuginfo-5.5.0-1.4.x86_64 libQt5Concurrent5-debuginfo-5.5.0-2.1.x86_64 libQt5DBus5-debuginfo-5.5.0-2.1.x86_64 libQt5Gui5-debuginfo-5.5.0-2.1.x86_64 libQt5Help5-debuginfo-5.5.0-1.4.x86_64 libQt5Network5-debuginfo-5.5.0-2.1.x86_64 libQt5OpenGL5-debuginfo-5.5.0-2.1.x86_64 libQt5Positioning5-debuginfo-5.5.0-1.4.x86_64 libQt5PrintSupport5-debuginfo-5.5.0-2.1.x86_64 libQt5Script5-debuginfo-5.5.0-1.4.x86_64 libQt5Sensors5-debuginfo-5.5.0-1.1.x86_64 libQt5Sql5-debuginfo-5.5.0-2.1.x86_64 libQt5Sql5-sqlite-debuginfo-5.5.0-2.1.x86_64 libQt5Svg5-debuginfo-5.5.0-1.1.x86_64 libQt5Test5-debuginfo-5.5.0-2.1.x86_64 libQt5WebChannel5-debuginfo-5.5.0-1.1.x86_64 libQt5WebKit5-debuginfo-5.5.0-1.4.x86_64 libQt5WebKitWidgets5-debuginfo-5.5.0-1.4.x86_64 libQt5Widgets5-debuginfo-5.5.0-2.1.x86_64 libQt5X11Extras5-debuginfo-5.5.0-1.2.x86_64 libQt5Xml5-debuginfo-5.5.0-2.1.x86_64 libQtQuick5-debuginfo-5.5.0-1.4.x86_64 libSM6-debuginfo-1.2.2-5.1.x86_64 libX11-6-debuginfo-1.6.3-1.1.x86_64 libX11-xcb1-debuginfo-1.6.3-1.1.x86_64 libXau6-debuginfo-1.0.8-6.1.x86_64 libXcomposite1-debuginfo-0.4.4-10.1.x86_64 libXcursor1-debuginfo-1.1.14-6.1.x86_64 libXdamage1-debuginfo-1.1.4-9.1.x86_64 libXext6-debuginfo-1.3.3-3.1.x86_64 libXfixes3-debuginfo-5.0.1-5.1.x86_64 libXi6-debuginfo-1.7.5-1.1.x86_64 libXrender1-debuginfo-0.9.9-1.1.x86_64 libXxf86vm1-debuginfo-1.1.4-1.1.x86_64 libacl1-debuginfo-2.2.52-6.4.x86_64 libapr-util1-debuginfo-1.5.3-3.2.x86_64 libapr1-debuginfo-1.5.1-5.1.x86_64 libattr1-debuginfo-2.4.47-5.4.x86_64 libbz2-1-debuginfo-1.0.6-30.4.x86_64 libclang-debuginfo-3.7.0-2.2.x86_64 libcom_err2-debuginfo-1.42.11-10.2.x86_64 libdb-4_8-debuginfo-4.8.30-30.4.x86_64 libdbus-1-3-debuginfo-1.8.16-5.2.x86_64 libdbusmenu-qt5-2-debuginfo-0.9.3+15.10.20150604-3.11.x86_64 libdrm2-debuginfo-2.4.65-1.1.x86_64 libdrm_intel1-debuginfo-2.4.65-1.1.x86_64 libdrm_nouveau2-debuginfo-2.4.65-1.1.x86_64 libdrm_radeon1-debuginfo-2.4.65-1.1.x86_64 libexpat1-debuginfo-2.1.0-15.4.x86_64 libffi4-debuginfo-5.2.1+r226025-4.1.x86_64 libfreetype6-debuginfo-2.5.5-8.2.x86_64 libgcc_s1-debuginfo-5.2.1+r226025-4.2.x86_64 libgcrypt20-debuginfo-1.6.1-18.7.x86_64 libgit2-22-debuginfo-0.22.1-2.6.x86_64 libglib-2_0-0-debuginfo-2.44.1-2.3.x86_64 libgmodule-2_0-0-debuginfo-2.44.1-2.3.x86_64 libgobject-2_0-0-debuginfo-2.44.1-2.3.x86_64 libgpg-error0-debuginfo-1.13-3.6.x86_64 libgraphite2-3-debuginfo-1.3.1-1.1.x86_64 libgstapp-1_0-0-debuginfo-1.4.5-2.7.x86_64 libgstaudio-1_0-0-debuginfo-1.4.5-2.7.x86_64 libgstpbutils-1_0-0-debuginfo-1.4.5-2.7.x86_64 libgstreamer-1_0-0-debuginfo-1.4.5-2.2.x86_64 libgsttag-1_0-0-debuginfo-1.4.5-2.7.x86_64 libgstvideo-1_0-0-debuginfo-1.4.5-2.7.x86_64 libharfbuzz0-debuginfo-1.0.3-1.1.x86_64 libicu52_1-debuginfo-52.1-10.3.x86_64 libjasper1-debuginfo-1.900.1-164.1.x86_64 libjbig2-debuginfo-2.0-3.2.x86_64 libjpeg8-debuginfo-8.0.2-31.3.x86_64 libjson-c2-debuginfo-0.12-4.2.x86_64 libkeyutils1-debuginfo-1.5.9-4.3.x86_64 liblcms1-debuginfo-1.19-19.1.x86_64 libldap-2_4-2-debuginfo-2.4.41-9.1.x86_64 liblzma5-debuginfo-5.0.5-3.5.x86_64 libmagic1-debuginfo-5.19-5.5.x86_64 libmng1-debuginfo-1.0.10-3.2.x86_64 libncurses5-debuginfo-5.9-53.4.x86_64 libogg0-debuginfo-1.3.0-3.2.x86_64 libopenssl1_0_0-debuginfo-1.0.1i-4.1.x86_64 liborc-0_4-0-debuginfo-0.4.24-6.1.x86_64 libpciaccess0-debuginfo-0.13.4-1.1.x86_64 libpcre1-debuginfo-8.33-3.5.x86_64 libpcre16-0-debuginfo-8.33-3.5.x86_64 libphonon4qt5-debuginfo-4.8.3-4.11.x86_64 libpng16-16-debuginfo-1.6.8-2.2.x86_64 libpulse-mainloop-glib0-debuginfo-7.0-3.1.x86_64 libpulse0-debuginfo-7.0-3.1.x86_64 libqt5-qtimageformats-debuginfo-5.5.0-1.1.x86_64 libqt5-qtquickcontrols-debuginfo-5.5.0-1.1.x86_64 libsasl2-3-debuginfo-2.1.26-8.1.x86_64 libselinux1-debuginfo-2.3-3.5.x86_64 libserf-1-1-debuginfo-1.3.8-4.2.x86_64 libsndfile1-debuginfo-1.0.25-20.1.x86_64 libspeex1-debuginfo-1.2~rc2-1.1.x86_64 libsqlite3-0-debuginfo-3.8.10.2-5.2.x86_64 libssh2-1-debuginfo-1.4.3-10.1.x86_64 libstdc++6-debuginfo-5.2.1+r226025-4.2.x86_64 libtiff5-debuginfo-4.0.4-1.1.x86_64 libudev1-debuginfo-210-84.1.x86_64 libutempter0-debuginfo-1.1.6-6.4.x86_64 libuuid1-debuginfo-2.25-9.4.x86_64 libvorbis0-debuginfo-1.3.3-3.7.x86_64 libvorbisenc2-debuginfo-1.3.3-3.7.x86_64 libwebp5-debuginfo-0.4.3-5.2.x86_64 libxcb-dri2-0-debuginfo-1.11.1-1.1.x86_64 libxcb-dri3-0-debuginfo-1.11.1-1.1.x86_64 libxcb-glx0-debuginfo-1.11.1-1.1.x86_64 libxcb-icccm4-debuginfo-0.4.1-3.1.x86_64 libxcb-image0-debuginfo-0.4.0-1.1.x86_64 libxcb-keysyms1-debuginfo-0.4.0-1.1.x86_64 libxcb-present0-debuginfo-1.11.1-1.1.x86_64 libxcb-randr0-debuginfo-1.11.1-1.1.x86_64 libxcb-render-util0-debuginfo-0.3.9-3.1.x86_64 libxcb-render0-debuginfo-1.11.1-1.1.x86_64 libxcb-shape0-debuginfo-1.11.1-1.1.x86_64 libxcb-shm0-debuginfo-1.11.1-1.1.x86_64 libxcb-sync1-debuginfo-1.11.1-1.1.x86_64 libxcb-util1-debuginfo-0.4.0-1.1.x86_64 libxcb-xfixes0-debuginfo-1.11.1-1.1.x86_64 libxcb-xkb1-debuginfo-1.11.1-1.1.x86_64 libxcb1-debuginfo-1.11.1-1.1.x86_64 libxkbcommon-x11-0-debuginfo-0.5.0-5.2.x86_64 libxkbcommon0-debuginfo-0.5.0-5.2.x86_64 libxml2-2-debuginfo-2.9.1-8.1.x86_64 libxshmfence1-debuginfo-1.2-5.3.x86_64 libxslt1-debuginfo-1.1.28-8.1.x86_64 libz1-debuginfo-1.2.8-6.4.x86_64 s2tc-debuginfo-1.0-9.2.x86_64 subversion-debuginfo-1.8.10-3.3.x86_64 systemd-debuginfo-210-84.1.x86_64 Thread 20 (Thread 0x7fffd85a4700 (LWP 10680)): #0 0x00007fffeffe8c1d in poll () at /lib64/libc.so.6 #1 0x00007fffe49c3422 in () at /usr/lib64/libxcb.so.1 #2 0x00007fffe49c500f in xcb_wait_for_event () at /usr/lib64/libxcb.so.1 #3 0x00007fffda8f8c29 in () at /usr/lib64/libQt5XcbQpa.so.5 #4 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x66e440) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x66e440, __do_it = 1, __cancel_type = <optimized out>} thr = 0x66e440 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7ffff0e87e20 <QArrayData::shared_null>} #5 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #6 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 19 (Thread 0x7fffc6a71700 (LWP 10682)): #0 0x00007fffe9a1c408 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf84c8 in QWaitCondition::wait(QMutex*, unsigned long) (time=1000, this=0x27b0a90) at thread/qwaitcondition_unix.cpp:126 ti = {tv_sec = 5254, tv_nsec = 157747417} code = <optimized out> #2 0x00007ffff0bf84c8 in QWaitCondition::wait(QMutex*, unsigned long) (time=1000, this=0x27b0a90) at thread/qwaitcondition_unix.cpp:134 code = <optimized out> #3 0x00007ffff0bf84c8 in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x27afac0, time=1000) at thread/qwaitcondition_unix.cpp:208 #4 0x00007fffeea1cda2 in KDevelop::DUChainPrivate::CleanupThread::run() () at /opt/local/kdevelop/lib64/libKDevPlatformLanguage.so.10 #5 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x27afaa0) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x27afaa0, __do_it = 1, __cancel_type = <optimized out>} thr = 0x27afaa0 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7ffff0e87e20 <QArrayData::shared_null>} #6 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #7 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 18 (Thread 0x7fffbc184700 (LWP 10683)): #0 0x00007fffe9a1c408 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf84c8 in QWaitCondition::wait(QMutex*, unsigned long) (time=30000, this=0x38c6430) at thread/qwaitcondition_unix.cpp:126 ti = {tv_sec = 5268, tv_nsec = 164206895} code = <optimized out> #2 0x00007ffff0bf84c8 in QWaitCondition::wait(QMutex*, unsigned long) (time=30000, this=0x38c6430) at thread/qwaitcondition_unix.cpp:134 code = <optimized out> #3 0x00007ffff0bf84c8 in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x38c6af0, mutex=mutex@entry=0x27561b0, time=30000) at thread/qwaitcondition_unix.cpp:208 #4 0x00007ffff0bf4716 in QThreadPoolThread::run() (this=0x38c6ae0) at thread/qthreadpool.cpp:127 r = <optimized out> expired = <optimized out> locker = {val = 41247153} #5 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x38c6ae0) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x38c6ae0, __do_it = 1, __cancel_type = <optimized out>} thr = 0x38c6ae0 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x380b5a0} #6 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #7 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 17 (Thread 0x7fffa2edb700 (LWP 10684)): #0 0x00007fffeffe8c1d in poll () at /lib64/libc.so.6 #1 0x00007fffe7a31e64 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fffe7a31f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007ffff0e28a5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fff9c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420 d = 0x7fff9c0008e0 canWait = true savedFlags = {i = 0} result = false #4 0x00007ffff0dcfa63 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffa2edad60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 locker = {val = 60989120} ref = {d = 0x7fff9c0032d0, locker = @0x7fffa2edace0, exceptionCaught = true} d = 0x7fff9c0032d0 #5 0x00007ffff0bf284a in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503 d = 0x3a29e50 locker = {val = 60989120} eventLoop = {<QObject> = {_vptr.QObject = 0x7ffff121f450 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff0f2c8a0 <qt_meta_stringdata_QObject>, data = 0x7ffff0f2c780 <qt_meta_data_QObject>, static_metacall = 0x7ffff0e0a3f0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x7fff9c0032d0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff0f76820 <qt_meta_stringdata_Qt>, data = 0x7ffff0f73e20 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7ffff121bda0 <QObject::staticMetaObject>, stringdata = 0x7ffff0f8b820 <qt_meta_stringdata_QEventLoop>, data = 0x7ffff0f8b7c0 <qt_meta_data_QEventLoop>, static_metacall = 0x7ffff0e823c0 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} returnCode = <optimized out> #6 0x00007fffeeb32206 in KDevelop::CompletionWorkerThread::run() () at /opt/local/kdevelop/lib64/libKDevPlatformLanguage.so.10 #7 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x3a29e20) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x3a29e20, __do_it = 1, __cancel_type = <optimized out>} thr = 0x3a29e20 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7ffff0e87e20 <QArrayData::shared_null>} #8 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 16 (Thread 0x7fffd62c7700 (LWP 10803)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x26d8c20) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x26d27f0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #8 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #9 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #10 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #11 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #12 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #13 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x1fa7f50) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x1fa7f50, __do_it = 1, __cancel_type = <optimized out>} thr = 0x1fa7f50 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x1c2d350} #14 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #15 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 15 (Thread 0x7fffa0b72700 (LWP 10804)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x26d8c20) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x26d27f0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x7fffc8018750) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fffc8018750, __do_it = 1, __cancel_type = <optimized out>} thr = 0x7fffc8018750 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7fffc8042930} #8 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 14 (Thread 0x7fffa1373700 (LWP 10805)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x26d8c20) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x26d27f0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #8 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #9 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #10 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #11 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x7fff98022780) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fff98022780, __do_it = 1, __cancel_type = <optimized out>} thr = 0x7fff98022780 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7fff98022b70} #12 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #13 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 13 (Thread 0x7fff929b0700 (LWP 10806)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x26d8c20) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x26d27f0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #8 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #9 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x7fff94002d70) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fff94002d70, __do_it = 1, __cancel_type = <optimized out>} thr = 0x7fff94002d70 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7fff94000a00} #10 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #11 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 12 (Thread 0x7fff921af700 (LWP 10807)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x26d8c20) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x26d27f0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #8 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #9 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #10 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #11 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #12 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #13 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #14 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #15 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x7fff8c0021d0) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fff8c0021d0, __do_it = 1, __cancel_type = <optimized out>} thr = 0x7fff8c0021d0 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7fff8c002be0} #16 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #17 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 11 (Thread 0x7fff911ad700 (LWP 10809)): #0 0x00007fffeffe8c1d in poll () at /lib64/libc.so.6 #1 0x00007fffe7a31e64 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fffe7a31f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007ffff0e28a5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fff7c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420 d = 0x7fff7c0008e0 canWait = true savedFlags = {i = 0} result = false #4 0x00007ffff0dcfa63 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff911acd60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 locker = {val = 33803024} ref = {d = 0x7fff7c003390, locker = @0x7fff911acce0, exceptionCaught = true} d = 0x7fff7c003390 #5 0x00007ffff0bf284a in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503 d = 0x203caa0 locker = {val = 33803024} eventLoop = {<QObject> = {_vptr.QObject = 0x7ffff121f450 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff0f2c8a0 <qt_meta_stringdata_QObject>, data = 0x7ffff0f2c780 <qt_meta_data_QObject>, static_metacall = 0x7ffff0e0a3f0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x7fff7c003390}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff0f76820 <qt_meta_stringdata_Qt>, data = 0x7ffff0f73e20 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7ffff121bda0 <QObject::staticMetaObject>, stringdata = 0x7ffff0f8b820 <qt_meta_stringdata_QEventLoop>, data = 0x7ffff0f8b7c0 <qt_meta_data_QEventLoop>, static_metacall = 0x7ffff0e823c0 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} returnCode = <optimized out> #6 0x00007fffeeb32206 in KDevelop::CompletionWorkerThread::run() () at /opt/local/kdevelop/lib64/libKDevPlatformLanguage.so.10 #7 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x203acb0) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x203acb0, __do_it = 1, __cancel_type = <optimized out>} thr = 0x203acb0 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7ffff0e87e20 <QArrayData::shared_null>} #8 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 10 (Thread 0x7fff919ae700 (LWP 10812)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x38c6c10) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x38ba4b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x1b95990) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x1b95990, __do_it = 1, __cancel_type = <optimized out>} thr = 0x1b95990 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x431c750} #8 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 9 (Thread 0x7fff90939700 (LWP 10813)): #0 0x00007fffe1ff6a48 in () at /usr/lib64/libsqlite3.so.0 #1 0x00007fffe1ff6c3e in () at /usr/lib64/libsqlite3.so.0 #2 0x00007fffe1ff6cf1 in () at /usr/lib64/libsqlite3.so.0 #3 0x00007fffe2002985 in () at /usr/lib64/libsqlite3.so.0 #4 0x00007fffe2004478 in () at /usr/lib64/libsqlite3.so.0 #5 0x00007fffe200991a in () at /usr/lib64/libsqlite3.so.0 #6 0x00007fffe2009f72 in () at /usr/lib64/libsqlite3.so.0 #7 0x00007fffe200a268 in () at /usr/lib64/libsqlite3.so.0 #8 0x00007fffe200a508 in sqlite3_prepare_v2 () at /usr/lib64/libsqlite3.so.0 #9 0x00007fffe1ff6341 in sqlite3_exec () at /usr/lib64/libsqlite3.so.0 #10 0x00007fffbfbbe349 in () at /usr/lib64/libsvn_subr-1.so.0 #11 0x00007fffbfbbf67e in svn_sqlite.open () at /usr/lib64/libsvn_subr-1.so.0 #12 0x00007fffbf94775f in svn_wc.db_util_open_db () at /usr/lib64/libsvn_wc-1.so.0 #13 0x00007fffbf94848d in svn_wc.db_wcroot_parse_local_abspath () at /usr/lib64/libsvn_wc-1.so.0 #14 0x00007fffbf935a31 in svn_wc.db_read_single_info () at /usr/lib64/libsvn_wc-1.so.0 #15 0x00007fffbf914370 in svn_wc.internal_walk_status () at /usr/lib64/libsvn_wc-1.so.0 #16 0x00007fffc437fef4 in svn_client_status5 () at /usr/lib64/libsvn_client-1.so.0 #17 0x00007fffc4354e20 in svn_client_status4 () at /usr/lib64/libsvn_client-1.so.0 #18 0x00007fffc4354e95 in svn_client_status3 () at /usr/lib64/libsvn_client-1.so.0 #19 0x00007fffc4354ef7 in svn_client_status2 () at /usr/lib64/libsvn_client-1.so.0 #20 0x00007fffc45f897f in svn::localStatus(char const*, bool, bool, bool, bool, svn::Context*, bool) () at /opt/local/kdevelop/lib64/plugins/kdevplatform/24/kdevsubversion.so #21 0x00007fffc45f8f3b in svn::Client::status(char const*, bool, bool, bool, bool, bool) () at /opt/local/kdevelop/lib64/plugins/kdevplatform/24/kdevsubversion.so #22 0x00007fffc45d8073 in SvnInternalStatusJob::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () at /opt/local/kdevelop/lib64/plugins/kdevplatform/24/kdevsubversion.so #23 0x00007fffec3fbba0 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib64/libKF5ThreadWeaver.so.5 #24 0x00007fffec3fa930 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib64/libKF5ThreadWeaver.so.5 #25 0x00007fffec3f9f3a in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #26 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x7fff89469680) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fff89469680, __do_it = 1, __cancel_type = <optimized out>} thr = 0x7fff89469680 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7fff8b90d6d0} #27 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #28 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 8 (Thread 0x7fff79c28700 (LWP 10814)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x38c6c10) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x38ba4b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #8 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #9 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x7fff80001510) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fff80001510, __do_it = 1, __cancel_type = <optimized out>} thr = 0x7fff80001510 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7fff80003c50} #10 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #11 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 7 (Thread 0x7fff79427700 (LWP 10815)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x38c6c10) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x38ba4b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fc481 in () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #8 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #9 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x7fff74002f90) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fff74002f90, __do_it = 1, __cancel_type = <optimized out>} thr = 0x7fff74002f90 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7fff740032c0} #10 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #11 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 6 (Thread 0x7fff78c24700 (LWP 10816)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x38c6c10) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x38ba4b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x7fff6c003190) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fff6c003190, __do_it = 1, __cancel_type = <optimized out>} thr = 0x7fff6c003190 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7fff6c0034c0} #8 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 5 (Thread 0x7fff6bfff700 (LWP 10817)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x38c6c10) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x38ba4b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x7fff70002d90) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fff70002d90, __do_it = 1, __cancel_type = <optimized out>} thr = 0x7fff70002d90 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7fff700030c0} #8 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 4 (Thread 0x7fff6b7fe700 (LWP 10818)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x38c6c10) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x38ba4b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x7fff89cbbda0) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fff89cbbda0, __do_it = 1, __cancel_type = <optimized out>} thr = 0x7fff89cbbda0 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7fff89e4ec70} #8 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 3 (Thread 0x7fff6affd700 (LWP 10819)): #0 0x00007fffe9a1c05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x38c6c10) at thread/qwaitcondition_unix.cpp:136 code = <optimized out> #2 0x00007ffff0bf857b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x38ba4b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007fffec3f865f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #4 0x00007fffec3fc43a in () at /usr/lib64/libKF5ThreadWeaver.so.5 #5 0x00007fffec3f66cb in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5 #6 0x00007fffec3fa005 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5 #7 0x00007ffff0bf755f in QThreadPrivate::start(void*) (arg=0x7fff64002d90) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7ffff0bf6770 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fff64002d90, __do_it = 1, __cancel_type = <optimized out>} thr = 0x7fff64002d90 data = <optimized out> objectName = {static null = {<No data fields>}, d = 0x7fff640030c0} #8 0x00007fffe9a180a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007fffefff104d in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7ffff7f7c7c0 (LWP 10676)): #0 0x00007ffff18feb30 in QTransform::type() const () at /usr/lib64/libQt5Gui.so.5 #1 0x00007ffff188f3aa in () at /usr/lib64/libQt5Gui.so.5 #2 0x00007ffff1897138 in QRasterPaintEngine::drawPixmap(QRectF const&, QPixmap const&, QRectF const&) () at /usr/lib64/libQt5Gui.so.5 #3 0x00007ffff18af683 in QPainter::drawPixmap(QRectF const&, QPixmap const&, QRectF const&) () at /usr/lib64/libQt5Gui.so.5 #4 0x00007ffff474c9b8 in KIconEngine::paint(QPainter*, QRect const&, QIcon::Mode, QIcon::State) () at /usr/lib64/libKF5IconThemes.so.5 #5 0x00007ffff16f9143 in QIcon::paint(QPainter*, QRect const&, QFlags<Qt::AlignmentFlag>, QIcon::Mode, QIcon::State) const () at /usr/lib64/libQt5Gui.so.5 #6 0x00007fffba488d0a in ProjectModelItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () at /opt/local/kdevelop/lib64/plugins/kdevplatform/24/kdevprojectmanagerview.so #7 0x00007ffff20945cf in QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () at /usr/lib64/libQt5Widgets.so.5 #8 0x00007ffff2098112 in QTreeView::drawTree(QPainter*, QRegion const&) const () at /usr/lib64/libQt5Widgets.so.5 #9 0x00007ffff209e680 in QTreeView::paintEvent(QPaintEvent*) () at /usr/lib64/libQt5Widgets.so.5 #10 0x00007ffff1e4d43b in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #11 0x00007ffff1f474de in QFrame::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #12 0x00007ffff20624cb in QAbstractItemView::viewportEvent(QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #13 0x00007ffff209f3b0 in QTreeView::viewportEvent(QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #14 0x00007ffff0dd1de3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (this=<optimized out>, receiver=0x3dccad0, event=0x7fffffff9cd0) at kernel/qcoreapplication.cpp:1072 obj = <optimized out> i = 0 #15 0x00007ffff1e0ce6c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #16 0x00007ffff1e11cd8 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #17 0x00007ffff0dd1ba5 in QCoreApplication::notifyInternal(QObject*, QEvent*) (this= 0x7fffffffbc70, receiver=0x3dccad0, event=0x7fffffff9cd0) at kernel/qcoreapplication.cpp:965 threadData = 0x649270 loopLevelCounter = {threadData = 0x649270} result = false cbdata = {0x3dccad0, 0x7fffffff9cd0, 0x7fffffff9c70} d = <optimized out> #18 0x00007ffff1e46449 in QWidgetPrivate::sendPaintEvent(QRegion const&) () at /usr/lib64/libQt5Widgets.so.5 #19 0x00007ffff1e46a3a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #20 0x00007ffff1e4761c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #21 0x00007ffff1e47494 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #22 0x00007ffff1e465c6 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #23 0x00007ffff1e4761c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #24 0x00007ffff1e465c6 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #25 0x00007ffff1e4761c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #26 0x00007ffff1e465c6 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #27 0x00007ffff1e4761c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #28 0x00007ffff1e465c6 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #29 0x00007ffff1e4761c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #30 0x00007ffff1e465c6 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #31 0x00007ffff1e4761c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #32 0x00007ffff1e465c6 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #33 0x00007ffff1e4761c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #34 0x00007ffff1e465c6 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /usr/lib64/libQt5Widgets.so.5 #35 0x00007ffff1e19a53 in () at /usr/lib64/libQt5Widgets.so.5 #36 0x00007ffff1e19cb4 in () at /usr/lib64/libQt5Widgets.so.5 #37 0x00007ffff1e38d9f in QWidgetPrivate::syncBackingStore() () at /usr/lib64/libQt5Widgets.so.5 #38 0x00007ffff1e4cda4 in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #39 0x00007ffff1f5cd2b in QMainWindow::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #40 0x00007ffff515c0e7 in KMainWindow::event(QEvent*) () at /usr/lib64/libKF5XmlGui.so.5 #41 0x00007ffff5194035 in KXmlGuiWindow::event(QEvent*) () at /usr/lib64/libKF5XmlGui.so.5 #42 0x00007ffff1e0ce8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #43 0x00007ffff1e11cd8 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #44 0x00007ffff0dd1ba5 in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fffffffbc70, receiver=0x934020, event=event@entry=0x44751b0) at kernel/qcoreapplication.cpp:965 threadData = 0x649270 loopLevelCounter = {threadData = 0x649270} result = false cbdata = {0x934020, 0x44751b0, 0x7fffffffb750} d = <optimized out> #45 0x00007ffff0dd3d67 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (event=0x44751b0, receiver=<optimized out>) at kernel/qcoreapplication.h:224 e = 0x44751b0 pe = <optimized out> r = <optimized out> unlocker = {m = <synthetic pointer>} event_deleter = {d = 0x44751b0} locker = {val = 6591128} startOffset = 0 i = @0x64928c: 0 cleanup = {receiver = 0x0, event_type = 0, data = 0x649270, exceptionCaught = true} #46 0x00007ffff0dd3d67 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x649270) at kernel/qcoreapplication.cpp:1593 e = 0x44751b0 pe = <optimized out> r = <optimized out> unlocker = {m = <synthetic pointer>} event_deleter = {d = 0x44751b0} locker = {val = 6591128} startOffset = 0 i = @0x64928c: 0 cleanup = {receiver = 0x0, event_type = 0, data = 0x649270, exceptionCaught = true} #47 0x00007ffff0dd4318 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1451 data = <optimized out> #48 0x00007ffff0e295c3 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x6a08e0) at kernel/qeventdispatcher_glib.cpp:271 source = 0x6a08e0 #49 0x00007fffe7a31c84 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #50 0x00007fffe7a31ed8 in () at /usr/lib64/libglib-2.0.so.0 #51 0x00007fffe7a31f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #52 0x00007ffff0e28a3c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x68d9f0, flags=...) at kernel/qeventdispatcher_glib.cpp:418 d = 0x6a51b0 canWait = true savedFlags = {i = 0} result = <optimized out> #53 0x00007ffff0dcfa63 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffba30, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 locker = {val = 6591328} ref = {d = 0x442b190, locker = @0x7fffffffb9b0, exceptionCaught = true} d = 0x442b190 #54 0x00007ffff0dd75d6 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1229 threadData = 0x649270 eventLoop = {<QObject> = {_vptr.QObject = 0x7ffff121f450 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff0f2c8a0 <qt_meta_stringdata_QObject>, data = 0x7ffff0f2c780 <qt_meta_data_QObject>, static_metacall = 0x7ffff0e0a3f0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x442b190}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff0f76820 <qt_meta_stringdata_Qt>, data = 0x7ffff0f73e20 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7ffff121bda0 <QObject::staticMetaObject>, stringdata = 0x7ffff0f8b820 <qt_meta_stringdata_QEventLoop>, data = 0x7ffff0f8b7c0 <qt_meta_data_QEventLoop>, static_metacall = 0x7ffff0e823c0 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} returnCode = <optimized out> #55 0x000000000041b539 in main () quit Reproducible: Always Steps to Reproduce: 1. Expand the project 2. 3. Actual Results: Crash Expected Results: No crash openSUSE Leap 42.1 x86-64. Stock distribution packages: Qt 5.5.0, glibc 2.19, subversion 1.8.10, KF5 5.15.0.
do you only get that crash for svn projects? what icon theme are you running? are you using gnome, kde, or any other DE? do you see warnings on the console regarding icons?
could you temporarily rename ~/.cache/icon-cache.kcache and see if that "fixes" the issue? If so, then it clearly is something bogus within the icon cache and we'd have to investigate that cache file somehow.
Hi, Renaming ~/.cache/icon-cache.kcache didn't help. Checked with a newly created project with no version control, didn't crash. So it seems to be related to SVN somehow. I'm running KDE Plasma 5. I forgot to mention that this is a hidpi screen (3200x1800 on a 13.3" laptop) so I have UI scaling set to 2.5 in Display settings. The icon sizes are the defaults (I clicked the "Defaults" button in the icon size dialog of KDE configuration, just in case). The icon theme is Breeze (the default openSUSE one). Changed it to Oxygen, still crashes. This is the full output of KDevelop: > kdevelop Ninja plugin installed but ninja is not installed. Could not load plugin "KDevNinjaBuilder" , it reported the error: "" Disabling the plugin now. Ninja plugin installed but ninja is not installed. Could not load plugin "KDevNinjaBuilder" , it reported the error: "" Disabling the plugin now. The font for use in the terminal has not been matched exactly. Perhaps it has not been found properly. The font for use in the terminal has not been matched exactly. Perhaps it has not been found properly. job started 0x3b86c50 job done SvnInternalInfoJob(0x3b86c50) Segmentation fault
Super odd :( When you comment out the painting of the icon in ProjectModelItemDelegate::paint, does it suddenly work for you then or do you get crashes elsewhere? Or could you add a bit of debug info around there to see what's going on with the icon? Without a way for us to reproduce it, I'm hard pressed at finding a solution for your issue... sorry!
OK, did some print-based debugging today. In ProjectModelItemDelegate::paint(): Every call (both crashing and non-crashing) goes inside both if() conditions in the beginning. The crash happens here, near the end: icon.paint(painter, decorationRect, opt.decorationAlignment, mode, state ); If I comment it out, the crash happens here instead: drawDisplay(painter, opt, displayRect, displayData); If I comment that one out as well, there's no crash, but obviously I don't get the icons or the folder names at all. The executed lines for non-crashing and crashing calls are the same. When expanding the tree, right after executing this line: QString branchNameData = index.data(VcsOverlayProxyModel::VcsStatusRole).toString(); the following is printed to console (before the next line is executed): job started 0x2849aa0 job done SvnInternalInfoJob(0x2849aa0) Non-crashing values of rectangles (XxY, WxH): before doLayout() call: displayRect: 19x0, size: 32x23 decorationRect: 0x0, size: 20x20 after doLayout() call: displayRect: 36x0, size: 253x23 decorationRect: 13x1, size: 20x20 Crashing values of rectangles: before doLayout() call: displayRect: 19x0, size: 36x23 decorationRect: 0x0, size: 20x20 after doLayout() call: displayRect: 46x23, size: 226x23 decorationRect: 23x24, size: 20x20 That's all I can think of right now, please tell me if there's anything else you want to know. Thanks
Can you run it through valgrind and see what you get reported? The stuff above doesn't look suspicious to me... valgrind --track-origins=yes --smc-check=all-non-file kdevelop -s ... And is the project you are working on FOSS, i.e. can I check it out via svn and try to reproduce it locally?
Hi, The project I was testing it with is not FOSS, but I re-ran kdevelop with an open source one and still got a crash. Here's the checkout URL for easy testing: svn checkout svn://svn.code.sf.net/p/gsmartcontrol/code/trunk gsmartcontrol This is the valgrind output (there are no warnings except that IOCTL one until I expand the project tree). > valgrind --track-origins=yes --smc-check=all-non-file kdevelop ==30551== Memcheck, a memory error detector ==30551== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==30551== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info ==30551== Command: kdevelop ==30551== Ninja plugin installed but ninja is not installed. Could not load plugin "KDevNinjaBuilder" , it reported the error: "" Disabling the plugin now. Ninja plugin installed but ninja is not installed. Could not load plugin "KDevNinjaBuilder" , it reported the error: "" Disabling the plugin now. The font for use in the terminal has not been matched exactly. Perhaps it has not been found properly. The font for use in the terminal has not been matched exactly. Perhaps it has not been found properly. ==30551== Warning: noted but unhandled ioctl 0x6458 with no size/direction hints. ==30551== This could cause spurious value errors to appear. ==30551== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. settingsFile: "/home/alex" settingsFile: "/home/alex" settingsFile: "/home/alex" settingsFile: "/home/alex" ==30551== Thread 11 Queue(0x292381e0)[06]: ==30551== Invalid read of size 8 ==30551== at 0x355C3420: svn_utf__cstring_is_valid (in /usr/lib64/libsvn_subr-1.so.0.0.0) ==30551== by 0x355C2580: ??? (in /usr/lib64/libsvn_subr-1.so.0.0.0) ==30551== by 0x355C2B0B: svn_utf_cstring_from_utf8 (in /usr/lib64/libsvn_subr-1.so.0.0.0) ==30551== by 0x355AF795: svn_path_cstring_from_utf8 (in /usr/lib64/libsvn_subr-1.so.0.0.0) ==30551== by 0x3559C42F: svn_dirent_get_absolute (in /usr/lib64/libsvn_subr-1.so.0.0.0) ==30551== by 0x34EF13F4: svn_client_info2 (in /usr/lib64/libsvn_client-1.so.0.0.0) ==30551== by 0x34EF1442: svn_client_info (in /usr/lib64/libsvn_client-1.so.0.0.0) ==30551== by 0x34C8A6C3: svn::Client::info(svn::Path const&, bool, svn::Revision const&, svn::Revision const&) (in /opt/local/kdevelop/lib64/plugins/kdevplatform/24/kdevsubversion.so) ==30551== by 0x34C6DF5E: SvnInternalInfoJob::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) (in /opt/local/kdevelop/lib64/plugins/kdevplatform/24/kdevsubversion.so) ==30551== by 0x10621B9F: ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) (in /usr/lib64/libKF5ThreadWeaver.so.5.15.0) ==30551== by 0x1062092F: ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) (in /usr/lib64/libKF5ThreadWeaver.so.5.15.0) ==30551== by 0x1061FF39: ThreadWeaver::Thread::run() (in /usr/lib64/libKF5ThreadWeaver.so.5.15.0) ==30551== Address 0x29765e50 is 80 bytes inside a block of size 86 alloc'd ==30551== at 0x4C29670: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==30551== by 0xC199918: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.21) ==30551== by 0xC199BEA: std::string::_M_mutate(unsigned long, unsigned long, unsigned long) (in /usr/lib64/libstdc++.so.6.0.21) ==30551== by 0xC19A20D: std::string::_M_replace_safe(unsigned long, unsigned long, char const*, unsigned long) (in /usr/lib64/libstdc++.so.6.0.21) ==30551== by 0x34C9048A: svn::Path::init(char const*) (in /opt/local/kdevelop/lib64/plugins/kdevplatform/24/kdevsubversion.so) ==30551== by 0x34C9032F: svn::Path::Path(char const*) (in /opt/local/kdevelop/lib64/plugins/kdevplatform/24/kdevsubversion.so) ==30551== by 0x34C6DF28: SvnInternalInfoJob::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) (in /opt/local/kdevelop/lib64/plugins/kdevplatform/24/kdevsubversion.so) ==30551== by 0x10621B9F: ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) (in /usr/lib64/libKF5ThreadWeaver.so.5.15.0) ==30551== by 0x1062092F: ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) (in /usr/lib64/libKF5ThreadWeaver.so.5.15.0) ==30551== by 0x1061FF39: ThreadWeaver::Thread::run() (in /usr/lib64/libKF5ThreadWeaver.so.5.15.0) ==30551== by 0xBA9755E: QThreadPrivate::start(void*) (qthread_unix.cpp:331) ==30551== by 0x12FF10A3: start_thread (in /lib64/libpthread-2.19.so) ==30551== job started 0x41decc40 job done SvnInternalInfoJob(0x41decc40) ==30551== Thread 1: ==30551== Invalid read of size 2 ==30551== at 0xB2EBB30: QTransform::type() const (in /usr/lib64/libQt5Gui.so.5.5.0) ==30551== by 0xB27C3A9: ??? (in /usr/lib64/libQt5Gui.so.5.5.0) ==30551== by 0xB284137: QRasterPaintEngine::drawPixmap(QRectF const&, QPixmap const&, QRectF const&) (in /usr/lib64/libQt5Gui.so.5.5.0) ==30551== by 0xB29C682: QPainter::drawPixmap(QRectF const&, QPixmap const&, QRectF const&) (in /usr/lib64/libQt5Gui.so.5.5.0) ==30551== by 0x82C79B7: KIconEngine::paint(QPainter*, QRect const&, QIcon::Mode, QIcon::State) (in /usr/lib64/libKF5IconThemes.so.5.15.0) ==30551== by 0xB0E6142: QIcon::paint(QPainter*, QRect const&, QFlags<Qt::AlignmentFlag>, QIcon::Mode, QIcon::State) const (in /usr/lib64/libQt5Gui.so.5.5.0) ==30551== by 0x3C609DF9: ProjectModelItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const (in /opt/local/kdevelop/lib64/plugins/kdevplatform/24/kdevprojectmanagerview.so) ==30551== by 0xAAD45CE: QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const (in /usr/lib64/libQt5Widgets.so.5.5.0) ==30551== by 0xAAD8111: QTreeView::drawTree(QPainter*, QRegion const&) const (in /usr/lib64/libQt5Widgets.so.5.5.0) ==30551== by 0xAADE67F: QTreeView::paintEvent(QPaintEvent*) (in /usr/lib64/libQt5Widgets.so.5.5.0) ==30551== by 0xA88D43A: QWidget::event(QEvent*) (in /usr/lib64/libQt5Widgets.so.5.5.0) ==30551== by 0xA9874DD: QFrame::event(QEvent*) (in /usr/lib64/libQt5Widgets.so.5.5.0) ==30551== Address 0x118 is not stack'd, malloc'd or (recently) free'd ==30551== ==30551== ==30551== HEAP SUMMARY: ==30551== in use at exit: 102,896,036 bytes in 254,464 blocks ==30551== total heap usage: 2,050,937 allocs, 1,796,473 frees, 516,220,491 bytes allocated ==30551== ==30551== LEAK SUMMARY: ==30551== definitely lost: 13,807,408 bytes in 396 blocks ==30551== indirectly lost: 25,239 bytes in 467 blocks ==30551== possibly lost: 45,555,749 bytes in 20,069 blocks ==30551== still reachable: 43,507,640 bytes in 233,532 blocks ==30551== suppressed: 0 bytes in 0 blocks ==30551== Rerun with --leak-check=full to see details of leaked memory ==30551== ==30551== For counts of detected and suppressed errors, rerun with: -v ==30551== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 1 from 1)
I don't think this is something we can fix, there are numerous reports with similar backtraces on either BKO or Qt JIRA (just google for "QRasterPaintEngine::drawPixmap crash qtransform type").
with a reproducible test case, we might be able to fix it in qt upstream ;-) I'll try to reproduce this bug hopefully tomorrow, if time permits
I guess the easiest way to reproduce this would be to install a clean OpenSUSE Leap 42.1 in VirtualBox. KDevelop git master was basically the first thing I compiled/installed right after installing OpenSUSE and KDevelop's required and optional dependencies.
I have strange painting issues with the gsmartcontrol project, i.e. expanding a folder does not update the tree immediately. But no crash and valgrind is also not reporting anything about a broken QTransform :( So I'm out of luck in fixing it myself. @Alexander: Any chance you could compile Qt from sources in debug mode and retrigger this issue? Then the backtrace would show us more details (i.e. file + line into Qt sources).
One more idea: what happens when you move the following line down to where it is being used: QString branchNameData = index.data(VcsOverlayProxyModel::VcsStatusRole).toString(); and/or what happens if you replace it by QString branchNameData; // = index.data(VcsOverlayProxyModel::VcsStatusRole).toString(); I ask b/c this potentially spins up a nested eventloop leading to all kinds of funny issues... If this "fixes" the issue, then we at least know where to look for a fix.
Moving the line helped, no crash and so far it looks like everything is OK! Must be the event loop then... Commenting it out also helps (obviously). Finally, I can use KDevelop 5 properly, thanks!
OK, ouch... I'll commit this as a hotfix and will think of a way to solve it for real. Thanks for the tests!
Git commit 7b0b2ae069377585e3416c7d8431a1a11520e0a9 by Milian Wolff. Committed on 07/12/2015 at 23:24. Pushed by mwolff into branch '5.0'. Workaround crash when expanding project folder. Nested eventloops are evil, and the querying of the branch name apparently can trigger a nested eventloop in SVN projects that can trigger all kinds of havoc. Moving the line down seems to reduce the crashiness of this code. A proper solution is still required. M +4 -1 plugins/projectmanagerview/projectmodelitemdelegate.cpp http://commits.kde.org/kdevplatform/7b0b2ae069377585e3416c7d8431a1a11520e0a9
@op: Do you still get this crash?
No, no crashes after Milian's commit. Thanks!