Bug 346056 - Composer-installed phpDocumentor file in project causes crash [KDevelop::isPublicBaseClassInternal]
Summary: Composer-installed phpDocumentor file in project causes crash [KDevelop::isPu...
Status: RESOLVED DUPLICATE of bug 269369
Alias: None
Product: kdevelop
Classification: Applications
Component: Language Support: PHP (show other bugs)
Version: 4.7.1
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
: 350220 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-04-10 23:39 UTC by Andrew Udvare
Modified: 2015-11-28 00:22 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Backtrace from parsing large Laravel-based project (118.52 KB, text/plain)
2015-05-03 22:27 UTC, Andrew Udvare
Details
Composer.json from large Laravel-based project (1.09 KB, text/plain)
2015-05-03 22:29 UTC, Andrew Udvare
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Udvare 2015-04-10 23:39:54 UTC
- What I was doing when the application crashed: Opened new session, opened project

To reproduce:
Have a PHP project with Composer-installed phpDocumentor. The file that will cause a crash is $projectroot/vendor/phpdocumentor/phpdocumentor/src/phpDocumentor/Plugin/Scrybe/Converter/RestructuredText/ToHtml.php (this was figured out by setting number of backgrounds threads to 1 and using strace).

If you want to reproduce the project from scratch:

mkdir dummy
cd dummy
curl -sS https://getcomposer.org/installer | php
php composer.phar require "phpdocumentor/phpdocumentor" "dev-master"
echo <<EOF > dummy.kdev4
[Project]
Manager=KDevGenericManager
Name=dummy
VersionControlSupport=kdevgit
EOF

Now open KDevelop, Session -> Start New Session if necessary, and open the self-generated dummy.kdev4.

Reproducible: Always

Steps to Reproduce:
1. Completely clear KDevelop's DU chain cache
2. Open KDevelop
3. Have a Composer-based project that has phpDocumentor fully installed
4. Open project and let background parsing happen

Actual Results:  
Crashes when scanning $projectroot/vendor/phpdocumentor/phpdocumentor/src/phpDocumentor/Plugin/Scrybe/Converter/RestructuredText/ToHtml.php (this was figured out by setting number of backgrounds threads to 1 and using strace).

Expected Results:  
Should scan this file without issue.

The file alone does not cause a crash (tried that). It is probably related to DU chain.

Application: kdevelop (4.7.1)
KDE Platform Version: 4.14.6 (Compiled from sources)
Qt Version: 4.8.6
Operating System: Linux 3.18.9-gentoo-limelight x86_64
Distribution: "NAME=Gentoo"

Thread 4 crashed:
-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f893f4d2780 (LWP 25481))]

Thread 15 (Thread 0x7f8928237700 (LWP 25482)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f8938405b1b in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f8938704f00 <QTWTF::pageheap_memory>) at /var/tmp/portage/dev-qt/qtscript-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f8938405b69 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at /var/tmp/portage/dev-qt/qtscript-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f893b9a43a4 in start_thread (arg=0x7f8928237700) at pthread_create.c:310
#4  0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 14 (Thread 0x7f88a6dff700 (LWP 25483)):
#0  0x00007f893bc91eed in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8935e056a0 in read (__nbytes=16, __buf=0x7f88a6dfec20, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#2  g_wakeup_acknowledge (wakeup=0x24515c0) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gwakeup.c:210
#3  0x00007f8935dc4634 in g_main_context_check (context=context@entry=0x7f88a00009a0, max_priority=2147483647, fds=fds@entry=0x7f88a0003460, n_fds=n_fds@entry=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3579
#4  0x00007f8935dc4a9b in g_main_context_iterate (context=context@entry=0x7f88a00009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3778
#5  0x00007f8935dc4c0c in g_main_context_iteration (context=0x7f88a00009a0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3842
#6  0x00007f893c40303e in QEventDispatcherGlib::processEvents (this=0x7f88a00008c0, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_glib.cpp:452
#7  0x00007f893c3d44af in QEventLoop::processEvents (this=this@entry=0x7f88a6dfee20, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:149
#8  0x00007f893c3d47a5 in QEventLoop::exec (this=this@entry=0x7f88a6dfee20, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:204
#9  0x00007f893c2cedff in QThread::exec (this=this@entry=0x27b4140) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread.cpp:538
#10 0x00007f893c3b55c3 in QInotifyFileSystemWatcherEngine::run (this=0x27b4140) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/io/qfilesystemwatcher_inotify.cpp:265
#11 0x00007f893c2d156f in QThreadPrivate::start (arg=0x27b4140) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#12 0x00007f893b9a43a4 in start_thread (arg=0x7f88a6dff700) at pthread_create.c:310
#13 0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7f88a58dc700 (LWP 25485)):
#0  pthread_cond_timedwait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007f893c2d1a44 in wait (time=1000, this=0x41d29b0) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=this@entry=0x41cc438, mutex=mutex@entry=0x41cc440, time=time@entry=1000) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qwaitcondition_unix.cpp:158
#3  0x00007f8938e72262 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x41cc420) at /var/tmp/portage/dev-util/kdevplatform-1.7.1/work/kdevplatform-1.7.1/language/duchain/duchain.cpp:283
#4  0x00007f893c2d156f in QThreadPrivate::start (arg=0x41cc420) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#5  0x00007f893b9a43a4 in start_thread (arg=0x7f88a58dc700) at pthread_create.c:310
#6  0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 12 (Thread 0x7f8897fff700 (LWP 25486)):
#0  g_main_context_query (context=context@entry=0x7f88900009a0, max_priority=2147483647, timeout=timeout@entry=0x7f8897ffed2c, fds=fds@entry=0x7f8890002de0, n_fds=n_fds@entry=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3503
#1  0x00007f8935dc4a72 in g_main_context_iterate (context=context@entry=0x7f88900009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3763
#2  0x00007f8935dc4c0c in g_main_context_iteration (context=0x7f88900009a0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3842
#3  0x00007f893c40303e in QEventDispatcherGlib::processEvents (this=0x7f88900008c0, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_glib.cpp:452
#4  0x00007f893c3d44af in QEventLoop::processEvents (this=this@entry=0x7f8897ffee60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:149
#5  0x00007f893c3d47a5 in QEventLoop::exec (this=this@entry=0x7f8897ffee60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:204
#6  0x00007f893c2cedff in QThread::exec (this=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread.cpp:538
#7  0x00007f893c2d156f in QThreadPrivate::start (arg=0x4b2eee8) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#8  0x00007f893b9a43a4 in start_thread (arg=0x7f8897fff700) at pthread_create.c:310
#9  0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 11 (Thread 0x7f888ebaf700 (LWP 25493)):
#0  0x00007f893bc95e0d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8935dc4b04 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f8884003510, timeout=-1, context=0x7f88840009a0) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:4076
#2  g_main_context_iterate (context=context@entry=0x7f88840009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3776
#3  0x00007f8935dc4c0c in g_main_context_iteration (context=0x7f88840009a0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3842
#4  0x00007f893c40303e in QEventDispatcherGlib::processEvents (this=0x7f88840008c0, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_glib.cpp:452
#5  0x00007f893c3d44af in QEventLoop::processEvents (this=this@entry=0x7f888ebaee60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:149
#6  0x00007f893c3d47a5 in QEventLoop::exec (this=this@entry=0x7f888ebaee60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:204
#7  0x00007f893c2cedff in QThread::exec (this=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread.cpp:538
#8  0x00007f893c2d156f in QThreadPrivate::start (arg=0x4c62570) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#9  0x00007f893b9a43a4 in start_thread (arg=0x7f888ebaf700) at pthread_create.c:310
#10 0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7f8875496700 (LWP 25498)):
#0  0x00007f893bc95e0d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8935dc4b04 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f8870003010, timeout=-1, context=0x7f88700009a0) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:4076
#2  g_main_context_iterate (context=context@entry=0x7f88700009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3776
#3  0x00007f8935dc4c0c in g_main_context_iteration (context=0x7f88700009a0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3842
#4  0x00007f893c40303e in QEventDispatcherGlib::processEvents (this=0x7f88700008c0, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_glib.cpp:452
#5  0x00007f893c3d44af in QEventLoop::processEvents (this=this@entry=0x7f8875495e20, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:149
#6  0x00007f893c3d47a5 in QEventLoop::exec (this=this@entry=0x7f8875495e20, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:204
#7  0x00007f893c2cedff in QThread::exec (this=this@entry=0x25dc920) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread.cpp:538
#8  0x00007f893c3b55c3 in QInotifyFileSystemWatcherEngine::run (this=0x25dc920) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/io/qfilesystemwatcher_inotify.cpp:265
#9  0x00007f893c2d156f in QThreadPrivate::start (arg=0x25dc920) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#10 0x00007f893b9a43a4 in start_thread (arg=0x7f8875496700) at pthread_create.c:310
#11 0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7f8874c95700 (LWP 25499)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f893241b8fa in WTF::TCMalloc_PageHeap::scavengerThread (this=<optimized out>) at /var/tmp/portage/dev-qt/qtwebkit-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/3rdparty/webkit/Source/JavaScriptCore/wtf/FastMalloc.cpp:2495
#2  0x00007f893241b939 in WTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at /var/tmp/portage/dev-qt/qtwebkit-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/3rdparty/webkit/Source/JavaScriptCore/wtf/FastMalloc.cpp:1618
#3  0x00007f893b9a43a4 in start_thread (arg=0x7f8874c95700) at pthread_create.c:310
#4  0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7f886ffff700 (LWP 25500)):
#0  0x00007f893bc91eed in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8935e056a0 in read (__nbytes=16, __buf=0x7f886fffec60, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#2  g_wakeup_acknowledge (wakeup=0x7f8870002360) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gwakeup.c:210
#3  0x00007f8935dc4634 in g_main_context_check (context=context@entry=0x7f88680009a0, max_priority=2147483647, fds=fds@entry=0x7f88680013e0, n_fds=n_fds@entry=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3579
#4  0x00007f8935dc4a9b in g_main_context_iterate (context=context@entry=0x7f88680009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3778
#5  0x00007f8935dc4c0c in g_main_context_iteration (context=0x7f88680009a0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3842
#6  0x00007f893c40303e in QEventDispatcherGlib::processEvents (this=0x7f88680008c0, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_glib.cpp:452
#7  0x00007f893c3d44af in QEventLoop::processEvents (this=this@entry=0x7f886fffee60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:149
#8  0x00007f893c3d47a5 in QEventLoop::exec (this=this@entry=0x7f886fffee60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:204
#9  0x00007f893c2cedff in QThread::exec (this=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread.cpp:538
#10 0x00007f893c2d156f in QThreadPrivate::start (arg=0x4e409f0) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#11 0x00007f893b9a43a4 in start_thread (arg=0x7f886ffff700) at pthread_create.c:310
#12 0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f886f7fe700 (LWP 25501)):
#0  0x00007f893bc95e0d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8935dc4b04 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f88600013e0, timeout=107622, context=0x7f88600009a0) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:4076
#2  g_main_context_iterate (context=context@entry=0x7f88600009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3776
#3  0x00007f8935dc4c0c in g_main_context_iteration (context=0x7f88600009a0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3842
#4  0x00007f893c40303e in QEventDispatcherGlib::processEvents (this=0x7f88600008c0, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_glib.cpp:452
#5  0x00007f893c3d44af in QEventLoop::processEvents (this=this@entry=0x7f886f7fde60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:149
#6  0x00007f893c3d47a5 in QEventLoop::exec (this=this@entry=0x7f886f7fde60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:204
#7  0x00007f893c2cedff in QThread::exec (this=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread.cpp:538
#8  0x00007f893c2d156f in QThreadPrivate::start (arg=0x2c51e30) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#9  0x00007f893b9a43a4 in start_thread (arg=0x7f886f7fe700) at pthread_create.c:310
#10 0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f886effd700 (LWP 25502)):
#0  pthread_cond_timedwait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007f893c2d1a44 in wait (time=30000, this=0x7f88600071c0) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=this@entry=0x7f8860006f70, mutex=mutex@entry=0x7f8860006c78, time=30000) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qwaitcondition_unix.cpp:158
#3  0x00007f893c2c527a in QThreadPoolThread::run (this=0x7f8860006f60) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/concurrent/qthreadpool.cpp:142
#4  0x00007f893c2d156f in QThreadPrivate::start (arg=0x7f8860006f60) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#5  0x00007f893b9a43a4 in start_thread (arg=0x7f886effd700) at pthread_create.c:310
#6  0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f887f588700 (LWP 25514)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f893c2d1a66 in wait (time=18446744073709551615, this=0x2ceee30) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x2ceed08, mutex=0x2ceefb0, time=time@entry=18446744073709551615) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qwaitcondition_unix.cpp:158
#3  0x00007f89330c081c in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2ceece0, th=0x27cba50) at /var/tmp/portage/kde-base/kdelibs-4.14.6-r1/work/kdelibs-4.14.6/threadweaver/Weaver/WeaverImpl.cpp:370
#4  0x00007f89330c3273 in ThreadWeaver::WorkingHardState::applyForWork (this=0x2cef040, th=0x27cba50, previous=0x0) at /var/tmp/portage/kde-base/kdelibs-4.14.6-r1/work/kdelibs-4.14.6/threadweaver/Weaver/WorkingHardState.cpp:68
#5  0x00007f89330c328c in ThreadWeaver::WorkingHardState::applyForWork (this=0x2cef040, th=0x27cba50, previous=0x6608770) at /var/tmp/portage/kde-base/kdelibs-4.14.6-r1/work/kdelibs-4.14.6/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f89330c1f9f in ThreadWeaver::Thread::run (this=0x27cba50) at /var/tmp/portage/kde-base/kdelibs-4.14.6-r1/work/kdelibs-4.14.6/threadweaver/Weaver/Thread.cpp:98
#7  0x00007f893c2d156f in QThreadPrivate::start (arg=0x27cba50) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#8  0x00007f893b9a43a4 in start_thread (arg=0x7f887f588700) at pthread_create.c:310
#9  0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f887ed87700 (LWP 25515)):
[KCrash Handler]
#6  KDevelop::Declaration::indexedType (this=this@entry=0x0) at /var/tmp/portage/dev-util/kdevplatform-1.7.1/work/kdevplatform-1.7.1/language/duchain/declaration.cpp:265
#7  0x00007f8938ea7325 in KDevelop::isPublicBaseClassInternal (self=self@entry=0x0, base=base@entry=0x7f881da1e6a0, topContext=0x7f88082f0b40, baseConversionLevels=baseConversionLevels@entry=0x0, depth=depth@entry=0, checked=checked@entry=0x0) at /var/tmp/portage/dev-util/kdevplatform-1.7.1/work/kdevplatform-1.7.1/language/duchain/classdeclaration.cpp:112
#8  0x00007f8938ea761b in KDevelop::ClassDeclaration::isPublicBaseClass (this=this@entry=0x0, base=base@entry=0x7f881da1e6a0, topContext=<optimized out>, baseConversionLevels=baseConversionLevels@entry=0x0) at /var/tmp/portage/dev-util/kdevplatform-1.7.1/work/kdevplatform-1.7.1/language/duchain/classdeclaration.cpp:138
#9  0x00007f888f06ea0e in Php::TypeBuilder::visitStatement (this=this@entry=0x7f887ed86c20, node=node@entry=0x7f88082f51f0) at kdevelop-php-1.7.1/duchain/builders/typebuilder.cpp:537
#10 0x00007f888f06118c in Php::DeclarationBuilder::visitStatement (this=0x7f887ed86c20, node=0x7f88082f51f0) at kdevelop-php-1.7.1/duchain/builders/declarationbuilder.cpp:1242
#11 0x00007f888ee10df6 in Php::DefaultVisitor::visitTopStatement (this=0x7f887ed86c78, node=0x7f88082f51a8) at kdevelop-php-1.7.1_build/parser/phpdefaultvisitor.cpp:1016
#12 0x00007f888ee101fd in Php::DefaultVisitor::visitInnerStatementList (this=0x7f887ed86c78, node=<optimized out>) at kdevelop-php-1.7.1_build/parser/phpdefaultvisitor.cpp:555
#13 0x00007f888f065dd2 in Php::ContextBuilder::visitClassStatement (this=this@entry=0x7f887ed86c20, node=node@entry=0x7f88082415a8) at kdevelop-php-1.7.1/duchain/builders/contextbuilder.cpp:258
#14 0x00007f888f06e3f0 in Php::TypeBuilder::visitClassStatement (this=this@entry=0x7f887ed86c20, node=node@entry=0x7f88082415a8) at kdevelop-php-1.7.1/duchain/builders/typebuilder.cpp:309
#15 0x00007f888f05eb5f in Php::DeclarationBuilder::visitClassStatement (this=0x7f887ed86c20, node=0x7f88082415a8) at kdevelop-php-1.7.1/duchain/builders/declarationbuilder.cpp:367
#16 0x00007f888ee0f8bd in Php::DefaultVisitor::visitClassBody (this=0x7f887ed86c78, node=<optimized out>) at kdevelop-php-1.7.1_build/parser/phpdefaultvisitor.cpp:205
#17 0x00007f888f066732 in Php::ContextBuilder::visitClassDeclarationStatement (this=this@entry=0x7f887ed86c20, node=node@entry=0x7f88082413a0) at kdevelop-php-1.7.1/duchain/builders/contextbuilder.cpp:214
#18 0x00007f888f06b8c5 in Php::TypeBuilder::visitClassDeclarationStatement (this=this@entry=0x7f887ed86c20, node=node@entry=0x7f88082413a0) at kdevelop-php-1.7.1/duchain/builders/typebuilder.cpp:282
#19 0x00007f888f05aa28 in Php::DeclarationBuilder::visitClassDeclarationStatement (this=0x7f887ed86c20, node=0x7f88082413a0) at kdevelop-php-1.7.1/duchain/builders/declarationbuilder.cpp:183
#20 0x00007f888ee10e10 in Php::DefaultVisitor::visitTopStatement (this=0x7f887ed86c78, node=0x7f8808241358) at kdevelop-php-1.7.1_build/parser/phpdefaultvisitor.cpp:1018
#21 0x00007f888f058f45 in Php::DeclarationBuilder::visitOuterTopStatement (this=0x7f887ed86c20, node=0x7f8808241328) at kdevelop-php-1.7.1/duchain/builders/declarationbuilder.cpp:899
#22 0x00007f888ee108bd in Php::DefaultVisitor::visitStart (this=0x7f887ed86c78, node=<optimized out>) at kdevelop-php-1.7.1_build/parser/phpdefaultvisitor.cpp:843
#23 0x00007f888f067c56 in Php::ContextBuilder::startVisiting (this=0x7f887ed86c20, node=0x7f880810dfd0) at kdevelop-php-1.7.1/duchain/builders/contextbuilder.cpp:130
#24 0x00007f888f059d2a in supportBuild (context=0x7f88082f0b40, node=0x7f880810dfd0, this=0x7f887ed86c20) at /usr/include/kdevplatform/language/duchain/builders/abstractcontextbuilder.h:133
#25 supportBuild (context=<optimized out>, node=0x7f880810dfd0, this=0x7f887ed86c20) at /usr/include/kdevplatform/language/duchain/builders/abstracttypebuilder.h:85
#26 Php::DeclarationBuilder::supportBuild (this=0x7f887ed86c20, node=0x7f880810dfd0, context=<optimized out>) at kdevelop-php-1.7.1/duchain/builders/declarationbuilder.cpp:1426
#27 0x00007f888f059f74 in build (updateContext=..., node=0x7f880810dfd0, url=..., this=0x7f887ed86c20) at /usr/include/kdevplatform/language/duchain/builders/abstractcontextbuilder.h:113
#28 Php::DeclarationBuilder::build (this=this@entry=0x7f887ed86c20, url=..., node=node@entry=0x7f880810dfd0, updateContext=...) at kdevelop-php-1.7.1/duchain/builders/declarationbuilder.cpp:151
#29 0x00007f888f2d3273 in Php::ParseJob::run (this=0x6608770) at kdevelop-php-1.7.1/phpparsejob.cpp:132
#30 0x00007f89330c2622 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0x7f887ed86e20, th=th@entry=0x4be1de0, job=job@entry=0x6608770) at /var/tmp/portage/kde-base/kdelibs-4.14.6-r1/work/kdelibs-4.14.6/threadweaver/Weaver/Job.cpp:106
#31 0x00007f89330c27de in ThreadWeaver::Job::execute (this=0x6608770, th=0x4be1de0) at /var/tmp/portage/kde-base/kdelibs-4.14.6-r1/work/kdelibs-4.14.6/threadweaver/Weaver/Job.cpp:135
#32 0x00007f89330c203b in ThreadWeaver::Thread::run (this=0x4be1de0) at /var/tmp/portage/kde-base/kdelibs-4.14.6-r1/work/kdelibs-4.14.6/threadweaver/Weaver/Thread.cpp:108
#33 0x00007f893c2d156f in QThreadPrivate::start (arg=0x4be1de0) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#34 0x00007f893b9a43a4 in start_thread (arg=0x7f887ed87700) at pthread_create.c:310
#35 0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f887cebd700 (LWP 25583)):
#0  0x00007f8935dc441f in g_main_context_query (context=context@entry=0x7f88100009a0, max_priority=<optimized out>, timeout=timeout@entry=0x7f887cebcd2c, fds=fds@entry=0x7f8810003620, n_fds=n_fds@entry=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3539
#1  0x00007f8935dc4a72 in g_main_context_iterate (context=context@entry=0x7f88100009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3763
#2  0x00007f8935dc4c0c in g_main_context_iteration (context=0x7f88100009a0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3842
#3  0x00007f893c40303e in QEventDispatcherGlib::processEvents (this=0x7f88100008c0, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_glib.cpp:452
#4  0x00007f893c3d44af in QEventLoop::processEvents (this=this@entry=0x7f887cebce60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:149
#5  0x00007f893c3d47a5 in QEventLoop::exec (this=this@entry=0x7f887cebce60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:204
#6  0x00007f893c2cedff in QThread::exec (this=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread.cpp:538
#7  0x00007f893c2d156f in QThreadPrivate::start (arg=0x6358db0) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#8  0x00007f893b9a43a4 in start_thread (arg=0x7f887cebd700) at pthread_create.c:310
#9  0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f887bfe8700 (LWP 25584)):
#0  0x00007f893bc95e0d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8935dc4b04 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f8814002f10, timeout=-1, context=0x7f88140009a0) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:4076
#2  g_main_context_iterate (context=context@entry=0x7f88140009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3776
#3  0x00007f8935dc4c0c in g_main_context_iteration (context=0x7f88140009a0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3842
#4  0x00007f893c40303e in QEventDispatcherGlib::processEvents (this=0x7f88140008c0, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_glib.cpp:452
#5  0x00007f893c3d44af in QEventLoop::processEvents (this=this@entry=0x7f887bfe7e60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:149
#6  0x00007f893c3d47a5 in QEventLoop::exec (this=this@entry=0x7f887bfe7e60, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:204
#7  0x00007f893c2cedff in QThread::exec (this=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread.cpp:538
#8  0x00007f893c2d156f in QThreadPrivate::start (arg=0x58dff40) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/thread/qthread_unix.cpp:349
#9  0x00007f893b9a43a4 in start_thread (arg=0x7f887bfe8700) at pthread_create.c:310
#10 0x00007f893bc9ea5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f893f4d2780 (LWP 25481)):
#0  0x00007f893bc91eed in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8935e056a0 in read (__nbytes=16, __buf=0x7ffd1b82fb70, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#2  g_wakeup_acknowledge (wakeup=0x2451230) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gwakeup.c:210
#3  0x00007f8935dc4634 in g_main_context_check (context=context@entry=0x250b7f0, max_priority=2147483647, fds=fds@entry=0x4d69120, n_fds=n_fds@entry=13) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3579
#4  0x00007f8935dc4a9b in g_main_context_iterate (context=context@entry=0x250b7f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3778
#5  0x00007f8935dc4c0c in g_main_context_iteration (context=0x250b7f0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.42.2/work/glib-2.42.2/glib/gmain.c:3842
#6  0x00007f893c40301e in QEventDispatcherGlib::processEvents (this=0x2454890, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_glib.cpp:450
#7  0x00007f893c9a6cc6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at /var/tmp/portage/dev-qt/qtgui-4.8.6-r2/work/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qguieventdispatcher_glib.cpp:204
#8  0x00007f893c3d44af in QEventLoop::processEvents (this=this@entry=0x7ffd1b82fda0, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:149
#9  0x00007f893c3d47a5 in QEventLoop::exec (this=this@entry=0x7ffd1b82fda0, flags=...) at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:204
#10 0x00007f893c3d9c09 in QCoreApplication::exec () at /var/tmp/portage/dev-qt/qtcore-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcoreapplication.cpp:1225
#11 0x00007f893c906d0c in QApplication::exec () at /var/tmp/portage/dev-qt/qtgui-4.8.6-r2/work/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qapplication.cpp:3823
#12 0x0000000000410408 in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/dev-util/kdevelop-4.7.1/work/kdevelop-4.7.1/app/main.cpp:582

Possible duplicates by query: bug 296520, bug 273128.
Comment 1 Andrew Udvare 2015-04-10 23:40:46 UTC
Removing this single file from the project allows the scan to finish.
Comment 2 Andrew Udvare 2015-04-10 23:45:34 UTC
Dummy project with only phpDocumentor installed via Composer: https://www.sendspace.com/file/52c49k

(Only done this way because this project is 42 MiB, and the limit here is 4 MB, promise!)
Comment 3 Andrew Udvare 2015-05-03 22:26:51 UTC
I also have a Laravel project with many dependencies. I will attach its composer.json file. It has the same crash however sometimes DrKonqi cannot get the stack trace. So I used gdb for this one:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fd679303700 (LWP 1474)]
KDevelop::Declaration::indexedType (this=this@entry=0x0) at /var/tmp/portage/dev-util/kdevplatform-1.7.1/work/kdevplatform-1.7.1/language/duchain/declaration.cpp:265
265       return d_func()->m_type;

If you want more gdb output (like specific commands), let me know.

For this project a workaround is not so simple: removing a file or two does not make the scan finish. If you look at the strace output and remove suspected files based on looking at the open() system call, then you will find that the the thread that crashes does last open() call: open("/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC).

The only workaround right now is to move the project's Composer-generated vendor directory out, load the project into KDevelop, then put the directory back (hit refresh in KDevelop if necessary on the project tree). This way KDevelop will not try scanning that directory.

Since I recently got a new version of kdelibs, I rebuilt kdevplatform, kdevelop, kdevelop-php, kdevelop-php-docs, and kdevelop-python, just to be certain.
Comment 4 Andrew Udvare 2015-05-03 22:27:45 UTC
Created attachment 92399 [details]
Backtrace from parsing large Laravel-based project
Comment 5 Andrew Udvare 2015-05-03 22:29:48 UTC
Created attachment 92400 [details]
Composer.json from large Laravel-based project

For use with composer:

mkdir newproj
cd newproj
<store composer.json here>
curl -sS https://getcomposer.org/installer | php
php composer.phar update -vv -n
Comment 6 Kevin Funk 2015-08-25 07:54:55 UTC
*** Bug 350220 has been marked as a duplicate of this bug. ***
Comment 7 Milian Wolff 2015-11-28 00:22:21 UTC

*** This bug has been marked as a duplicate of bug 269369 ***