# Issues with scripts and missing projects on gateway restore

**URL:** <https://forum.inductiveautomation.com/t/issues-with-scripts-and-missing-projects-on-gateway-restore/37698>\
**Category:** Ignition Early Access\
**Created:** [August 12, 2020, 4:57pm UTC](https://forum.inductiveautomation.com/t/issues-with-scripts-and-missing-projects-on-gateway-restore/37698 "2020-08-12T16:57:36Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![YF129701](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/yf129701/32/60498_2.png) [@YF129701](https://forum.inductiveautomation.com/u/YF129701)\
**Post date:** [August 12, 2020, 4:57pm UTC](https://forum.inductiveautomation.com/t/issues-with-scripts-and-missing-projects-on-gateway-restore/37698/1 "2020-08-12T16:57:36Z")

</div>

We also upgraded from 8.0.15 to 8.0.16RC1 and a bunch of our scripts were broken (one of the error messages was `Failed to read class descriptor`). We tried to restore the 8.0.15 gateway backup, but a lot of our projects were missing when the gateway was started. We tried restoring a few times and each time there were missing projects, even though they were in the `data/projects` folder. We rebooted our server and restored again, and everything is back to normal.

I wouldn’t upgrade to 8.0.16RC yet for a production system.

---

<div class="post-metadata">

**Author:** ![James.Lorenz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/james.lorenz/32/3290_2.png) [@James.Lorenz](https://forum.inductiveautomation.com/u/James.Lorenz)\
**Post date:** [August 13, 2020, 7:32pm UTC](https://forum.inductiveautomation.com/t/issues-with-scripts-and-missing-projects-on-gateway-restore/37698/2 "2020-08-13T19:32:02Z")

</div>

Starting with the scripts issue, which scripts are you referring to? Project scripts? Event scripts? Also, where is that error message coming from, the client logs?

In regards to the missing projects, missing where? The project selection screen when opening a designer? The projects page on the gateway?

---

<div class="post-metadata">

**Author:** ![YF129701](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/yf129701/32/60498_2.png) [@YF129701](https://forum.inductiveautomation.com/u/YF129701)\
**Post date:** [August 17, 2020, 5:06pm UTC](https://forum.inductiveautomation.com/t/issues-with-scripts-and-missing-projects-on-gateway-restore/37698/3 "2020-08-17T17:06:26Z")

</div>

Project scripts (the one that seemed to trigger the error `Failed to read class descriptor` was `system.db.runPrepQuery`). The errors were coming from the designer, in a red messagebox.

The projects were missing on the project selection screen when opening the designer.

This was a few days ago, so I don’t remember much besides what I added above.

---

<div class="post-metadata">

**Author:** ![James.Lorenz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/james.lorenz/32/3290_2.png) [@James.Lorenz](https://forum.inductiveautomation.com/u/James.Lorenz)\
**Post date:** [August 17, 2020, 6:39pm UTC](https://forum.inductiveautomation.com/t/issues-with-scripts-and-missing-projects-on-gateway-restore/37698/4 "2020-08-17T18:39:03Z")

</div>

Thanks for the response. Would you be able to provide a gateway backup? I’m can’t reproduce either of those issues, but I may be missing something in my set up.

---

<div class="post-metadata">

**Author:** ![jasoncoope](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jasoncoope/32/18674_2.png) [@jasoncoope](https://forum.inductiveautomation.com/u/jasoncoope)\
**Post date:** [September 1, 2020, 10:15pm UTC](https://forum.inductiveautomation.com/t/issues-with-scripts-and-missing-projects-on-gateway-restore/37698/5 "2020-09-01T22:15:33Z")

</div>

I’m having the same issue since upgrading to 8.0.16.

```auto
15:08:34.440 [AWT-EventQueue-0] ERROR Vision.Components.AdvancedTable - Error invoking extension method.
org.python.core.PyException: Traceback (most recent call last):
  File "<extension-method onCellEdited>", line 53, in onCellEdited
  File "<module:shared.Kanoa.WIP>", line 242, in updateLineProductionData
  File "<module:shared.Kanoa.WIP>", line 1184, in writeLineProductionInfoToTable
		INSERT INTO lineProductionData
		(lineType, modeColor, Site, Area, Validated, [Equipment Path], [Equipment Name], [Equipment Mode Name], [Equipment Mode Type], [Work Order], [Product Code], [Mode Begin Time], [Mode End Time], [Mode Duration], [OEE Infeed Count], [Infeed Rate], Target, Units, [Rate Efficiency], [First Quality], [Quality Status], [OEE Outfeed Count], [OEE Reject Count], [Unplanned Downtime], [Line Downtime Occurrence Count])
		VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
		, [Batch, #00FF00, Conway, Resin, true, Chemical\Conway\Resin\Reactor K1, Reactor K1, Production, Production, 0003162587, RPPC2603, Fri Jan 03 15:35:01 PST 2020, Fri Jan 03 23:04:30 PST 2020, 7.491388888888889, , , , , , 1.0, Approved, 18900, , ,], IGN_CUSTOM, , true, false)
	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.error(AbstractDBUtilities.java:362)
	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runPrepUpdate(AbstractDBUtilities.java:258)
	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)
java.lang.Exception: java.lang.Exception: Error executing system.db.runPrepUpdate(
		INSERT INTO lineProductionData
		(lineType, modeColor, Site, Area, Validated, [Equipment Path], [Equipment Name], [Equipment Mode Name], [Equipment Mode Type], [Work Order], [Product Code], [Mode Begin Time], [Mode End Time], [Mode Duration], [OEE Infeed Count], [Infeed Rate], Target, Units, [Rate Efficiency], [First Quality], [Quality Status], [OEE Outfeed Count], [OEE Reject Count], [Unplanned Downtime], [Line Downtime Occurrence Count])
		VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
		, [Batch, #00FF00, Conway, Resin, true, Chemical\Conway\Resin\Reactor K1, Reactor K1, Production, Production, 0003162587, RPPC2603, Fri Jan 03 15:35:01 PST 2020, Fri Jan 03 23:04:30 PST 2020, 7.491388888888889, , , , , , 1.0, Approved, 18900, , ,], IGN_CUSTOM, , true, false)

	at org.python.core.Py.JavaError(Py.java:552)
	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.error(AbstractDBUtilities.java:362)
	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runPrepUpdate(AbstractDBUtilities.java:258)
	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)
	at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction. __call__ (ScriptManager.java:524)
	at org.python.core.PyObject. __call__ (PyObject.java:413)
	at org.python.pycode._pyx191.writeLineProductionInfoToTable$19(<module:shared.Kanoa.WIP>:1186)
	at org.python.pycode._pyx191.call_function(<module:shared.Kanoa.WIP>)
	at org.python.core.PyTableCode.call(PyTableCode.java:171)
	at org.python.core.PyBaseCode.call(PyBaseCode.java:139)
	at org.python.core.PyFunction. __call__ (PyFunction.java:413)
	at org.python.pycode._pyx191.updateLineProductionData$2(<module:shared.Kanoa.WIP>:248)
	at org.python.pycode._pyx191.call_function(<module:shared.Kanoa.WIP>)
	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._pyx212.onCellEdited$1(<extension-method onCellEdited>:77)
	at org.python.pycode._pyx212.call_function(<extension-method onCellEdited>)
	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.core.PyFunction. __call__ (PyFunction.java:456)
	at org.python.core.PyFunction. __call__ (PyFunction.java:451)
	at com.inductiveautomation.vision.api.client.components.model.ExtensionFunction.invoke(ExtensionFunction.java:151)
	at com.inductiveautomation.factorypmi.application.components.VisionAdvancedTable$Model.setValueAt(VisionAdvancedTable.java:1799)
	at com.jidesoft.grid.TableModelWrapperImpl.setValueAt(Unknown Source)
	at com.jidesoft.grid.DefaultTableModelWrapper.setValueAt(Unknown Source)
	at com.jidesoft.grid.TableModelWrapperImpl.setValueAt(Unknown Source)
	at com.jidesoft.grid.DefaultTableModelWrapper.setValueAt(Unknown Source)
	at java.desktop/javax.swing.JTable.setValueAt(Unknown Source)
	at com.jidesoft.grid.JideTable.editingStopped(Unknown Source)
	at java.desktop/javax.swing.AbstractCellEditor.fireEditingStopped(Unknown Source)
	at java.desktop/javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(Unknown Source)
	at java.desktop/javax.swing.DefaultCellEditor.stopCellEditing(Unknown Source)
	at de.javasoft.plaf.synthetica.SyntheticaDefaultTableCellEditor.stopCellEditing(SyntheticaDefaultTableCellEditor.java:123)
	at java.desktop/javax.swing.DefaultCellEditor$EditorDelegate.actionPerformed(Unknown Source)
	at java.desktop/javax.swing.JTextField.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.JTextField.postActionEvent(Unknown Source)
	at java.desktop/javax.swing.JTextField$NotifyAction.actionPerformed(Unknown Source)
	at java.desktop/javax.swing.SwingUtilities.notifyAction(Unknown Source)
	at java.desktop/javax.swing.JComponent.processKeyBinding(Unknown Source)
	at java.desktop/javax.swing.JComponent.processKeyBindings(Unknown Source)
	at java.desktop/javax.swing.JComponent.processKeyEvent(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.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(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.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(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: java.lang.Exception: Error executing system.db.runPrepUpdate(
		INSERT INTO lineProductionData
		(lineType, modeColor, Site, Area, Validated, [Equipment Path], [Equipment Name], [Equipment Mode Name], [Equipment Mode Type], [Work Order], [Product Code], [Mode Begin Time], [Mode End Time], [Mode Duration], [OEE Infeed Count], [Infeed Rate], Target, Units, [Rate Efficiency], [First Quality], [Quality Status], [OEE Outfeed Count], [OEE Reject Count], [Unplanned Downtime], [Line Downtime Occurrence Count])
		VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
		, [Batch, #00FF00, Conway, Resin, true, Chemical\Conway\Resin\Reactor K1, Reactor K1, Production, Production, 0003162587, RPPC2603, Fri Jan 03 15:35:01 PST 2020, Fri Jan 03 23:04:30 PST 2020, 7.491388888888889, , , , , , 1.0, Approved, 18900, , ,], IGN_CUSTOM, , true, false)
	... 78 common frames omitted
Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Unable to decode arguments
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:351)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:325)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:278)
	at com.inductiveautomation.ignition.client.script.ClientDBUtilities._runPrepStmt(ClientDBUtilities.java:282)
	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runPrepUpdate(AbstractDBUtilities.java:256)
	... 76 common frames omitted
Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayResponse$GatewayThrowable: failed to read class descriptor
	at java.io.ObjectInputStream.readNonProxyDesc(null)
	at java.io.ObjectInputStream.readClassDesc(null)
	at java.io.ObjectInputStream.readOrdinaryObject(null)
	at java.io.ObjectInputStream.readObject0(null)
	at java.io.ObjectInputStream.readArray(null)
	at java.io.ObjectInputStream.readObject0(null)
	at java.io.ObjectInputStream.readObject(null)
	at java.io.ObjectInputStream.readObject(null)
	at com.inductiveautomation.ignition.common.Base64.decodeToObjectFragile(Base64.java:985)
	at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.RunPrepStmt.runUpdateQuery(RunPrepStmt.java:43)
	at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.AbstractUpdateQuery.run(AbstractUpdateQuery.java:25)
	at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.AbstractDBAction.invoke(AbstractDBAction.java:68)
	at com.inductiveautomation.ignition.gateway.servlets.Gateway.doPost(Gateway.java:414)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:86)
	at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1391)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:760)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:500)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
	at java.lang.Thread.run(null)

```

---

<div class="post-metadata">

**Author:** ![YF129701](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/yf129701/32/60498_2.png) [@YF129701](https://forum.inductiveautomation.com/u/YF129701)\
**Post date:** [September 1, 2020, 10:28pm UTC](https://forum.inductiveautomation.com/t/issues-with-scripts-and-missing-projects-on-gateway-restore/37698/6 "2020-09-01T22:28:45Z")

</div>

That is one of the errors we got as well. Also, a frustrating side-note, after we upgraded to 8.0.16 and then rolled back to 8.0.15, the SSL certificate I installed is no longer configured on the gateway, and when I try to configure SSL again, I get that the certificate cannot be verified.

---

<div class="post-metadata">

**Author:** ![AJBerera](https://avatars.discourse-cdn.com/v4/letter/a/9fc29f/32.png) [@AJBerera](https://forum.inductiveautomation.com/u/AJBerera)\
**Post date:** [November 30, 2020, 4:18pm UTC](https://forum.inductiveautomation.com/t/issues-with-scripts-and-missing-projects-on-gateway-restore/37698/7 "2020-11-30T16:18:52Z")

</div>

Same thing for me on 8.0.16

Seems like the client scope scripting errors come and go…
