I’m trying to use system.tag.exportTags to export some datasets. At first, these datasets were very large, but I made my script batch them into as small as 50 rows/2 columns each containing strings, which should be light enough to handle. I am using system.tag.exportTags to export them to a file, but on the 2nd iteration, I get a StackOverflowError. I get this if I just try to export some datasets from the tag browser. Shouldn’t it be able to handle ~100 strings in an export?
UPDATE: I can’t even export a dataset with 5 rows, 2 columns.
IOException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Error executing gateway function.
caused by GatewayException: Error executing gateway function.
caused by StackOverflowError
Original Error Message:
Ignition v8.1.0 (b2020110211)
Java: Azul Systems, Inc. 11.0.7
Jython 2.7.1 (default:0df7adb1b397, Jun 30 2017, 19:02:43)
[OpenJDK 64-Bit Server VM (Azul Systems, Inc.)] on java11.0.7
Datasets generated
writing Analog Setpoint datasets to: [162Edge]/Setpoints/162AnalogSetpoints1
Writing tag to: C:\SetpointBackups\162AnalogSetpoints1
Datasets generated
writing Alarm Setpoint datasets to: [162Edge]/Setpoints/162AlarmSetpoints1
Writing tag to: C:\SetpointBackups\162AlarmSetpoints1
Java Traceback:
Traceback (most recent call last):
File "<input>", line 148, in <module>
File "<input>", line 125, in BackupSetpointsFull
File "<input>", line 59, in browseTags
File "<input>", line 59, in browseTags
File "<input>", line 59, in browseTags
File "<input>", line 59, in browseTags
File "<input>", line 120, in browseTags
File "<input>", line 34, in writeToDataSet
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:359)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:333)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:286)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:942)
at com.inductiveautomation.ignition.client.script.ClientTagUtilities.exportInternal(ClientTagUtilities.java:297)
at com.inductiveautomation.ignition.common.script.builtin.AbstractTagUtilities.exportTags(AbstractTagUtilities.java:440)
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)
com.inductiveautomation.ignition.client.gateway_interface.GatewayException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Error executing gateway function.
at org.python.core.Py.JavaError(Py.java:552)
at org.python.core.Py.JavaError(Py.java:543)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:190)
at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction.__call__(ScriptManager.java:523)
at org.python.core.PyObject.__call__(PyObject.java:515)
at org.python.core.PyObject.__call__(PyObject.java:519)
at org.python.pycode._pyx57.writeToDataSet$1(<input>:34)
at org.python.pycode._pyx57.call_function(<input>)
at org.python.core.PyTableCode.call(PyTableCode.java:171)
at org.python.core.PyBaseCode.call(PyBaseCode.java:189)
at org.python.core.PyFunction.__call__(PyFunction.java:446)
at org.python.pycode._pyx57.browseTags$3(<input>:63)
at org.python.pycode._pyx57.call_function(<input>)
at org.python.core.PyTableCode.call(PyTableCode.java:171)
at org.python.core.PyBaseCode.call(PyBaseCode.java:154)
at org.python.core.PyFunction.__call__(PyFunction.java:423)
at org.python.pycode._pyx57.browseTags$3(<input>:63)
at org.python.pycode._pyx57.call_function(<input>)
at org.python.core.PyTableCode.call(PyTableCode.java:171)
at org.python.core.PyBaseCode.call(PyBaseCode.java:154)
at org.python.core.PyFunction.__call__(PyFunction.java:423)
at org.python.pycode._pyx57.browseTags$3(<input>:63)
at org.python.pycode._pyx57.call_function(<input>)
at org.python.core.PyTableCode.call(PyTableCode.java:171)
at org.python.core.PyBaseCode.call(PyBaseCode.java:154)
at org.python.core.PyFunction.__call__(PyFunction.java:423)
at org.python.pycode._pyx57.browseTags$3(<input>:63)
at org.python.pycode._pyx57.call_function(<input>)
at org.python.core.PyTableCode.call(PyTableCode.java:171)
at org.python.core.PyBaseCode.call(PyBaseCode.java:154)
at org.python.core.PyFunction.__call__(PyFunction.java:423)
at org.python.pycode._pyx57.browseTags$3(<input>:63)
at org.python.pycode._pyx57.call_function(<input>)
at org.python.core.PyTableCode.call(PyTableCode.java:171)
at org.python.core.PyBaseCode.call(PyBaseCode.java:308)
at org.python.core.PyFunction.function___call__(PyFunction.java:471)
at org.python.core.PyFunction.__call__(PyFunction.java:466)
at org.python.pycode._pyx57.BackupSetpointsFull$2(<input>:146)
at org.python.pycode._pyx57.call_function(<input>)
at org.python.core.PyTableCode.call(PyTableCode.java:171)
at org.python.core.PyBaseCode.call(PyBaseCode.java:171)
at org.python.core.PyFunction.__call__(PyFunction.java:434)
at org.python.pycode._pyx57.f$0(<input>:148)
at org.python.pycode._pyx57.call_function(<input>)
at org.python.core.PyTableCode.call(PyTableCode.java:171)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1614)
at org.python.core.Py.exec(Py.java:1658)
at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:276)
at org.python.util.InteractiveInterpreter.runcode(InteractiveInterpreter.java:131)
at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:605)
at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:593)
at java.desktop/javax.swing.SwingWorker$1.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.desktop/javax.swing.SwingWorker.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Error executing gateway function.
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:359)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:333)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:286)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:942)
at com.inductiveautomation.ignition.client.script.ClientTagUtilities.exportInternal(ClientTagUtilities.java:297)
at com.inductiveautomation.ignition.common.script.builtin.AbstractTagUtilities.exportTags(AbstractTagUtilities.java:440)
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.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:188)
... 55 more
Caused by: java.lang.StackOverflowError
at java.lang.Class.privateGetPublicMethods(null)
at java.lang.Class.getMethods(null)
at org.json.JSONObject.populateMap(JSONObject.java:846)
at org.json.JSONObject.<init>(JSONObject.java:259)
at org.json.JSONObject.wrap(JSONObject.java:1460)
at org.json.JSONObject.populateMap(JSONObject.java:873)
at org.json.JSONObject.<init>(JSONObject.java:259)
at org.json.JSONObject.wrap(JSONObject.java:1460)
at org.json.JSONObject.populateMap(JSONObject.java:873)
at org.json.JSONObject.<init>(JSONObject.java:259)
at org.json.JSONObject.wrap(JSONObject.java:1460)
at org.json.JSONObject.populateMap(JSONObject.java:873)
at org.json.JSONObject.<init>(JSONObject.java:259)
at org.json.JSONObject.wrap(JSONObject.java:1460)
at org.json.JSONObject.populateMap(JSONObject.java:873)
at org.json.JSONObject.<init>(JSONObject.java:259)
........
at org.json.JSONObject.populateMap(JSONObject.java:873)
at org.json.JSONObject.<init>(JSONObject.java:259)
Traceback (most recent call last):
File "<input>", line 148, in <module>
File "<input>", line 125, in BackupSetpointsFull
File "<input>", line 59, in browseTags
File "<input>", line 59, in browseTags
File "<input>", line 59, in browseTags
File "<input>", line 59, in browseTags
File "<input>", line 120, in browseTags
File "<input>", line 34, in writeToDataSet
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:359)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:333)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:286)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:942)
at com.inductiveautomation.ignition.client.script.ClientTagUtilities.exportInternal(ClientTagUtilities.java:297)
at com.inductiveautomation.ignition.common.script.builtin.AbstractTagUtilities.exportTags(AbstractTagUtilities.java:440)
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)
com.inductiveautomation.ignition.client.gateway_interface.GatewayException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Error executing gateway function.