Unexpected I/O error during deserialization

Hi Everybody,

I have the following problem:

I'm developing the SCADA for some industrial plant. This application uses 4 screens (4*1920x1080). In the begining we design the 4 screens in 4 different windows under the same project but now i want to copy/paste it into one big windows. When i copy the first 2 windows all goes ok, i can save the project, close ignition and open it again with no problems.

When I copy the third, i get the following error (sorry for the wall of text):

com.inductiveautomation.ignition.common.xmlserialization.SerializationException: Unexpected I/O error during deserialization. at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer._deserialize(Unknown Source) at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer.deserialize(Unknown Source) at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer.deserialize(Unknown Source) at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer.deserialize(Unknown Source) at com.inductiveautomation.ignition.designer.DesignerContextImpl.deserialize(Unknown Source) at com.inductiveautomation.factorypmi.application.model.WindowCache.getWindowInfo(Unknown Source) at com.inductiveautomation.factorypmi.application.model.WindowCache.getWindowThumbnail(Unknown Source) at com.inductiveautomation.factorypmi.designer.model.navtree.WindowNode.<init>(Unknown Source) at com.inductiveautomation.factorypmi.designer.model.navtree.WindowFolderNode.createChildNode(Unknown Source) at com.inductiveautomation.ignition.designer.navtree.model.FolderNode.loadChildren(Unknown Source) at com.inductiveautomation.ignition.designer.navtree.model.AbstractNavTreeNode.checkChildren(Unknown Source) at com.inductiveautomation.ignition.designer.navtree.model.AbstractNavTreeNode.getChildCount(Unknown Source) at com.inductiveautomation.ignition.designer.navtree.model.AbstractNavTreeNode.isLeaf(Unknown Source) at javax.swing.tree.DefaultTreeModel.isLeaf(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(Unknown Source) at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(Unknown Source) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(Unknown Source) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(Unknown Source) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(Unknown Source) at javax.swing.tree.VariableHeightLayoutCache.rebuild(Unknown Source) at javax.swing.tree.VariableHeightLayoutCache.treeStructureChanged(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.treeStructureChanged(Unknown Source) at javax.swing.tree.DefaultTreeModel.fireTreeStructureChanged(Unknown Source) at javax.swing.tree.DefaultTreeModel.nodeStructureChanged(Unknown Source) at com.inductiveautomation.ignition.designer.navtree.model.AbstractNavTreeNode.reload(Unknown Source) at com.inductiveautomation.ignition.designer.navtree.model.MutableNavTreeNode.addChild(Unknown Source) at com.inductiveautomation.factorypmi.designer.model.ObjectHolder.startup(Unknown Source) at com.inductiveautomation.ignition.designer.IgnitionDesigner$LoadedModule.startup(Unknown Source) at com.inductiveautomation.ignition.designer.IgnitionDesigner.startupModule(Unknown Source) at com.inductiveautomation.ignition.designer.IgnitionDesigner.loadProject(Unknown Source) at com.inductiveautomation.ignition.designer.IgnitionDesigner$StartupProjectDialogHandler.openProject(Unknown Source) at com.inductiveautomation.ignition.designer.ProjectDialog$5.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.util.zip.ZipException: invalid stored block lengths at java.util.zip.InflaterInputStream.read(Unknown Source) at java.util.zip.GZIPInputStream.read(Unknown Source) at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) at sun.nio.cs.StreamDecoder.implRead(Unknown Source) at sun.nio.cs.StreamDecoder.read(Unknown Source) at java.io.InputStreamReader.read(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipChar(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer._deserialize(Unknown Source) ... 39 more Ignition v7.1.4 (b5476) Java: Sun Microsystems Inc. 1.6.0_19

I read another message in the forum about this error (deserialization) but i couldn't import the window attached.

Can anybody help me and give me some clue about what happend.


The wrapper.log file in the server will have more information about this error. Can you post the the file located in C:\Program Files\Inductive Automation\Ignition\wrapper.log?


Today I replied the experiment to get the same error message. I deleted the wrapper file to read the error message only. I did all this stuff successfully but the wrapper file don’t show any message about the error. I attached it anyway. Also I attach the project (error.proj) so you can see what’s going on. Obviously the other error are because you don’t have the other project parts (database, auth profile, etc) but you can see the deserialization error on it.

thanks in advance
error.proj (1.08 MB)
wrapper.log (73.7 KB)

I am having the developers look at this issue this morning. I will post back once I know more about the window.

Can you post a backup of the project with the 4 separate windows and a detailed step-by-step for reproducing the problem from that starting point?


There you have it,

I Attached the project with 5 windows. To reproduce the error, I copied the root container of:

  • “Molienda”
  • “Despacho”
  • “Dosificacion”
  • “Abastecimiento”
    and I pasted it into “casablanca” windows. Then, I saved the project and all goes ok.

When i open the project again, show me the deserialization error message.

If I copy/paste the elements instead the root containers, the same things happens.

I also attached another project (is not a real project) that have only 1 window. There, I drew something like 1000 circles that change his color. If I select a small group, and i copy/paste having now more than 1300 circles, I reproduce the same error (saving and opening the project again). Seems like i have a limit of objects that ignition can handle on a single window.

The process of copy/paste takes a lot of time (minutes) so you need a little pacience.

error_replication.proj (320 KB)
HMI_Casablanca_Error.proj (1.63 MB)

Travis, Carl,

Do you know something new about the solution to my problem.

I keep alert to any news.


Sorry for the long wait on this issue, I’m looking into it and should have an answer tomorrow.

Thanks Carl,

By the way, this guy (viewtopic.php?f=72&t=5715) have the same problem and posted it 2 days ago.


I get this from time to time. I found that switching between design and ‘run’ mode usually clears it up.

[del]Ok, so I followed your directions and I cannot get this issue to reproduce. I have all 4 windows successfully copied into the Casablanca window and it serializes/saves/loads/opens fine. I can see from your error message that you’re running version 7.1.4. This version had a number of instabilities. Try upgrading to the latest version.[/del]

Nevermind - the error just started happening for me as well.

This is currently under investigation, stay tuned. I should have an answer either later today or tomorrow.

This has been resolved for 7.1.8. Read details here if you’re interested.

Thank you very much!