If I have a file that imports "viewsets" from django-rest-frameworks project, kdevelop crashes while trying to type new method, i.e. "def a..", in any class that extends classes from "viewsets" file. See reproduction steps below for details. kdevelop version 4.7.0 kdev-python version 1.7.0; also tried compiling git master python version 2.7.6 Reproducible: Always Steps to Reproduce: 1. cd /tmp/ 2. virtualenv dead 3. source /tmp/dead/bin/activate 4. mkdir /tmp/dead-code 5. cd /tmp/dead-code 6. pip install Django==1.7.1 djangorestframework==3.0.0 7. PYTHONPATH=/tmp/dead/lib/python2.7/site-packages kdevelop -n dead 8. import /tmp/dead-code directory as a project into kdevelop 9. create new file "dead.py" with the following contents: from rest_framework import viewsets class MyViewSet(viewsets.ModelViewSet): 10. Wait until everything gets parsed and "viewsets.ModelViewSet" in class definition becomes green. 11. Start new line after class definition and start typing "def a". Once you type "a", kdevelop will crash. I.e. dead.py would be looking as follows: from rest_framework import viewsets class MyViewSet(viewsets.ModelViewSet): def a ============= If you relaunch kdevelop and tell him to recover the file, it will crash again. Here is the console log with debug enabled after I've started to type "def a": kdevelop(1176)/kdevplatform (language) KDevelop::StaticAssistantsManager::Private::eventuallyStartAssistant: Trying to find assistants for language "Python" kdevelop(1176)/kdevplatform (genericprojectmanager) KDevelop::AbstractFileManagerPlugin::Private::created: created: "/tmp/dead-code/.dead.py.kate-swp" kdevelop(1176)/kdevplatform (language) KDevelop::StaticAssistantsManager::Private::eventuallyStartAssistant: Trying to find assistants for language "Python" kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::completionInvokedInternal: completion invoked for context 0x4fdf0a0 kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::completionInvokedInternal: Found context is not current. Its revision is kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::completionInvokedInternal: apply specialization: (5, 4) kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::completionInvokedInternal: after specialization: "MyViewSet" [ (4, 40) -> (7, 0) ] kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::completionInvokedInternal: context is set to 0x4ecc190 kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionWorker::computeCompletions: "MyViewSet" kdevelop(1176)/kdevelop (python support) Python::CodeHelpers::endsInside: Checking for comment line: " " kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionWorker::computeCompletions: added text: "d" kdevelop(1176)/kdevelop (python support) Python::PythonCodeCompletionContext::PythonCodeCompletionContext: " " (5, 4) "MyViewSet" [(4, 40) , (7, 0) ] kdevelop(1176)/kdevelop (python support) Python::CodeHelpers::endsInside: Checking for comment line: " " kdevelop(1176)/kdevelop (python support) Python::PythonCodeCompletionContext::summonParentForEventualCall: next call: QPair(-1,-1) kdevelop(1176)/kdevelop (python support) Python::PythonCodeCompletionContext::summonParentForEventualCall: "offset 0 position 0: status 1, expression " kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::setCompletionContext: got completion-context with 0 ungrouped elements kdevelop(1176)/kdevelop (python support) Python::PythonCodeCompletionContext::completionItems: Line: 5 kdevelop(1176)/kdevelop (python support) Python::PythonCodeCompletionContext::completionItems: Completion type: 5 kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::foundDeclarations: got completion-context with 0 ungrouped elements kdevelop(1176)/kdevplatform (language) KDevelop::StaticAssistantsManager::Private::eventuallyStartAssistant: Trying to find assistants for language "Python" kdevelop(1176)/kdevplatform (language) KDevelop::StaticAssistantsManager::Private::eventuallyStartAssistant: Trying to find assistants for language "Python" kdevelop(1176)/kdevplatform (language) KDevelop::StaticAssistantsManager::Private::eventuallyStartAssistant: Trying to find assistants for language "Python" kdevelop(1176)/kdevplatform (language) KDevelop::StaticAssistantsManager::Private::eventuallyStartAssistant: Trying to find assistants for language "Python" kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::completionInvokedInternal: completion invoked for context 0x4fdf0a0 kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::completionInvokedInternal: Found context is not current. Its revision is kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::completionInvokedInternal: apply specialization: (5, 8) kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::completionInvokedInternal: after specialization: "MyViewSet" [ (4, 40) -> (7, 0) ] kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::completionInvokedInternal: context is set to 0x4ecc190 kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionWorker::computeCompletions: "MyViewSet" kdevelop(1176)/kdevelop (python support) Python::CodeHelpers::endsInside: Checking for comment line: " def " kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionWorker::computeCompletions: added text: "a" kdevelop(1176)/kdevelop (python support) Python::PythonCodeCompletionContext::PythonCodeCompletionContext: " def " (5, 8) "MyViewSet" [(4, 40) , (7, 0) ] kdevelop(1176)/kdevelop (python support) Python::CodeHelpers::endsInside: Checking for comment line: " def " kdevelop(1176)/kdevelop (python support) Python::PythonCodeCompletionContext::summonParentForEventualCall: next call: QPair(-1,-1) kdevelop(1176)/kdevelop (python support) Python::PythonCodeCompletionContext::summonParentForEventualCall: "offset 0 position 0: status 1, expression offset 5 position 1: status 16, expression " kdevelop(1176)/kdevplatform (language) KDevelop::CodeCompletionModel::setCompletionContext: got completion-context with 0 ungrouped elements kdevelop(1176)/kdevelop (python support) Python::PythonCodeCompletionContext::completionItems: Line: 5 kdevelop(1176)/kdevelop (python support) Python::PythonCodeCompletionContext::completionItems: Completion type: 6 kdevelop(1176)/kdevplatform (language) KDevelop::DUChainPrivate::loadChain: loading top-context 383 kdevelop(1176)/kdevplatform (language) KDevelop::DUChainPrivate::loadChain: loading top-context 381 kdevelop(1176)/kdevplatform (language) KDevelop::DUChainPrivate::loadChain: loading top-context 382 kdevelop(1176)/kdevplatform (language) KDevelop::DUChainPrivate::loadChain: loading top-context 392 QSocketNotifier: Invalid socket 7 and type 'Read', disabling... QSocketNotifier: Invalid socket 15 and type 'Read', disabling... QSocketNotifier: Invalid socket 34 and type 'Read', disabling... QSocketNotifier: Invalid socket 40 and type 'Read', disabling... QSocketNotifier: Invalid socket 16 and type 'Read', disabling... QSocketNotifier: Invalid socket 21 and type 'Read', disabling... kdevelop: Fatal IO error: client killed Unable to start Dr. Konqi Not forwarding the crash to Apport.
Git commit a723b77167b8d5aad7c9f6a5728a0633967a1f1a by Sven Brauch. Committed on 02/12/2014 at 12:43. Pushed by brauch into branch '1.7'. Fix crash when building completion items for functions with no arguments context I'm not sure how this situation can happen, but the referenced bug describes code which triggers the issue. This commit just fixes the crash which happens in that case. M +7 -5 codecompletion/context.cpp http://commits.kde.org/kdev-python/a723b77167b8d5aad7c9f6a5728a0633967a1f1a
Git commit 18a70d8597c236189aeeaeac511f4a3439bc13bf by Sven Brauch. Committed on 02/12/2014 at 12:43. Pushed by brauch into branch '1.7-py3'. Fix crash when building completion items for functions with no arguments context I'm not sure how this situation can happen, but the referenced bug describes code which triggers the issue. This commit just fixes the crash which happens in that case. M +7 -5 codecompletion/context.cpp http://commits.kde.org/kdev-python/18a70d8597c236189aeeaeac511f4a3439bc13bf
Git commit a5918fac3feffc3b3ef00f06a01e00f03bdf0c83 by Sven Brauch. Committed on 02/12/2014 at 12:43. Pushed by brauch into branch 'frameworks'. Fix crash when building completion items for functions with no arguments context I'm not sure how this situation can happen, but the referenced bug describes code which triggers the issue. This commit just fixes the crash which happens in that case. M +7 -5 codecompletion/context.cpp http://commits.kde.org/kdev-python/a5918fac3feffc3b3ef00f06a01e00f03bdf0c83
Thanks for the precise instructions! I'm not entirely sure how the bug is triggered, but this fixes it for now.
Thank you so much for the quick fix! I can confirm that it working fine now. Long live kdev-python!
Thanks, cool :-)