Komodo / KomodoEdit

Komodo Edit is a fast and free multi-language code editor. Written in JS, Python, C++ and based on the Mozilla platform.
http://www.komodoide.com/komodo-edit
Other
2.16k stars 305 forks source link

Codeintel no longer working in ver 10 #2250

Closed vaughnanderson closed 7 years ago

vaughnanderson commented 7 years ago

I have already deleted the old codeintel database, I followed these instructions: http://community.activestate.com/faq/codeintel-database-fix

I am running Linux Mint 17, coding with PHP

Test 1:

ctrl+click on a function name in a class.

Expected result: Parent class that contained the function name would be loaded, and scrolled directly to the function definition.

Actual result: Scrolls to the top of the current document.

Test 2:

Writing code "$this->" then press ctrl+enter

Expected result: Code completion list shows classes from parent class.

Actual result: Code completion list shows only functions from current class.

Additional notes: I still have Komodo 9 installed, and I can confirm, with the same project files, the same code base, everything is is the same, and the above tests work correctly with the expected results.

Questions:

  1. Has something major changed from version 9 to 10?
  2. Do I need to alter preferences or settings to get codeintel to work with the new editor?

Platform Information

Komodo Edit Komodo Version 10 Operating System (and version)? Linux Mint 17

Additional Information

There are no errors displayed of any kind.

babobski commented 7 years ago

I'm currently also having issues with my php auto completion. Noticed at work I don't have all the auto completions that I used to have. I'm also seeing the BusyError: database is locked a lot, it still continuous to search but in my auto completions I'm missing parts.

Started a project yesterday at home, but here I'm having the same problems. It sometimes get stuck in the BusyError and I'm missing complete parts of my auto completions, that I used to have with the same setup.

Tried the fix that is on that page, but it is not working for me. Also rebuild my CodeIntel but that also didn't do the trick, the pre-loading process was going good. But after that I'm seeing the BussyError again.

I'm seeing these kind of errors:

[2016-12-27 20:36:42,743] [ERROR] codeintel.citadel: unexpected error scanning `wp_bootstrap_navwalker.php'
Traceback (most recent call last):
  File "C:\Program Files (x86)\ActiveState Komodo IDE 10\lib\mozilla\python\komodo\codeintel2\citadel.py", line 264, in scan
    scan_tree = cile_driver.scan_purelang(self)
  File "C:\Program Files (x86)\ActiveState Komodo IDE 10\lib\mozilla\python\komodo\codeintel2\udl.py", line 616, in scan_purelang
    self.slave_css_cile_driver)
  File "C:\Program Files (x86)\ActiveState Komodo IDE 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 1285, in scan_multilang
    csl_tokens, css_tokens = phpciler.scan_multilang_content(buf.accessor.text)
  File "C:\Program Files (x86)\ActiveState Komodo IDE 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3426, in scan_multilang_content
    PHPLexer().tokenize_by_style(content, self.token_next)
  File "C:\Program Files (x86)\ActiveState Komodo IDE 10\lib\mozilla\python\komodo\codeintel2\udl.py", line 98, in tokenize_by_style
    return Lexer.tokenize_by_style(self, text, call_back)
  File "C:\Program Files (x86)\ActiveState Komodo IDE 10\lib\mozilla\python\komodo\SilverCity\Lexer.py", line 8, in tokenize_by_style
    call_back
  File "C:\Program Files (x86)\ActiveState Komodo IDE 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3386, in token_next
    self._addCodePiece()
  File "C:\Program Files (x86)\ActiveState Komodo IDE 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3197, in _addCodePiece
    self._addCodePiece()
  File "C:\Program Files (x86)\ActiveState Komodo IDE 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3238, in _addCodePiece
    doc=self.comment)
  File "C:\Program Files (x86)\ActiveState Komodo IDE 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 2865, in _variableHandler
    assignChar = text[p]

CodeIntel was working fine for me a few versions back.

Komodo 10.1.4 Windows 10

mitchell-as commented 7 years ago

Thanks for the information you two, but I'm going to need concrete code examples in order to identify the problem and fix it. Please provide them when you can.

Naatan commented 7 years ago

Does "Help > Troubleshooting > Reset CodeIntel Database" resolve your problem (temporarily)?

mitchell-as commented 7 years ago

The first thing he said was he tried resetting the database. Granted it wasn't Help > Troubleshooting > Reset Codintel Database, but the instructions he linked to effectively perform the same thing, no?

Naatan commented 7 years ago

Ah my bad.

babobski commented 7 years ago

At work i have problems with the Yii 1 framework and at home i have created a WordPress project, in both cases I'm missing parts of my auto completion.

For a test case, you can set up a project with a clean WordPress installation. For me setting the codeIntell to the root of the project would give me all the WordPress auto-completion, when working in my themes.

But with my latest project I'm missing functions as get_permalink and get_site_url

Resetting the codeIntell did not help.

th3coop commented 7 years ago

I get the same error as @babobski in my logs when I open a Wordpress project in Komodo. I suspect it would have done the same if I had just opened any PHP file.

017-01-03 10:44:02,907] [DEBUG] console: error: TypeError {}
[2017-01-03 10:44:03,178] [DEBUG] console: error: TypeError {}
[2017-01-03 10:44:03,470] [DEBUG] console: error: TypeError {}
[2017-01-03 10:44:03,515] [ERROR] codeintel.citadel: unexpected error scanning `adodb-sybase.inc.php'
Traceback (most recent call last):
  File "C:\Users\cgcho\Komodo IDE latest\lib\mozilla\python\komodo\codeintel2\citadel.py", line 264, in scan
    scan_tree = cile_driver.scan_purelang(self)
  File "C:\Users\cgcho\Komodo IDE latest\lib\mozilla\python\komodo\codeintel2\udl.py", line 616, in scan_purelang
    self.slave_css_cile_driver)
  File "C:\Users\cgcho\Komodo IDE latest\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 1285, in scan_multilang
    csl_tokens, css_tokens = phpciler.scan_multilang_content(buf.accessor.text)
  File "C:\Users\cgcho\Komodo IDE latest\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3426, in scan_multilang_content
    PHPLexer().tokenize_by_style(content, self.token_next)
  File "C:\Users\cgcho\Komodo IDE latest\lib\mozilla\python\komodo\codeintel2\udl.py", line 98, in tokenize_by_style
    return Lexer.tokenize_by_style(self, text, call_back)
  File "C:\Users\cgcho\Komodo IDE latest\lib\mozilla\python\komodo\SilverCity\Lexer.py", line 8, in tokenize_by_style
    call_back
  File "C:\Users\cgcho\Komodo IDE latest\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3386, in token_next
    self._addCodePiece()
  File "C:\Users\cgcho\Komodo IDE latest\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3197, in _addCodePiece
    self._addCodePiece()
  File "C:\Users\cgcho\Komodo IDE latest\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3238, in _addCodePiece
    doc=self.comment)
  File "C:\Users\cgcho\Komodo IDE latest\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 2865, in _variableHandler
    assignChar = text[p]
IndexError: list index out of range
Naatan commented 7 years ago

Scanned the file, and this stood out: https://github.com/ADOdb/ADOdb/blob/master/drivers/adodb-sybase.inc.php#L374

I was able to reproduce it by using that @ denotation, here's the repro code:

<?php

function foo() {}

$a = @foo();

Docs for the operator: http://php.net/manual/en/language.operators.errorcontrol.php

mitchell-as commented 7 years ago

Okay, thanks.

mschmidone commented 7 years ago

Hi everybody

I may have the same issue, and I'd like to help investigate this. Below is one of the many errors thruout my files. Is there a way to get more details? Or do I have to patch the python code?

IndexError: list index out of range ERROR:codeintel.citadel:unexpected error scanning `netobject.class.inc' Traceback (most recent call last): File "C:\Program Files (x86)\ActiveState Komodo Edit 10\lib\mozilla\python\komodo\codeintel2\citadel.py", line 266, in scan scan_tree = cile_driver.scan_purelang(self) File "C:\Program Files (x86)\ActiveState Komodo Edit 10\lib\mozilla\python\komodo\codeintel2\udl.py", line 632, in scan_purelang self.slave_css_cile_driver) File "C:\Program Files (x86)\ActiveState Komodo Edit 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 1318, in scan_multilang csl_tokens, css_tokens = phpciler.scan_multilang_content(buf.accessor.text) File "C:\Program Files (x86)\ActiveState Komodo Edit 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3459, in scan_multilang_content PHPLexer().tokenize_by_style(content, self.token_next) File "C:\Program Files (x86)\ActiveState Komodo Edit 10\lib\mozilla\python\komodo\codeintel2\udl.py", line 131, in tokenize_by_style return Lexer.tokenize_by_style(self, text, call_back) File "C:\Program Files (x86)\ActiveState Komodo Edit 10\lib\mozilla\python\komodo\SilverCity\Lexer.py", line 8, in tokenize_by_style call_back File "C:\Program Files (x86)\ActiveState Komodo Edit 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3419, in token_next self._addCodePiece() File "C:\Program Files (x86)\ActiveState Komodo Edit 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3230, in _addCodePiece self._addCodePiece() File "C:\Program Files (x86)\ActiveState Komodo Edit 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3271, in _addCodePiece doc=self.comment) File "C:\Program Files (x86)\ActiveState Komodo Edit 10\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 2898, in _variableHandler assignChar = text[p] IndexError: list index out of range

Naatan commented 7 years ago

@mschmidone we have narrowed down the cause of the issue and are targeting a fix for version 10.2.

seattledeveloper commented 7 years ago

@Naatan and @mitchell-as , I am experiencing the same issue with a number of PHP files. I just reset my code intel database and it made the issue worse (alas). Do you have an estimated date for the release of 10.2? Thanks!

Naatan commented 7 years ago

Sorry, we do not share our release targets publicly as they are subject to change. I can say it is targeted for Q1 though.

Defman21 commented 7 years ago

I think you can use the nightly version of 10.2. http://community.komodoide.com/t/komodo-10-2-pre-release-now-available/3329

mschmidone commented 7 years ago

@Naatan, I've just installed the Komodo Edit, version 10.2.0-alpha1, build 17617, platform win32-x86. Built on Thu Jan 05 10:53:50 2017.

But for me, it does not change anything. I've just startet to type '$this->' and the codeintel.log starts filling with the sample below and some 50 variations of it, for many files of my project.

What Info do you need?

WARNING:codeintel.db:Unable to create symbols.db: possibly exists? ERROR:codeintel.citadel:unexpected error scanning `webtoolbox.class.inc' Traceback (most recent call last): File "C:\Program Files (x86)\ActiveState Komodo Edit 10 nightly\lib\mozilla\python\komodo\codeintel2\citadel.py", line 266, in scan scan_tree = cile_driver.scan_purelang(self) File "C:\Program Files (x86)\ActiveState Komodo Edit 10 nightly\lib\mozilla\python\komodo\codeintel2\udl.py", line 632, in scan_purelang self.slave_css_cile_driver) File "C:\Program Files (x86)\ActiveState Komodo Edit 10 nightly\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 1318, in scan_multilang csl_tokens, css_tokens = phpciler.scan_multilang_content(buf.accessor.text) File "C:\Program Files (x86)\ActiveState Komodo Edit 10 nightly\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3459, in scan_multilang_content PHPLexer().tokenize_by_style(content, self.token_next) File "C:\Program Files (x86)\ActiveState Komodo Edit 10 nightly\lib\mozilla\python\komodo\codeintel2\udl.py", line 131, in tokenize_by_style return Lexer.tokenize_by_style(self, text, call_back) File "C:\Program Files (x86)\ActiveState Komodo Edit 10 nightly\lib\mozilla\python\komodo\SilverCity\Lexer.py", line 8, in tokenize_by_style call_back File "C:\Program Files (x86)\ActiveState Komodo Edit 10 nightly\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3419, in token_next self._addCodePiece() File "C:\Program Files (x86)\ActiveState Komodo Edit 10 nightly\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3230, in _addCodePiece self._addCodePiece() File "C:\Program Files (x86)\ActiveState Komodo Edit 10 nightly\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 3271, in _addCodePiece doc=self.comment) File "C:\Program Files (x86)\ActiveState Komodo Edit 10 nightly\lib\mozilla\distribution\bundles\php_language@ActiveState.com\pylib\lang_php.py", line 2898, in _variableHandler assignChar = text[p] IndexError: list index out of range

mschmidone commented 7 years ago

A little add-on: would it be possible to tell the exact location of the problem in the log.

mitchell-as commented 7 years ago

10.2 alpha will not have the fix because I have not committed one yet.

@mschmidone Sadly, there is no easy way to tell the exact location of the problem in source code.