Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 468389

Summary: F3 Open Declaration hangs
Product: [ECD] Orion Reporter: Carolyn MacLeod <Carolyn_MacLeod>
Component: EditorAssignee: Michael Rennie <Michael_Rennie>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: libingw
Version: 8.0   
Target Milestone: 9.0   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Carolyn MacLeod CLA 2015-05-26 15:35:01 EDT
- Open an editor.
- Select a function name.
- F3

Running Open Declaration info message appears, and stays forever, and I did not jump to the selected declaration.

This seems to only happen on the latest self-hosted code.
Comment 1 Michael Rennie CLA 2015-05-27 10:21:10 EDT
Can you provide more information? F3 works fine for me.

What file were you editing? 
what function did you try to open? 
Does hovering work?
What browser is this in?
Comment 2 Carolyn MacLeod CLA 2015-05-27 11:26:44 EDT
I saw it in FF, and Libing saw it in Chrome.
I was self-hosting in IDS, and Libing was self-hosting running Orion on localhost.

I was in file gitCommitInfo.js, line 145 or 150, and I selected createInfo and pressed F3. The declaration it should have found is in the same file, on line 38, but it never got there.

I can still replicate this in my "inner" (self-hosted) IDE.
I synchronized to catch up, and tried again (in Chrome this time), and the problem still occurs.

Note that I do not see the problem in the "outer" https://hub.jazz.net/ IDE, only in my "inner" https://car.hub.jazz.net/ IDE.

Libing, do you still see this problem?
Comment 3 Michael Rennie CLA 2015-06-03 18:34:46 EDT
Fixed in:

http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/commit/?id=d55de3c1b53ccc63bb4a132785c9cc20acfbea7a

As I suspected, Tern had not failed, it was just that it returned a non-answer and we were simply resolving the deferred to nothing:

deferred.resolve();

I changed this code to set the status via the editor context API, so now the user gets a status message that a declaration could not be found:

deferred.resolve(cachedContext.setStatus(Messages['noDeclFound']));

I also updated the OpenDeclCommand to use our new compilation unit provider.