Community
Participate
Working Groups
eclipse.buildId=I20070516-0010 java.fullversion=J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223-20070201 (JIT enabled) Test scenario as described in bug 186749. No CCE anymore while refactoring --> Introduce Indirection When operation completes, right-click the editor: Undo Introduce Indirection Then try to re-do the same operation --> Internal Error due to a NPE (to be attached stack trace) From this trace, sounds like we invoke the get method with a null key. Note that I tried and debug this and did not encounter the NPE while debugging. May be it could be safe to protect the get and getKey methods by testing the passed param.
Created attachment 67383 [details] [file] stack trace
After investigating this one with Frédéric, it sounds like the undo operation is the cause of the issue. The test case is: 1-refactor --> introduce indirection 2 -undo 3-refactor --> introduce indirection --> error (in fact, we also had a StackOverFlow) To overcome the issue: open the ASTView and perform a refresh between step 2 and step 3 --> the refactor completes Moving to JDT UI.
Back to core for further investigation (we should not have NPE's or StackOverFlow)
(In reply to comment #3) 1 - This bug does not occur when using a Sun (1.6) JRE I use: J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223-20070201 2 - No NPE encountered anymore, rather a StackOverFlowError, in a nearly systematic manner - try and refactor -> Introduce Indirection - undo - only select "quals" in the line var.equals(1) - try and re-do the refactoring --> StackOverFlowError in HierarchyResolver#resolve(Openable[] , HashSet , IProgressMonitor)
(In reply to comment #4) to be more precise: - when opening this bug, I had a NPE, which I could not reproduce debugging the code --> as suggested by Olivier, this might be a JIT issue - the StackOverFlowError is more systematic and can be debugged
I got the NPE using a Sun VM 1.6.0_02-ea.
I cannot reproduce anymore.
It looks like it cannot be reproduced. Please reopen if you can reproduce.
Verified for 3.5M2 using I20080914-2000.