Unable to open workflow due to java.io.IOException error

Hi,

I was working on my KNIME workflow and the workflow was saved. Something happend to my computer, I think Chrome crashed and computer was behaving weird. I managed to save and quit KNIME before I had to shut down my computer.

I restarted and opend my workflow but can’t open it due to this error;
java.io.IOException: Unable to parse xml: line=2: Content is not allowed in prolog.
xml: URI=java.io.BufferedInputStream@37aa4825
dtd: URI=null

I’ve received this error before and never was able to fix it. I’m on a critical task with my team waiting for me to finish work and now I can’t open my workflow. Here’s the full error message:

java.lang.RuntimeException: java.io.IOException: Unable to parse xml: line=2: Content is not allowed in prolog.
xml: URI=java.io.BufferedInputStream@37aa4825
dtd: URI=null

at org.knime.workbench.editor2.WorkflowEditor.setInput(WorkflowEditor.java:1436)

at org.knime.workbench.editor2.WorkflowEditor.init(WorkflowEditor.java:529)

at org.eclipse.ui.internal.EditorReference.initialize(EditorReference.java:353)

at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:344)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.base/java.lang.reflect.Method.invoke(Unknown Source)

at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)

at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:995)

at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:960)

at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:140)

at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:403)

at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:330)

at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:202)

at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:91)

at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60)

at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)

at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:995)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:659)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:763)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:728)

at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:712)

at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.lambda$0(PartServiceImpl.java:105)

at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)

at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183)

at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)

at org.eclipse.swt.widgets.Display.syncExec(Display.java:4790)

at org.eclipse.e4.ui.workbench.swt.DisplayUISynchronize.syncExec(DisplayUISynchronize.java:34)

at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)

at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)

at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)

at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)

at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)

at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)

at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:133)

at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)

at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44)

at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55)

at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:63)

at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)

at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElementGen(ElementContainerImpl.java:170)

at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:188)

at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:660)

at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:624)

at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:787)

at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:401)

at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1261)

at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3207)

at org.eclipse.ui.internal.WorkbenchPage.lambda$9(WorkbenchPage.java:3097)

at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74)

at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3095)

at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3065)

at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3048)

at org.knime.workbench.explorer.view.actions.OpenWorkflowAction.openEditor(OpenWorkflowAction.java:131)

at org.knime.workbench.explorer.view.ExplorerView.openSelected(ExplorerView.java:413)

at org.knime.workbench.explorer.view.ExplorerView$3$1.run(ExplorerView.java:467)

at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)

at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)

at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4043)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3648)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)

at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)

at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)

at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)

at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)

at org.knime.product.rcp.KNIMEApplication.start(KNIMEApplication.java:191)

at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.base/java.lang.reflect.Method.invoke(Unknown Source)

at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)

at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

Caused by: java.io.IOException: Unable to parse xml: line=2: Content is not allowed in prolog.
xml: URI=java.io.BufferedInputStream@37aa4825
dtd: URI=null

at org.knime.core.node.config.base.XMLConfig.load(XMLConfig.java:137)

at org.knime.core.node.config.Config.load(Config.java:937)

at org.knime.core.node.config.Config.loadFromXML(Config.java:925)

at org.knime.core.node.NodeSettings.loadFromXML(NodeSettings.java:105)

at org.knime.core.node.workflow.WorkflowLoadHelper.createTemplateLoadPersistor(WorkflowLoadHelper.java:337)

at org.knime.core.node.workflow.WorkflowLoadHelper.createLoadPersistor(WorkflowLoadHelper.java:304)

at org.knime.core.node.workflow.WorkflowManager.createLoadPersistor(WorkflowManager.java:8317)

at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8357)

at org.knime.core.node.workflow.WorkflowManager.loadProject(WorkflowManager.java:8202)

at org.knime.workbench.editor2.LoadWorkflowRunnable.run(LoadWorkflowRunnable.java:171)

at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)

Caused by: org.xml.sax.SAXException: line=2: Content is not allowed in prolog.
xml: URI=java.io.BufferedInputStream@37aa4825
dtd: URI=null
org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 1; Content is not allowed in prolog.

at org.knime.core.node.config.base.XMLContentHandler.fatalError(XMLContentHandler.java:140)

at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)

at org.knime.core.node.config.base.XMLConfig.load(XMLConfig.java:133)

... 10 more

Caused by: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 1; Content is not allowed in prolog.

at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)

... 23 more

Any ideas on how to fix it?

Best Regards,
Brian

Hi @ogcyborg -

Do you have a backup of your workflow by chance? In most cases, this means the workflow has been corrupted, I’m afraid. The usual tell is that the workflow.knime file included in the workflow, which should normally be well-formatted XML, has instead been overwritten with binary gibberish. :frowning:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.