Community
Participate
Working Groups
Using 0910, I got this error while debugging. It is unclear for now what is the cause of this. VM used is: 1.4.1_02. java.lang.NullPointerException at org.eclipse.jdt.internal.debug.core.model.JDIValue.getValueString(JDIValue.java:129) at org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.getValueText(JDIModelPresentation.java:422) at org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.getVariableText(JDIModelPresentation.java:1040) at org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.getText(JDIModelPresentation.java:202) at org.eclipse.debug.internal.ui.LazyModelPresentation.getText(LazyModelPresentation.java:121) at org.eclipse.debug.internal.ui.DelegatingModelPresentation.getText(DelegatingModelPresentation.java:181) at org.eclipse.debug.internal.ui.VariablesViewModelPresentation.getText(VariablesViewModelPresentation.java:25) at org.eclipse.debug.internal.ui.views.variables.VariablesView$VariablesViewLabelProvider.getText(VariablesView.java:137) at org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:95) at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:78) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1016) at org.eclipse.core.runtime.Platform.run(Platform.java:420) at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:427) at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:119) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1016) at org.eclipse.core.runtime.Platform.run(Platform.java:420) at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:1263) at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:338) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:321) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:84) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:307) at org.eclipse.jface.viewers.AbstractTreeViewer.setExpandedState(AbstractTreeViewer.java:1265) at org.eclipse.debug.internal.ui.views.variables.VariablesView.doubleClick(VariablesView.java:1216) at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:367) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1016) at org.eclipse.core.runtime.Platform.run(Platform.java:420) at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:365) at org.eclipse.jface.viewers.StructuredViewer.handleDoubleSelect(StructuredViewer.java:584) at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:679) at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:187) at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:184) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:231) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:847) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2188) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1878) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2037) at org.eclipse.ui.internal.Workbench.run(Workbench.java:2020) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:858) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461) 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:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:295) at org.eclipse.core.launcher.Main.run(Main.java:751) at org.eclipse.core.launcher.Main.main(Main.java:587)
This NPE is crazy. If you read the code here, it looks like: if (fValue == null) { return "some string"; } return fValue.toString(); // NPE here Since the valud of fValue is only set in the constructor, I don't understand how this execution flow is possible. Someone else just reported the same stack trace, though (Bug 43195), so it seems to be happening repeatedly. What am I missing?
I don't see how it's possible either. My only suggestion is to see if it can be reproduced on a newer VM (perhaps it is a VM/JIT bug?).
This is the same stack trace as reported in bug 43285 *** This bug has been marked as a duplicate of 43285 ***