Komodo IDE 11 - SCM key bindings don't always work

I’m using a trial version of Komodo IDE 11, and I noticed something weird. I have the key bindings set for the SCM (Git, in this case), but they don’t seem to work as they should. I opened a file within a Git repository, made a change to it, then tried to commit the change using the shortcuts I configured, but nothing happens. The same applies to the Push function: I used the using the correct key bindings, the prompt “waiting for command” appears, then I press the last key and nothing happens.

I tried performing the same operations from the menu, with mixed results. Sometimes, the commit was unavailable on a single file, which I had just modified, but it could be performed on the folder.

It might be a red herring, but I have the feeling that the path might have something to do about the issue. Examples:

  • If I open C:\Users\MyUserName\Documents\Projects\Web\customers\Applications\Modules\Ecommerce\My_Project_Name\my-custom-project-with-long-name\my-custom-project-with-long-name.php, where my-custom-project-with-long-name is a Git repository, the hotkeys don’t work. The commit and push operations don’t happen (no popup window).
  • If I open the file as C:\Temp\my-custom-project-with-long-name\my-custom-project-with-long-name.php, then the hotkeys (both push and commit) work.

For completeness, I “exhumed” an older version of Komodo IDE, and the hotkeys work in both the above scenarios. This looks like a bug in this latest version (also found in KIDE 10).

As a side note, the Log panel at the bottom of the window tends to get “stuck”. Quite often, it shows the change history of a file I changed earlier. Not as important, but it might be worth checking it.

Do the keybindings not working correlate to the file not being detected as under version control?

I’m not sure I understand the question. Basically, when the files under the long path the commit and push operations can’t be performed.

If you are wondering if the file changes are detected as part of the version control, I can’t say. I can see the file name getting red, if that helps, but I can’t perform a “diff” either. It looks like the SV integration is not completely happy about long path names (unless I’m on a completely wrong track and that’s just a coincidence).

Could you share your error log after reproducing eg. the diff issue on one of these problematic files? Help > Troubleshooting > View Log File.

Will do as soon as I’m back in the office. I hope I will make it in time (I started the trial some weeks ago, but never really managed to use the IDE and now I have a few days left).

The log file contains multiple instances of the same messages, repeated several times. Here’s a chunk:

[2017-10-21 17:58:40,023] [ERROR] console-logger: NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [koISCCDVCS.getValue] (2) in chrome://komodo/content/scc/scc.js:481
Traceback (most recent call last):
  File "chrome://komodo/content/scc/scc.js", line 481, in 
[2017-10-21 17:58:40,026] [ERROR] console-logger: NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [koISCCDVCS.getValue] (2) in chrome://komodo/content/scc/scc.js:481
Traceback (most recent call last):
  File "chrome://komodo/content/scc/scc.js", line 481, in 
[2017-10-21 17:58:40,190] [ERROR] scc.history: 
-- EXCEPTION START --
[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [koISCCDVCS.getValue]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: chrome://komodo/content/scc/scc.js :: this.getRepositoryRoot :: line 481"  data: no]
+ toString (function) 3 lines
+ message (string) 'Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [koISCCDVCS.getValue]'
+ result (number) 2147500037
+ name (string) 'NS_ERROR_FAILURE'
+ filename (string) 'chrome://komodo/content/scc/scc.js'
+ lineNumber (number) 481
+ columnNumber (number) 0
+ inner (object) null
| + data (object) null
| + stack (string) 'this.getRepositoryRoot@chrome://komodo/content/scc/scc.js:481:19
scc_history_OnLoad@chrome://komodo/content/scc/history.js:185:20
observer.observe@chrome://komodo/content/scc/history.js:840:16
'
+ location (object) JS frame :: chrome://komodo/content/scc/scc.js :: this.getRepositoryRoot :: line 481
| + QueryInterface (function) 3 lines
| + language (number) 2
| + languageName (string) 'JavaScript'
| + filename (string) 'chrome://komodo/content/scc/scc.js'
| + name (string) 'this.getRepositoryRoot'
| + lineNumber (number) 481
| + columnNumber (number) 19
| + sourceLine (string) ''
| + caller (object) JS frame :: chrome://komodo/content/scc/history.js :: scc_history_OnLoad :: line 185
| + formattedStack (string) 'this.getRepositoryRoot@chrome://komodo/content/scc/scc.js:481:19
scc_history_OnLoad@chrome://komodo/content/scc/history.js:185:20
observer.observe@chrome://komodo/content/scc/history.js:840:16
'
| + stack
    this.getRepositoryRoot@chrome://komodo/content/scc/scc.js:481:19
    scc_history_OnLoad@chrome://komodo/content/scc/history.js:185:20
    observer.observe@chrome://komodo/content/scc/history.js:840:16
-- EXCEPTION END --

The other entries are identical. They are generated when trying to commit a file with a long path.

Thanks, looks like you indeed found a bug there. Could you please report it on our bug tracker here: https://github.com/Komodo/KomodoEdit/issues

This is so we can follow up with you there in case we have any further questions.

Can I just copy the information from this post, in the bug report?

Yes, that’ll probably suffice. Be sure to include the error log snippet.

Ok, done. For reference: https://github.com/Komodo/KomodoEdit/issues/3314

1 Like