# Client Dataset Tag Error

**URL:** <https://forum.inductiveautomation.com/t/client-dataset-tag-error/95535>\
**Category:** Ignition\
**Tags:** ignition81, vision\
**Created:** [September 4, 2024, 4:21pm UTC](https://forum.inductiveautomation.com/t/client-dataset-tag-error/95535 "2024-09-04T16:21:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [September 4, 2024, 4:21pm UTC](https://forum.inductiveautomation.com/t/client-dataset-tag-error/95535/1 "2024-09-04T16:21:00Z")

</div>

I have a client dataset tag that will sometimes throw an error when I try to save the project. If I delete and re-create the tag it saves just fine. Not sure why it sometimes errors and sometimes doesn't.

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/6/765220beebeb98b46bb3ff02b3044d6956d3256e.png)

```python
com.inductiveautomation.ignition.common.xmlserialization.SerializationException: Error during serialization for property 'children' on object '[ClientTagFolder]com.inductiveautomation.factorypmi.application.sqltags.ClientTagFolder@6e9fa758'
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:153)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serialize(DefaultObjectSerializationDelegate.java:180)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:53)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializer.serialize(XMLSerializer.java:529)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializer.serializeBinary(XMLSerializer.java:510)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializer.serializeBinary(XMLSerializer.java:500)
	at com.inductiveautomation.factorypmi.designer.model.VisionDesignerImpl.serializeProjectResource(VisionDesignerImpl.java:1061)
	at com.inductiveautomation.factorypmi.designer.model.VisionDesignerImpl.synchAppToProject(VisionDesignerImpl.java:1117)
	at com.inductiveautomation.factorypmi.designer.model.VisionDesignerImpl.notifyProjectSaveStart(VisionDesignerImpl.java:626)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner.commitAll(IgnitionDesigner.java:1614)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner.handleSave(IgnitionDesigner.java:1379)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler.handleSaveAction(IgnitionDesigner.java:2836)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler$5.actionPerformed(IgnitionDesigner.java:2416)
	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 com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.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$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	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(Unknown Source)
	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 'children' on object '[ClientTagFolder]com.inductiveautomation.factorypmi.application.sqltags.ClientTagFolder@7e06f8d4'
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:153)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serialize(DefaultObjectSerializationDelegate.java:180)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:53)
	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:53)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:90)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:77)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.doProperty(DefaultObjectSerializationDelegate.java:130)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:151)
	... 49 more
Caused by: com.inductiveautomation.ignition.common.xmlserialization.SerializationException: Error during serialization for property 'children' on object '[ClientTagFolder]com.inductiveautomation.factorypmi.application.sqltags.ClientTagFolder@48074319'
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:153)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serialize(DefaultObjectSerializationDelegate.java:180)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:53)
	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:53)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:90)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:77)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.doProperty(DefaultObjectSerializationDelegate.java:130)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:151)
	... 58 more
Caused by: com.inductiveautomation.ignition.common.xmlserialization.SerializationException: Error during serialization for property 'children' on object '[ClientTagFolder]com.inductiveautomation.factorypmi.application.sqltags.ClientTagFolder@51956de'
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:153)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serialize(DefaultObjectSerializationDelegate.java:180)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:53)
	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:53)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:90)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:77)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.doProperty(DefaultObjectSerializationDelegate.java:130)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:151)
	... 67 more
Caused by: TypeError: unhashable type: 'list'

	at org.python.core.Py.TypeError(Py.java:234)
	at org.python.core.PyList.list ___hash__ (PyList.java:1017)
	at org.python.core.PyList.hashCode(PyList.java:1012)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.equalitydelegates.AbstractEqualityDelegateSupport.safeHashCode(AbstractEqualityDelegateSupport.java:30)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.equalitydelegates.EqualityDelegateSupport.safeHashCode(EqualityDelegateSupport.java:12)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.equalitydelegates.AbstractEqualityDelegateSupport.safeArrayHashCode(AbstractEqualityDelegateSupport.java:45)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.equalitydelegates.AbstractEqualityDelegateSupport.safeHashCode(AbstractEqualityDelegateSupport.java:26)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.equalitydelegates.EqualityDelegateSupport.safeHashCode(EqualityDelegateSupport.java:12)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.equalitydelegates.AbstractEqualityDelegateSupport.safeArrayHashCode(AbstractEqualityDelegateSupport.java:45)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.equalitydelegates.AbstractEqualityDelegateSupport.safeHashCode(AbstractEqualityDelegateSupport.java:26)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.equalitydelegates.EqualityDelegateSupport.safeHashCode(EqualityDelegateSupport.java:12)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.ReferenceTracker$Key.hashCode(ReferenceTracker.java:90)
	at java.base/java.util.HashMap.hash(Unknown Source)
	at java.base/java.util.HashMap.getNode(Unknown Source)
	at java.base/java.util.HashMap.get(Unknown Source)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.ReferenceTracker.track(ReferenceTracker.java:39)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:50)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeConstructor(DefaultObjectSerializationDelegate.java:227)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeConstructor(DefaultObjectSerializationDelegate.java:218)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serialize(DefaultObjectSerializationDelegate.java:176)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:53)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeConstructor(DefaultObjectSerializationDelegate.java:227)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeConstructor(DefaultObjectSerializationDelegate.java:218)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serialize(DefaultObjectSerializationDelegate.java:176)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:53)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:90)
	at com.inductiveautomation.factorypmi.designer.xmlserialization.ProjectTagDelegate.serializeProperties(ProjectTagDelegate.java:39)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serialize(DefaultObjectSerializationDelegate.java:180)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.XMLSerializationContext.serialize(XMLSerializationContext.java:53)
	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:53)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:90)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.writeCall(DefaultObjectSerializationDelegate.java:77)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.doProperty(DefaultObjectSerializationDelegate.java:130)
	at com.inductiveautomation.ignition.common.xmlserialization.serialization.DefaultObjectSerializationDelegate.serializeProperties(DefaultObjectSerializationDelegate.java:151)
	... 76 more

Ignition v8.1.38 (b2024030513)
Java: Azul Systems, Inc. 17.0.9

```

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [September 4, 2024, 4:30pm UTC](https://forum.inductiveautomation.com/t/client-dataset-tag-error/95535/2 "2024-09-04T16:30:06Z")

</div>

> [@amarks](#):
>
> ```python
> Caused by: TypeError: unhashable type: 'list'
> 
> ```

You're doing something in a script that's putting a list directly inside a dataset, as a value in a single cell.

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [September 4, 2024, 4:34pm UTC](https://forum.inductiveautomation.com/t/client-dataset-tag-error/95535/3 "2024-09-04T16:34:25Z")

</div>

ok, this might be caused by trying to write a blank dataset to it. I forgot my headers.

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [September 4, 2024, 4:45pm UTC](https://forum.inductiveautomation.com/t/client-dataset-tag-error/95535/4 "2024-09-04T16:45:38Z")

</div>

Just use [system.dataset.clearDataset | Ignition User Manual](https://docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-dataset/system-dataset-clearDataset) to clear it. Then you can't forget the headers... 😃

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [September 4, 2024, 4:47pm UTC](https://forum.inductiveautomation.com/t/client-dataset-tag-error/95535/5 "2024-09-04T16:47:14Z")

</div>

Ya, but then I have to read the dataset first, which I'm not currently doing.

This is just as easy.

```python
headers = ['Value','Label']
blankData = []
blankDataset = system.dataset.toDataSet(headers, blankData)

```

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [September 4, 2024, 4:48pm UTC](https://forum.inductiveautomation.com/t/client-dataset-tag-error/95535/6 "2024-09-04T16:48:20Z")

</div>

Fair enough. 😃
