Community
Participate
Working Groups
Build 20030424-0800 After performing some incremental changes in editor (re-enabling Junit test cases by removing leading '_' character in test name: _test094 --> test094). The outliner did not properly refresh, and the renamed method got prefixed with a question mark icon, and its name did not reflect the new one.
Created attachment 8836 [details] Outliner showing inconsistent state + question mark icon
There was nothing in the log. And I am using multiple windows.
*** Bug 55971 has been marked as a duplicate of this bug. ***
I cannot reproduce this using I200403250800. Can you provide some steps? Anything in .log? Keeping as reminder. Please reopen if you can reproduce on newest builds.
It just happened to me again today on 20040326. Still in the middle of editing, I noticed that my outliner did not show me a method which I just added (pasting code from elsewhere). Must be a timing issue, since it usually works fine.
Nothing either in console or .log.
Workaround is: close outliner, reset perspective (reopens outliner), and problem is gone.
Were there any changes related to JE deltas? The Java outline page acts on deltas.
Philippe's Java Outline page settings are as follows: - filters - no sorting - Go into Top Level Type disabled
I have *no* filters. BTW we did not change anything in this area in a long time.
It occurs to me several times a day. This started occurring with 20040323 builds and better.
"filter" comment 9 was a typo.
I keep getting this issue 3 to 4 times each day. Each time, I close the outliner and reset perspective to cause it to reopen in sync again. I decided to enable the delta trace, so as to double check we behave as expected. Here is below the trace which got dumped when it last occurred. Looks normal to me. It was a constructor signature change (added one argument). However, the outliner was still showing the old constructor + new one, with old one associated with question mark icon. FIRING POST_RECONCILE Delta [Thread [org.eclipse.jdt.internal.ui.text.JavaReconciler,1,main]]: [Working copy] ParameterizedTypeBinding.java[*]: {CHILDREN | FINE GRAINED} ParameterizedTypeBinding[*]: {CHILDREN | FINE GRAINED} ParameterizedTypeBinding(ReferenceBinding, TypeBinding[], ReferenceBinding, LookupEnvironment)[+]: {} ParameterizedTypeBinding(ReferenceBinding, TypeBinding[], ReferenceBinding)[-]: {} Listener #1=org.eclipse.jdt.internal.corext.util.AllTypesCache$TypeCacheDeltaListener@910 477 -> 0ms Listener #2=org.eclipse.pde.internal.core.SearchablePluginsManager$Listener@c41a30 -> 0ms Listener #3=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@5acf13 -> 0ms Listener #4=org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider@1d1282 d -> 0ms Listener #5=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListener @a4b9da -> 0ms Listener #6=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@13c6a8 b -> 0ms Listener #7=org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider@176f76 4 -> 30ms Listener #8=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListener @16c006e -> 0ms Listener #9=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListener @1621a25 -> 0ms Listener #10=org.eclipse.jdt.internal.debug.ui.JavaModelListener@2943e5 -> 0ms Listener #11=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@18423fb -> 0ms Listener #12=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@565c8 5 -> 0ms Listener #13=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@1d45754 -> 0ms Listener #14=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@4d03e5 -> 10ms Listener #15=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@3ac82 9 -> 0ms Listener #16=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@12b0412 -> 0ms Listener #17=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@170dd 23 -> 0ms Listener #18=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@c64144 -> 0ms Listener #19=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@1e701 d0 -> 0ms Listener #20=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@1282abf -> 0ms Listener #21=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@9b1b4 5 -> 0ms Listener #22=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@7ac95 5 -> 0ms Listener #23=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@1d89f 55 -> 0ms Listener #24=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@315e4 2 -> 0ms Listener #25=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@1233f27 -> 0ms Listener #26=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@105af 64 -> 0ms Listener #27=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@3ddc18 -> 0ms Listener #28=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@16b16 cd -> 0ms Listener #29=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@1460f e8 -> 0ms Listener #30=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@be6ad9 -> 0ms Listener #31=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@18288 26 -> 0ms Listener #32=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@b89f92 -> 10ms Listener #33=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@13992 e3 -> 0ms Listener #34=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@1428a 84 -> 0ms Listener #35=Focus: ProgressProvider [in ProgressProvider.class [in org.eclipse.core.runtime.jobs [in runtime.jar [in org.eclipse.core.runtime]]]] Super types: Object [in Object.class [in java.lang [in D:/jdk1.4.1/jre/lib/rt.jar [in org.eclipse.jdt.core]]]] Sub types: -> 0ms Listener #36=Focus: SignatureWrapper [in [Working copy] SignatureWrapper.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] Super types: Object [in Object.class [in java.lang [in D:/jdk1.4.1/jre/lib/rt.jar [in org.eclipse.jdt.core]]]] Sub types: -> 0ms Listener #37=Focus: LookupEnvironment [in [Working copy] LookupEnvironment.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] Super types: BaseTypes [in BaseTypes.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] ProblemReasons [in ProblemReasons.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] TypeConstants [in TypeConstants.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] Object [in Object.class [in java.lang [in D:/jdk1.4.1/jre/lib/rt.jar [in org.eclipse.jdt.core]]]] Sub types: -> 0ms Listener #38=Focus: ReferenceBinding [in [Working copy] ReferenceBinding.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] Super types: IDependent [in IDependent.java [in org.eclipse.jdt.internal.compiler.env [in compiler [in org.eclipse.jdt.core]]]] TypeBinding [in TypeBinding.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] BaseTypes [in BaseTypes.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] TagBits [in TagBits.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] TypeConstants [in TypeConstants.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] TypeIds [in TypeIds.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] Binding [in Binding.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] BindingIds [in BindingIds.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] CompilerModifiers [in CompilerModifiers.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] ClassFileConstants [in ClassFileConstants.java [in org.eclipse.jdt.internal.compiler.classfmt [in compiler [in org.eclipse.jdt.core]]]] IConstants [in IConstants.java [in org.eclipse.jdt.internal.compiler.env [in compiler [in org.eclipse.jdt.core]]]] ProblemReasons [in ProblemReasons.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] Object [in Object.class [in java.lang [in D:/jdk1.4.1/jre/lib/rt.jar [in org.eclipse.jdt.core]]]] Sub types: -> 0ms Listener #39=Focus: Scope [in [Working copy] Scope.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] Super types: BaseTypes [in BaseTypes.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] BindingIds [in BindingIds.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] CompilerModifiers [in CompilerModifiers.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] ClassFileConstants [in ClassFileConstants.java [in org.eclipse.jdt.internal.compiler.classfmt [in compiler [in org.eclipse.jdt.core]]]] IConstants [in IConstants.java [in org.eclipse.jdt.internal.compiler.env [in compiler [in org.eclipse.jdt.core]]]] ProblemReasons [in ProblemReasons.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] TagBits [in TagBits.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] TypeConstants [in TypeConstants.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] TypeIds [in TypeIds.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] Object [in Object.class [in java.lang [in D:/jdk1.4.1/jre/lib/rt.jar [in org.eclipse.jdt.core]]]] Sub types: -> 0ms Listener #40=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@1f5d1 89 -> 0ms Listener #41=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@18f88bc -> 0ms Listener #42=Focus: GenericTypeTest [in [Working copy] GenericTypeTest.java [in org.eclipse.jdt.core.tests.compiler.regression [in src [in org.eclipse.jdt.core.tests.compiler]]]] Super types: AbstractRegressionTest [in AbstractRegressionTest.java [in org.eclipse.jdt.core.tests.compiler.regression [in src [in org.eclipse.jdt.core.tests.compiler]]]] StopableTestCase [in StopableTestCase.java [in org.eclipse.jdt.core.tests.junit.extension [in src [in org.eclipse.jdt.core.tests.compiler]]]] AbstractCompilerTest [in AbstractCompilerTest.java [in org.eclipse.jdt.core.tests.util [in src [in org.eclipse.jdt.core.tests.compiler]]]] TestCase [in TestCase.java [in org.eclipse.jdt.core.tests.junit.extension [in src [in org.eclipse.jdt.core.tests.compiler]]]] TestCase [in TestCase.class [in junit.framework [in junit.jar [in org.junit]]]] Test [in Test.class [in junit.framework [in junit.jar [in org.junit]]]] Assert [in Assert.class [in junit.framework [in junit.jar [in org.junit]]]] Object [in Object.class [in java.lang [in D:/jdk1.4.1/jre/lib/rt.jar [in org.eclipse.jdt.core]]]] Sub types: -> 0ms Listener #43=Focus: ParameterizedTypeBinding [in [Working copy] ParameterizedTypeBinding.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] Super types: ReferenceBinding [in [Working copy] ReferenceBinding.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] IDependent [in IDependent.java [in org.eclipse.jdt.internal.compiler.env [in compiler [in org.eclipse.jdt.core]]]] TypeBinding [in TypeBinding.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] BaseTypes [in BaseTypes.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] TagBits [in TagBits.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] TypeConstants [in TypeConstants.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] TypeIds [in TypeIds.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] Binding [in Binding.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] BindingIds [in BindingIds.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] CompilerModifiers [in CompilerModifiers.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] ClassFileConstants [in ClassFileConstants.java [in org.eclipse.jdt.internal.compiler.classfmt [in compiler [in org.eclipse.jdt.core]]]] IConstants [in IConstants.java [in org.eclipse.jdt.internal.compiler.env [in compiler [in org.eclipse.jdt.core]]]] ProblemReasons [in ProblemReasons.java [in org.eclipse.jdt.internal.compiler.lookup [in compiler [in org.eclipse.jdt.core]]]] Object [in Object.class [in java.lang [in D:/jdk1.4.1/jre/lib/rt.jar [in org.eclipse.jdt.core]]]] Sub types: -> 0ms Listener #44=org.eclipse.jdt.internal.ui.text.JavaReconciler$ElementChangedListener@13eef f0 -> 0ms Listener #45=org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListene r@fa9d2e -> 0ms FIRING POST_CHANGE Delta [Thread[main,6,main]]: <NONE> FIRING POST_RECONCILE Delta [Thread[main,6,main]]: <NONE>
Bug still occurs in 20040407.
Might be related to bug 57076
Bug still occurs in 20040413.
Still occurs in 20040427. Seems to occur more easily when editing large files, e.g. NegativeTest in compiler test suites.
Philippe, I cannot consistently reproduce (especially when debugging) this but whenver I have that state, closing and reopening the Outline (leaving the editor open) does not fix it - only closing the editor fixes it hence this looks like the working copy is not correct. Which would be a J Core problem.
We just fixed bug 61719, where we were issuing a bogus delta, which would fool the outliner. In this case though the delta printed in console was obviously wrong. The trace in this PR shows that the delta was right, but outline still wrong. In this case, when closing/reopening outliner alone, it was enough to address the problem. Closing/reopening editor as a workaround was likely due to bug 61719. I suspect there are 2 bugs there, one in JavaModel, which we just fixed; and potentially one in your land. The symptoms were so similar that they could easily be mistaken.
Readopting, as our fix seems to have solved all known issues.
Closing as dup. *** This bug has been marked as a duplicate of 61719 ***