Summary: | Composer-installed phpDocumentor file in project causes crash [KDevelop::isPublicBaseClassInternal] | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Andrew Udvare <audvare> |
Component: | Language Support: PHP | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | CC: | mikifus |
Priority: | NOR | ||
Version: | 4.7.1 | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Backtrace from parsing large Laravel-based project
Composer.json from large Laravel-based project |
Description
Andrew Udvare
2015-04-10 23:39:54 UTC
Removing this single file from the project allows the scan to finish. 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!) 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. Created attachment 92399 [details]
Backtrace from parsing large Laravel-based project
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 *** Bug 350220 has been marked as a duplicate of this bug. *** *** This bug has been marked as a duplicate of bug 269369 *** |