Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 243752

Summary: Navigator error in .log
Product: [WebTools] WTP Java EE Tools Reporter: Tim deBoer <deboer>
Component: jst.j2eeAssignee: Dimitar Giormov <dimitar.giormov>
Status: CLOSED FIXED QA Contact: Chuck Bridgham <cbridgha>
Severity: normal    
Priority: P3 CC: ccc, daniel_megert, dimitar.giormov, kaloyan
Version: 3.0   
Target Milestone: 3.0.3   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on: 223641    
Bug Blocks:    

Description Tim deBoer CLA 2008-08-11 09:41:58 EDT
I didn't notice any failures inside the IDE, but I found the following in my .log file which seems to indicate a failure in the JEE navigator:

!ENTRY org.eclipse.ui.navigator 4 0 2008-08-07 10:12:37.578
!MESSAGE Could not acquire children from extension: org.eclipse.jst.jee.ui.ejb
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jst.jee.ui.internal.navigator.AbstractGroupProvider.<init>(Unknown Source)
	at org.eclipse.jst.jee.ui.internal.navigator.ejb.GroupEJBProvider.<init>(Unknown Source)
	at org.eclipse.jst.jee.ui.internal.navigator.Ejb3ContentProvider.getChildren(Unknown Source)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(Unknown Source)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(Unknown Source)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(Unknown Source)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(Unknown Source)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(Unknown Source)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(Unknown Source)
	at org.eclipse.jface.viewers.TreeViewer.getRawChildren(Unknown Source)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getFilteredChildren(Unknown Source)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(Unknown Source)
	at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(Unknown Source)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(Unknown Source)
	at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(Unknown Source)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(Unknown Source)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(Unknown Source)
	at org.eclipse.ui.navigator.CommonViewer.internalRefresh(Unknown Source)
	at org.eclipse.jface.viewers.StructuredViewer$8.run(Unknown Source)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(Unknown Source)
	at org.eclipse.jface.viewers.TreeViewer.preservingSelection(Unknown Source)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(Unknown Source)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(Unknown Source)
	at org.eclipse.jface.viewers.ColumnViewer.refresh(Unknown Source)
	at org.eclipse.ui.navigator.CommonViewer.refresh(Unknown Source)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$4.run(Unknown Source)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runUpdates(Unknown Source)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.executeRunnables(Unknown Source)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.elementChanged(Unknown Source)
	at org.eclipse.jdt.internal.core.DeltaProcessor$3.run(Unknown Source)
	at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
	at org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(Unknown Source)
	at org.eclipse.jdt.internal.core.DeltaProcessor.firePostChangeDelta(Unknown Source)
	at org.eclipse.jdt.internal.core.DeltaProcessor.fire(Unknown Source)
	at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(Unknown Source)
	at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(Unknown Source)
	at org.eclipse.core.internal.events.NotificationManager$2.run(Unknown Source)
	at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
	at org.eclipse.core.internal.events.NotificationManager.notify(Unknown Source)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(Unknown Source)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Unknown Source)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Unknown Source)
	at org.eclipse.core.internal.resources.Workspace.run(Unknown Source)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.runOperation(Unknown Source)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.runOperation(Unknown Source)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.doExecute(Unknown Source)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.executeImpl(Unknown Source)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.cacheThreadAndContinue(Unknown Source)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.execute(Unknown Source)
	at org.eclipse.jst.jee.ui.internal.CreateDeploymentFilesActionDelegate.primRun(Unknown Source)
	at org.eclipse.jst.j2ee.internal.actions.BaseAction.run(Unknown Source)
	at org.eclipse.jst.j2ee.internal.actions.BaseAction.run(Unknown Source)
	at org.eclipse.ui.internal.PluginAction.runWithEvent(Unknown Source)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(Unknown Source)
	at org.eclipse.jface.action.ActionContributionItem.access$2(Unknown Source)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(Unknown Source)
	at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
	at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source)
	at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
	at org.eclipse.ui.internal.Workbench.access$4(Unknown Source)
	at org.eclipse.ui.internal.Workbench$5.run(Unknown Source)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
	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.equinox.launcher.Main.invokeFramework(Unknown Source)
	at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
	at org.eclipse.equinox.launcher.Main.run(Unknown Source)
	at org.eclipse.equinox.launcher.Main.main(Unknown Source)
Comment 1 Carl Anderson CLA 2008-08-11 12:13:17 EDT
This is EJB content - while the file is in Java EE, the EJB team needs to fix this.
Comment 2 Kaloyan Raev CLA 2008-08-28 13:11:26 EDT
Tim, is there any chance to give us "steps to reproduce"?

The problem seems to be that IModelProvider.getModelObject() returns null on line 74 of EJB3ContentProvider. 
Dimitar, is it possible that this is some caching problem?
Comment 3 Tim deBoer CLA 2008-08-28 14:04:36 EDT
Sorry, don't remember what I was doing at the time.
Comment 4 Dimitar Giormov CLA 2008-09-07 15:21:24 EDT
Found the problem,
Delete the Ejb-jar tag in the xml and save.
Comment 5 Dimitar Giormov CLA 2008-09-07 15:27:04 EDT
The root exception is actually different I am not sure if the model should return null for ejb-jar in this case or ejb-jar with values from annotation model?


Error
Sun Sep 07 22:15:27 EEST 2008
Could not acquire children from extension: org.eclipse.jst.jee.ui.ejb

org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.xml.sax.SAXParseException: Premature end of file.
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:315)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274)
at org.eclipse.jem.internal.util.emf.workbench.ProjectResourceSetImpl.getResource(ProjectResourceSetImpl.java:343)
at org.eclipse.jst.jee.model.internal.JEE5ModelProvider.getModelResource(JEE5ModelProvider.java:143)
at org.eclipse.jst.jee.model.internal.Ejb3ModelProvider.getModelObject(Ejb3ModelProvider.java:41)
at org.eclipse.jst.jee.model.internal.JEE5ModelProvider.getModelObject(JEE5ModelProvider.java:198)
at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.loadModel(AbstractMergedModelProvider.java:204)
at org.eclipse.jst.jee.model.internal.EJB3MergedModelProvider.loadModel(EJB3MergedModelProvider.java:79)
at org.eclipse.jst.jee.model.internal.EJB3MergedModelProvider.loadModel(EJB3MergedModelProvider.java:1)
at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getMergedModel(AbstractMergedModelProvider.java:187)
at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getModelObject(AbstractMergedModelProvider.java:108)
at org.eclipse.jst.jee.ui.internal.navigator.JEE5ContentProvider.getCachedModelProvider(JEE5ContentProvider.java:52)
at org.eclipse.jst.jee.ui.internal.navigator.Ejb3ContentProvider.getChildren(Ejb3ContentProvider.java:73)
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:91)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:251)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(NavigatorContentServiceContentProvider.java:227)



CAUSED BY: 
at used by: org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:386)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1438)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(XMLDocumentScannerImpl.java:928)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:181)
at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:180)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1445)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1241)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:255)
at org.eclipse.jem.internal.util.emf.workbench.ProjectResourceSetImpl.demandLoad(ProjectResourceSetImpl.java:155)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:270)
... 101 more


Comment 6 Dimitar Giormov CLA 2008-09-25 09:02:59 EDT
The behaviour in web 2.4 is to hide the DD node, so we should do the same, fixing the bug should happen with another bug that I am processing: 223641
Comment 7 Dimitar Giormov CLA 2008-10-21 02:32:01 EDT
Commit and Release in R_3_0_maintenance and HEAD with the fix for: 223641
Comment 8 Dimitar Giormov CLA 2008-11-10 03:51:31 EST
verified with latest 3.0.3 RC3