So it can also be tracked & aborted properly by the background parser.
Details
Details
Diff Detail
Diff Detail
- Repository
- R52 KDevelop: PHP Support
- Branch
- 5.1
- Lint
No Linters Available - Unit
No Unit Test Coverage
Comment Actions
Crashes for me if I open KDevelop with a cleared cache and the following file open:
<?php $c = strpos("abcd", "cd");
Backtrace:
#0 0x00007f40de3d28c0 in raise () at /usr/lib/libc.so.6 #1 0x00007f40de3d3f72 in abort () at /usr/lib/libc.so.6 #2 0x00007f40df08c9a8 in () at /usr/lib/libQt5Core.so.5 #3 0x00007f40df087a68 in () at /usr/lib/libQt5Core.so.5 #4 0x00007f4093ef6cd7 in Php::ContextBuilder::startVisiting(Php::AstNode*) (this=0x7f407956ee70, node=0x7f40680037b0) at /home/matthijs/kde/kdesrc/extragear/kdevelop/plugins/kdev-php/parser/php.g:275 #5 0x00007f4093ee1b61 in KDevelop::AbstractContextBuilder<Php::AstNode, Php::IdentifierAst>::supportBuild(Php::AstNode*, KDevelop::DUContext*) (this=0x7f407956ee70, node=0x7f40680037b0, context=0x7f406800bb80) at /home/matthijs/kde/include/kdevplatform/language/duchain/builders/abstractcontextbuilder.h:131 #6 0x00007f4093eed556 in KDevelop::AbstractContextBuilder<Php::AstNode, Php::IdentifierAst>::build(KDevelop::IndexedString const&, Php::AstNode*, KDevelop::ReferencedTopDUContext) (this=0x7f407956ee70, url=..., node=0x7f40680037b0, updateContext=...) at /home/matthijs/kde/include/kdevplatform/language/duchain/builders/abstractcontextbuilder.h:111 #7 0x00007f4093ef6998 in Php::ContextBuilder::build(KDevelop::IndexedString const&, Php::AstNode*, KDevelop::ReferencedTopDUContext) (this=0x7f407956ee70, url=..., node=0x7f40680037b0, updateContext=...) at /home/matthijs/kde/kdesrc/extragear/kdevelop/plugins/kdev-php/parser/php.g:239 #8 0x00007f4093ee2a7b in Php::DeclarationBuilder::build(KDevelop::IndexedString const&, Php::AstNode*, KDevelop::ReferencedTopDUContext) (this= 0x7f407956f710, url=..., node=0x7f40680037b0, updateContext=...) at /home/matthijs/kde/kdesrc/extragear/kdevelop/plugins/kdev-php/parser/php.g:285 #9 0x00007f40941d0af2 in Php::ParseJob::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) (this=0x100b68480) at /home/matthijs/kde/kdesrc/build/extragear/kdevelop/plugins/kdev-php/parser/phpvisitor.h:103 #10 0x00007f40db50fed6 in ThreadWeaver::IdDecorator::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () at /usr/lib/libKF5ThreadWeaver.so.5 #11 0x00007f40db5104a8 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/libKF5ThreadWeaver.so.5 #12 0x00007f40db50f4fe in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/libKF5ThreadWeaver.so.5 #13 0x00007f40db50ec2d in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5 #14 0x00007f40df0a215b in () at /usr/lib/libQt5Core.so.5 #15 0x00007f40d9487049 in start_thread () at /usr/lib/libpthread.so.0 #16 0x00007f40de48cf0f in clone () at /usr/lib/libc.so.6
Comment Actions
I can't reproduce this. I'm echo'ing your code to test.php and then run:
CLEAR_DUCHAIN_DIR=1 kdevelop test.php
No crash here.
Can someone else reproduce this crash?
(snip)