Community
Participate
Working Groups
We encountered the following NPE, in 3.3M6. This is reproducible, but the repro case we have requires WTP and possibly some BEA-proprietary plug-ins, so you may just want to take my word for it :-) The basic problem is that IPackageFragmentRoot.getRawClasspathEntry() is documented to throw JavaModelException when it cannot find the requested entry, but in fact it returns null. The calling code in PackageExplorerContentProvider is not prepared to deal with a null. So, either there needs to be a null check here, or the implementation of PackageFragmentRoot needs to be fixed. I would suggest that probably putting in a null check is the more conservative fix at this point, although it might also be good to change the javadoc of the IPackageFragmentRoot method. Here's the stack trace: java.lang.NullPointerException at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getPackageFragmentRoots(PackageExplorerContentProvider.java:291) at org.eclipse.jdt.ui.StandardJavaElementContentProvider.getChildren(StandardJavaElementContentProvider.java:179) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getChildren(PackageExplorerContentProvider.java:270) at org.eclipse.jdt.internal.ui.navigator.JavaNavigatorContentProvider.getPipelinedChildren(JavaNavigatorContentProvider.java:124) at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.pipelineChildren(NavigatorContentServiceContentProvider.java:310) at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:252) at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(NavigatorContentServiceContentProvider.java:635) at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1277) at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:363) at org.eclipse.jface.viewers.AbstractTreeViewer.getFilteredChildren(AbstractTreeViewer.java:614) at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:580) at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2446) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1788) at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:561) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1795) at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:561) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1763) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1719) at org.eclipse.ui.navigator.CommonViewer.internalRefresh(CommonViewer.java:454) at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1478) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1333) at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1476) at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:303) at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:401) at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider$3.run(ResourceExtensionContentProvider.java:283) at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.runUpdates(ResourceExtensionContentProvider.java:295) at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.access$1(ResourceExtensionContentProvider.java:292) at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider$1.run(ResourceExtensionContentProvider.java:118) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
This is a duplicate of JDT/Core bug 162104
*** This bug has been marked as a duplicate of bug 162104 ***