Problem deleting part of a Startup script

I am trying to delete part of a client startup script. When I delete several lines then try to apply I get “Error serializing script configuration” The details are:
SerializationException: Error during serialization for property ‘tagChangeScripts’ on object ‘[ClientScriptConfig]com.inductiveautomation.factorypmi.application.script.ClientScriptConfig@5820fd86’
caused by SerializationException: Error during serialization for property ‘changeTypes’ on object ‘[TagChangeScript]com.inductiveautomation.ignition.common.script.TagChangeScript@4e719a32’
caused by SerializationException: Unable to detect enum set key type.
caused by InaccessibleObjectException: Unable to make field final java.lang.Class java.util.EnumSet.elementType accessible: module java.base does not “opens java.util” to unnamed module @7b0c9c11

Ignition v7.9.7 (b2018032914)
Java: Oracle Corporation 9.0.4

Any suggestions??

1 Like

I am having a similar problem. Anytime I try to add, change, or remove a script I get this “Error during serialization for property” exception. Any updates on this?

This looks like an issue with our Java 9 compatibility - Java 9 introduced strict modularity, which is the most dramatic change Java’s made in terms of backwards compatibility in a long while. We’re actively working on fixes for this for 7.9.10.

Is there an intermediate solution we can try until 7.9.10 is available?

FWI I have tried switching to jre 1.8 and 10, and have the same issue on both

Are you sure you successfully switched and launched with JRE 8? Can you post the exact error message and stack trace you get?

The full error message I get is “Error serializing script configuration”. The full stack is below. Let me know if I’m not providing enough info.

com.inductiveautomation.ignition.common.xmlserialization.SerializationException: Error during serialization for property 'tagChangeScripts' on object '[ScriptConfig]com.inductiveautomation.ignition.common.script.ScriptConfig@625dd235'
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:302)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serialize(DefaultObjectSerializationDelegate.java:327)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:49)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializer.serialize(XMLSerializer.java:515)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializer.serializeBinary(XMLSerializer.java:495)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializer.serializeBinary(XMLSerializer.java:485)
	at com.inductiveautomation.ignition.designer.scripteditor.GlobalScriptEditor.serialize(GlobalScriptEditor.java:180)
	at com.inductiveautomation.ignition.designer.scripteditor.GlobalScriptEditor$Dialog.doApply(GlobalScriptEditor.java:204)
	at com.inductiveautomation.ignition.designer.gui.AbstractMultiPageDialogPane.doOk(AbstractMultiPageDialogPane.java:85)
	at com.inductiveautomation.ignition.designer.gui.AbstractMultiPageDialogPane$1.actionPerformed(AbstractMultiPageDialogPane.java:55)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
	at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue.access$600(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.common.xmlserialization.SerializationException: Error during serialization for property 'changeTypes' on object '[TagChangeScript]com.inductiveautomation.ignition.common.script.TagChangeScript@47bdea34'
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:302)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serialize(DefaultObjectSerializationDelegate.java:327)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:49)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.delegates.ArrayListDelegate.serialize(ArrayListDelegate.java:23)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.delegates.ArrayListDelegate.serialize(ArrayListDelegate.java:17)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:49)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:234)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:221)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.doProperty(DefaultObjectSerializationDelegate.java:278)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:300)
	... 45 more
Caused by: com.inductiveautomation.ignition.common.xmlserialization.SerializationException: Unable to detect enum set key type.
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.delegates.EnumSetDelegate.serialize(EnumSetDelegate.java:36)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.delegates.EnumSetDelegate.serialize(EnumSetDelegate.java:20)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:49)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:234)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:221)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.doProperty(DefaultObjectSerializationDelegate.java:278)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:300)
	... 54 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field final transient java.lang.Class java.util.EnumSet.elementType accessible: module java.base does not "opens java.util" to unnamed module @46dfa983
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Unknown Source)
	at java.base/java.lang.reflect.Field.setAccessible(Unknown Source)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.delegates.EnumSetDelegate.serialize(EnumSetDelegate.java:33)
	... 60 more

Ignition v7.9.8 (b2018060714)
Java: Oracle Corporation 10.0.1

Right, and at the bottom:

Ignition v7.9.8 (b2018060714)
Java: Oracle Corporation 10.0.1

You may need to uninstall 9 and 10 to make sure you are launching with 8.

1 Like

That did it. I thought I had disabled java 10, but uninstalling it definitely did the trick. Thanks for your help!

1 Like