Summary: | [model] NullPointerException @ org.eclipse.jdt.internal.core.Buffer.removeBufferChangedListener | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Leo Kuznetsov <Leo.Kuznetsov> |
Component: | Core | Assignee: | Jerome Lanneluc <jerome_lanneluc> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | CC: | achapiro, kent_johnson, mgrgic |
Version: | 3.0 | ||
Target Milestone: | 3.1 M5 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Leo Kuznetsov
2004-07-30 21:13:53 EDT
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. |