"Content is not allowed in prolog" error

Hello, I have a fairly devastating error. It might be file corruption, but I’m looking for any solution to recover most or all of my workflow. I’ve been working on it for several months, and while I did save a back-up a couple months ago, the file regularly is too large (200 - 500GB) to have multiple copies on my system, so there is nothing particularly recent.

This morning, I was finishing-up the final pieces of the analysis, I saved, and I shut down my computer. This evening, when I attempted to re-open the workflow, I received this error:
“java.io.IOException: Unable to parse xml: line=2: Content is not allowed in prolog.
xml: URI=java.io.BufferedInputStream@77b2031e
dtd: URI=null”

All other workflows open fine. Most of the file structure in my save folder seems in place, the workflow’s save size is still in the range of what I’d expect, and the handful of .xml files I looked at seemed correct. In addition, the folder structure appears to have folders for all the nodes in the workflow. However, the workflow and workflow.knime files at the top level of the folder are completely empty.

Any help would be greatly appreciated, thank you.

Hi @jclancy15,
That sounds bad! Unfortunately, the workflow.knime file is crucial. The node list it contains could probably be recovered from the individual nodes’ settings.xml, but it also contains the connection information, which I think is not stored anywhere else. The settings.xml also does not contain the position of the nodes, but this could maybe be alleviated by the auto-layout functionality.
Would it help to restore the workflow so you are able to open it again, even though it does not contain any connections?
Kind regards,
Alexander

2 Likes

That sounds much better than nothing, thanks. How would I do that?

My only hesitancy is that there are a lot of nodes, so the auto-layout might not have them in the right order.

But if meta-node assignment is kept consistent, it would probably be much easier to recreate than relying on the last save.

Hi @jclancy15,
Indeed auto-layout won’t help much, because the connections are lost. I have created a workflow that can restore the node-part of the workflow.knime file, though. I hope it is only the top-level workflow.knime that is broken, not the ones of components inside your workflow. Please have a look at attached workflow and see if it is helpful for you.
Kind regards,
Alexander

WorkflowKNIME Fixer.knwf (58.8 KB)

2 Likes

Thank you so much!! I was able to run your workflow and open up my old workflow.

I haven’t dug through it all yet, because there are many many nodes even in the first (non-metanode) level, and they all loaded on top of each other. However, when I opened up 1 metanode, the nodes inside it were not only intact, but they were connected and placed in the exact same geometric structure as previously.

Would you say this likely means only the top layer was damaged?

1 Like

Hi,
Yes, this seems very likely. My workflow only fixes the top layer and if the workflow loads fine after the fix, it should only be the top layer that was affected. Another win for good workflow organisation with metanodes and components :smiley:
Kind regards,
Alexander

2 Likes

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