Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 313018 - NPE in JavaReconciler#uninstall
Summary: NPE in JavaReconciler#uninstall
Status: RESOLVED DUPLICATE of bug 304160
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Compare (show other bugs)
Version: 3.6   Edit
Hardware: PC Linux-GTK
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-Compare-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-15 12:18 EDT by James Blackburn CLA
Modified: 2010-05-17 04:32 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Blackburn CLA 2010-05-15 12:18:47 EDT
I keep getting NPEs in JavaReconciler#uninstall on 3.6m7.

java.lang.NullPointerException
	at org.eclipse.jdt.internal.ui.text.JavaReconciler.uninstall(JavaReconciler.java:341)
	at org.eclipse.jface.text.source.SourceViewer.unconfigure(SourceViewer.java:692)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.unconfigure(JavaSourceViewer.java:357)
	at org.eclipse.jface.text.source.SourceViewer.handleDispose(SourceViewer.java:745)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.handleDispose(ProjectionViewer.java:1363)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.handleDispose(JavaSourceViewer.java:462)
	at org.eclipse.jface.text.TextViewer$2.widgetDisposed(TextViewer.java:1798)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:123)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1234)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1243)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1060)
	at org.eclipse.swt.custom.StyledText.handleDispose(StyledText.java:5816)
	at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:5642)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1234)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1239)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1079)
	at org.eclipse.swt.widgets.Control.release(Control.java:3292)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1208)
	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:208)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1082)
	at org.eclipse.swt.widgets.Control.release(Control.java:3292)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1208)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1082)
	at org.eclipse.swt.widgets.Control.release(Control.java:3292)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1208)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1082)
	at org.eclipse.swt.widgets.Control.release(Control.java:3292)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1208)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1082)
	at org.eclipse.swt.widgets.Control.release(Control.java:3292)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1208)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1082)
	at org.eclipse.swt.widgets.Control.release(Control.java:3292)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1208)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1082)
	at org.eclipse.swt.widgets.Control.release(Control.java:3292)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1208)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1082)
	at org.eclipse.swt.widgets.Control.release(Control.java:3292)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:461)
	at org.eclipse.ui.internal.PartPane.dispose(PartPane.java:180)
	at org.eclipse.ui.internal.WorkbenchPartReference.dispose(WorkbenchPartReference.java:681)
	at org.eclipse.ui.internal.WorkbenchPage.disposePart(WorkbenchPage.java:1721)
	at org.eclipse.ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java:1426)
	at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1410)
	at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1384)
	at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1448)
	at org.eclipse.team.ui.synchronize.SaveableCompareEditorInput$3.run(SaveableCompareEditorInput.java:290)
	at org.eclipse.team.ui.synchronize.SaveableCompareEditorInput.closeEditor(SaveableCompareEditorInput.java:294)
	at org.eclipse.team.ui.synchronize.SaveableCompareEditorInput$1.compareInputChanged(SaveableCompareEditorInput.java:167)
	at org.eclipse.team.internal.ui.mapping.AbstractCompareInput$1.run(AbstractCompareInput.java:74)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.team.internal.ui.mapping.AbstractCompareInput.fireChange(AbstractCompareInput.java:72)
	at org.eclipse.team.internal.ui.mapping.ResourceDiffCompareInput.fireChange(ResourceDiffCompareInput.java:168)
	at org.eclipse.team.internal.ui.mapping.ResourceDiffCompareInput.update(ResourceDiffCompareInput.java:277)
	at org.eclipse.team.internal.ui.mapping.CompareInputChangeNotifier.fireChange(CompareInputChangeNotifier.java:389)
	at org.eclipse.team.internal.ui.mapping.CompareInputChangeNotifier.fireChanges(CompareInputChangeNotifier.java:295)
	at org.eclipse.team.internal.ui.mapping.CompareInputChangeNotifier$1.run(CompareInputChangeNotifier.java:253)
	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:164)
	at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3515)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3162)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2601)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2565)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2399)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:669)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:662)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Comment 1 Dani Megert CLA 2010-05-16 11:25:19 EDT
>I keep getting NPEs in JavaReconciler#uninstall on 3.6m7.
Not here using 3.6 RC1. Please see:
http://www.eclipse.org/eclipse/platform-text/development/bug-incomplete.htm
Comment 2 James Blackburn CLA 2010-05-16 14:03:10 EDT
You don't believe a back-trace plus build is sufficient?
Or are you saying it's been fixed in RC1?
Comment 3 James Blackburn CLA 2010-05-16 14:15:59 EDT
Same exception on bug 304160 comment 3

*** This bug has been marked as a duplicate of bug 304160 ***
Comment 4 Dani Megert CLA 2010-05-17 03:30:26 EDT
>You don't believe a back-trace plus build is sufficient?
No, because we don't just go and add a null-check without understanding the real cause for the problem.

Good you found the duplicate.
Comment 5 James Blackburn CLA 2010-05-17 04:19:09 EDT
Oh sure. (In reply to comment #4)
> No, because we don't just go and add a null-check without understanding the
real cause for the problem.

I wasn't implying you should. 

My point was NPEs indicate something has gone wrong. That fact I see them sporadically indicates there may be some kind of race. 

Closing e a bug WON'T FIX when the exception was reported in the most recent milestone just sends the message "don't bother reporting unless you can reliably reproduce".

It only grates as in CDT I'd never close a NPE filed in this way without looking at the code and convincing myself that something had changed to resolve the issue, or that the build is so old as to make the exception useless.
Comment 6 Dani Megert CLA 2010-05-17 04:32:20 EDT
I expect more from a bug than just a stack trace and a build ID. Of course even in that case I look at it and try to reproduce even though zero steps are given. If I can't reproduce, then closing as WONTFIX normally makes the bug reporter add more steps (at least if the problem occurs again on his machine).