Community
Participate
Working Groups
Happens when clicking on some stack frames in suspended stack trace. Strangely clicking on next stack frame (from the same source file) usually works. Happens not always on HyperThreaded XP. Looks like racing condition. eclipse.buildId=I200406251208 java.lang.NullPointerException at org.eclipse.jdt.internal.core.Buffer.removeBufferChangedListener (Buffer.java:273) at org.eclipse.jdt.internal.core.Openable.closeBuffer(Openable.java:94) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed (JavaElement.java:581) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:309) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:295) at org.eclipse.jdt.internal.core.JavaElement.exists(JavaElement.java:162) at org.eclipse.jdt.internal.core.CompilationUnit.getImports (CompilationUnit.java:684) at org.eclipse.jdt.internal.core.SourceTypeElementInfo.getImports (SourceTypeElementInfo.java:126) at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert (SourceTypeConverter.java:111) at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.buildCompilationUn it(SourceTypeConverter.java:83) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.accept (CompilationUnitProblemFinder.java:100) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType (LookupEnvironment.java:113) at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage (PackageBinding.java:170) at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage (Scope.java:1647) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype (ClassScope.java:820) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass (ClassScope.java:607) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy (ClassScope.java:700) at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierar chy(CompilationUnitScope.java:242) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings (LookupEnvironment.java:177) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings (LookupEnvironment.java:206) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.accept (CompilationUnitProblemFinder.java:110) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType (LookupEnvironment.java:113) at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage (PackageBinding.java:170) at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage (Scope.java:1647) at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:1470) at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding (SingleTypeReference.java:43) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor (SourceTypeBinding.java:831) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods (SourceTypeBinding.java:692) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.faultInTypesForField sAndMethods(SourceTypeBinding.java:347) at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes (CompilationUnitScope.java:350) at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:557) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process (CompilationUnitProblemFinder.java:176) at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure (CompilationUnit.java:146) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:183) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed (JavaElement.java:572) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:309) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:295) at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:250) at org.eclipse.jdt.internal.core.JavaElement.getChildrenOfType (JavaElement.java:264) at org.eclipse.jdt.internal.core.CompilationUnit.getTypes (CompilationUnit.java:822) at org.eclipse.jdt.internal.core.NameLookup.seekTypesInSourcePackage (NameLookup.java:697) at org.eclipse.jdt.internal.core.NameLookup.seekTypes(NameLookup.java:554) at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:384) at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:355) at org.eclipse.jdt.internal.core.SearchableEnvironment.find (SearchableEnvironment.java:78) at org.eclipse.jdt.internal.core.SearchableEnvironment.findType (SearchableEnvironment.java:158) at org.eclipse.jdt.core.dom.CompilationUnitResolver$CancelableNameEnvironment.find Type(CompilationUnitResolver.java:70) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType (LookupEnvironment.java:101) at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage (PackageBinding.java:170) at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage (Scope.java:1647) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype (ClassScope.java:820) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass (ClassScope.java:607) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy (ClassScope.java:700) at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierar chy(CompilationUnitScope.java:242) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings (LookupEnvironment.java:177) at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:307) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve (CompilationUnitResolver.java:392) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve (CompilationUnitResolver.java:313) at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:657) at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:574) at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.parseCompila tionUnit(ASTEvaluationEngine.java:165) at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.getCompiledE xpression(ASTEvaluationEngine.java:149) at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.evaluate (ASTEvaluationEngine.java:73) at org.eclipse.jdt.internal.debug.ui.JavaWatchExpressionDelegate$EvaluationRunnabl e.run(JavaWatchExpressionDelegate.java:144) at org.eclipse.jdt.internal.debug.core.model.JDIThread$ThreadJob.run (JDIThread.java:2516) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)
Moving to JCORE for comment.
*** Bug 71468 has been marked as a duplicate of this bug. ***
*** Bug 76569 has been marked as a duplicate of this bug. ***
Synchronized Buffer#addBufferChangedListener and removeBufferChangeListener and changed notifyChanged to use a local variable and testing this local for null.
*** Bug 78523 has been marked as a duplicate of this bug. ***
Verified in I20050214-0927
java.lang.NullPointerException at org.eclipse.jdt.internal.core.Buffer.addBufferChangedListener (Buffer.java:62) at org.eclipse.jdt.internal.core.ClassFile.mapSource(ClassFile.java:642) at org.eclipse.jdt.internal.core.ClassFile.openBuffer (ClassFile.java:540) at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:263) at org.eclipse.jdt.internal.core.ClassFile.getBuffer(ClassFile.java:263) at org.eclipse.jdt.internal.core.ClassFile.getSourceRange (ClassFile.java:428) at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.verifyInput (ClassFileEditor.java:708) at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.createPartControl (ClassFileEditor.java:672) at org.eclipse.ui.internal.EditorReference.createPartHelper (EditorReference.java:585) at org.eclipse.ui.internal.EditorReference.createPart (EditorReference.java:365) at org.eclipse.ui.internal.WorkbenchPartReference.getPart (WorkbenchPartReference.java:552) at org.eclipse.ui.internal.EditorReference.getEditor (EditorReference.java:214) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched (WorkbenchPage.java:2325) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor (WorkbenchPage.java:2258) at org.eclipse.ui.internal.WorkbenchPage.access$9 (WorkbenchPage.java:2250) at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2236) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.WorkbenchPage.openEditor (WorkbenchPage.java:2231) at org.eclipse.ui.internal.WorkbenchPage.openEditor (WorkbenchPage.java:2212) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor (EditorUtility.java:263) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor (EditorUtility.java:140) at org.eclipse.jdt.internal.ui.actions.OpenActionUtil.open (OpenActionUtil.java:49) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:169) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:141) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun (SelectionDispatchAction.java:226) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run (SelectionDispatchAction.java:198) at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlink.open (JavaElementHyperlink.java:55) at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseUp (HyperlinkManager.java:388) at org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:137) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3080) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2713) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:367) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948)
Sorry, I'm new to this... here's the full data for my last comment: Elipse Build id: I20050627-1435 System: Win XP, hyperthreaded. I tried to open (ctrl+click) ThreadLocal$ThreadLocalMap.class and got the error below. Usually it works. I tried to reproduce the bug, tried many times - doesn't happen again. Strange... I have the jadclipse plugin installed, which causes (harmless) error messages when I ctrl+click open class files. Might have something to do with this, but probably not. java.lang.NullPointerException at org.eclipse.jdt.internal.core.Buffer.addBufferChangedListener (Buffer.java:62) at org.eclipse.jdt.internal.core.ClassFile.mapSource(ClassFile.java:642) at org.eclipse.jdt.internal.core.ClassFile.openBuffer (ClassFile.java:540) at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:263) at org.eclipse.jdt.internal.core.ClassFile.getBuffer(ClassFile.java:263) at org.eclipse.jdt.internal.core.ClassFile.getSourceRange (ClassFile.java:428) at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.verifyInput (ClassFileEditor.java:708) at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.createPartControl (ClassFileEditor.java:672) at org.eclipse.ui.internal.EditorReference.createPartHelper (EditorReference.java:585) at org.eclipse.ui.internal.EditorReference.createPart (EditorReference.java:365) at org.eclipse.ui.internal.WorkbenchPartReference.getPart (WorkbenchPartReference.java:552) at org.eclipse.ui.internal.EditorReference.getEditor (EditorReference.java:214) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched (WorkbenchPage.java:2325) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor (WorkbenchPage.java:2258) at org.eclipse.ui.internal.WorkbenchPage.access$9 (WorkbenchPage.java:2250) at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2236) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.WorkbenchPage.openEditor (WorkbenchPage.java:2231) at org.eclipse.ui.internal.WorkbenchPage.openEditor (WorkbenchPage.java:2212) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor (EditorUtility.java:263) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor (EditorUtility.java:140) at org.eclipse.jdt.internal.ui.actions.OpenActionUtil.open (OpenActionUtil.java:49) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:169) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:141) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun (SelectionDispatchAction.java:226) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run (SelectionDispatchAction.java:198) at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlink.open (JavaElementHyperlink.java:55) at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseUp (HyperlinkManager.java:388) at org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:137) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3080) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2713) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:367) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948)
Can you please try removing the jadclipse and see if the problem persists ? If it does, please open a new bug report with as much information as you can provide and possibly with steps to reproduce.
Haven't seen this bug again, with any version of jadclipse. -> Unreproducible.