Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 196346 - Ant editor will not open on second attempt when loading custom Ant task
Summary: Ant editor will not open on second attempt when loading custom Ant task
Status: RESOLVED DUPLICATE of bug 152793
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Ant (show other bugs)
Version: 3.2.2   Edit
Hardware: Other Linux-GTK
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-Ant-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 196344 240369 297561 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-07-12 12:53 EDT by Allen Bagwell CLA
Modified: 2010-01-12 11:49 EST (History)
2 users (show)

See Also:


Attachments
custom ant task that is causing the problem (4.48 KB, application/octet-stream)
2007-07-12 13:00 EDT, Allen Bagwell CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Allen Bagwell CLA 2007-07-12 12:53:14 EDT
I recently created a custom Ant task using Ant 1.7 and made it as an antlib that is loaded via an imported ant file.

Everything appears fine when I first open an ant file that accesses the antlib.  The problem occurs after I close the Eclipse Ant Editor on any such file.  The second time I attempt to open it, the Ant Editor crashes. Anything that was still open still continues to display fine in the Ant Editor, but nothing else can be opened with it if it somehow accesses the antlib.  Eventually this causes me to have to re-start Eclipse in order to access my affected ant files.

This only affects the ant editor when using this task which is jar'd up and in my $ANT_HOME/lib folder.  I made the task according the ant tutorials and by looking at numerous examples.  The task works perfectly (error-free) when used in a target executed via the command line.  The bug only occurs in Eclipse and is always repeatable.  I first encountered it in Eclipse v3.2.2 and it has persisted in v3.3

I can provide the jar and source code. Please email me at afbagwe --insert the at symbol-- sandia.gov to request them.  I am running on Red Hat Ent3 Linux, HP ProLiant and do not know if the problem crops up on any other platforms.

Exception output follows.  Thanks!

-Allen

-----------

Error opening the editor.
java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration
	at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
	at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.<init>(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source)
	at org.apache.tools.ant.util.JAXPUtils.newSAXParser(JAXPUtils.java:215)
	at org.apache.tools.ant.util.JAXPUtils.getNamespaceXMLReader(JAXPUtils.java:172)
	at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:185)
	at org.apache.tools.ant.helper.ProjectHelper2.parseUnknownElement(ProjectHelper2.java:86)
	at org.apache.tools.ant.taskdefs.Antlib.createAntlib(Antlib.java:75)
	at org.apache.tools.ant.taskdefs.Definer.loadAntlib(Definer.java:429)
	at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:281)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
	at org.eclipse.ant.internal.ui.model.AntDefiningTaskNode.configure(AntDefiningTaskNode.java:86)
	at org.eclipse.ant.internal.ui.model.AntModel.resolveBuildfile(AntModel.java:504)
	at org.eclipse.ant.internal.ui.model.AntModel.parseDocument(AntModel.java:329)
	at org.eclipse.ant.internal.ui.model.AntModel.reconcile(AntModel.java:265)
	at org.eclipse.ant.internal.ui.model.AntModel.getProjectNode(AntModel.java:1386)
	at org.eclipse.ant.internal.ui.model.AntModel.getProjectNode(AntModel.java:1396)
	at org.eclipse.ant.internal.ui.editor.text.AntFoldingStructureProvider.updateFoldingRegions(AntFoldingStructureProvider.java:88)
	at org.eclipse.ant.internal.ui.editor.AntEditor.projectionEnabled(AntEditor.java:1210)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.fireProjectionEnabled(ProjectionViewer.java:481)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.enableProjection(ProjectionViewer.java:529)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.doOperation(ProjectionViewer.java:1419)
	at org.eclipse.ant.internal.ui.editor.AntEditor$StatusLineSourceViewer.doOperation(AntEditor.java:213)
	at org.eclipse.ant.internal.ui.editor.AntEditor.createPartControl(AntEditor.java:944)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
	at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:299)
	at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:179)
	at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
	at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
	at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:400)
	at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
	at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
	at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1604)
	at org.eclipse.ui.internal.PartStack.add(PartStack.java:499)
	at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
	at org.eclipse.ui.internal.PartStack.add(PartStack.java:485)
	at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
	at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
	at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:217)
	at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:207)
	at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:774)
	at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:673)
	at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:634)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2719)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2633)
	at org.eclipse.ui.internal.WorkbenchPage.access$12(WorkbenchPage.java:2625)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2577)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2572)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2556)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2547)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:644)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:603)
	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:285)
	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:138)
	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:194)
	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:175)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:268)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:244)
	at org.eclipse.jdt.internal.ui.navigator.OpenAndExpand.run(OpenAndExpand.java:50)
	at org.eclipse.ui.actions.RetargetAction.run(RetargetAction.java:220)
	at org.eclipse.ui.internal.navigator.CommonNavigatorManager$3.open(CommonNavigatorManager.java:181)
	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.runtime.Platform.run(Platform.java:857)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:193)
	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:818)
	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079)
	at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:353)
	at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183)
	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263)
	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1101)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3319)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
	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:585)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
Comment 1 Allen Bagwell CLA 2007-07-12 13:00:52 EDT
Created attachment 73681 [details]
custom ant task that is causing the problem

I've added the jar file that makes the bug appear. Note that you don't have to invoke the task it encapsulates, you only have to reference in an ant file that you attempt to open in Eclipse.  You do this with the following statement:

<typedef resource="gov/sandia/nap/ant/rtlink/antlib.xml"/>

The bug affects any ant file opened with the Eclipse Ant Editor that has this statement in it or accesses this statement in a separate ant file by importing the file it resides in.

Source code is available by requesting from the email address given in the first comment on this bug report.
Comment 2 Allen Bagwell CLA 2007-07-12 13:05:06 EDT
*** Bug 196344 has been marked as a duplicate of this bug. ***
Comment 3 Darin Swanson CLA 2007-07-12 13:27:04 EDT
Thank you for the fully detailed bug report.
This is a duplicate of a known issue.

*** This bug has been marked as a duplicate of bug 152793 ***
Comment 4 Michael Rennie CLA 2010-01-12 11:48:32 EST
*** Bug 240369 has been marked as a duplicate of this bug. ***
Comment 5 Michael Rennie CLA 2010-01-12 11:49:51 EST
*** Bug 297561 has been marked as a duplicate of this bug. ***