Deserializing resource failed for WebDev module in Debian

Hi,

I have recently installed the WebDev module to try and develop an HTML based mobile app for a project in Ignition.

I have two testing environments set up, a Windows 7 gateway running Ignition 7.8.4, and a Debian gateway running Ignition 7.8.4.

My WebDev directory contains a couple of HTML pages, a jquery.js source for scripting and some python resources for server side code.

Everything is running fine on my Windows 7 gateway, but when I copy the exact same files over to my Debian gateway i get a error in the gateway console as follows:

ERROR	11:24:02 AM	Dispatch	Deserializing resource failed.
 	
java.lang.NullPointerException
at com.inductiveautomation.webdev.gateway.handlers.PythonResourceHandler.<init>(PythonResourceHandler.java:125)
at com.inductiveautomation.webdev.gateway.servlets.WebDevDispatch$ProjectDispatcher$1.load(WebDevDispatch.java:336)
at com.inductiveautomation.webdev.gateway.servlets.WebDevDispatch$ProjectDispatcher$1.load(WebDevDispatch.java:272)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
at com.inductiveautomation.webdev.gateway.servlets.WebDevDispatch$ProjectDispatcher.get(WebDevDispatch.java:366)
at com.inductiveautomation.webdev.gateway.servlets.WebDevDispatch.doGet(WebDevDispatch.java:132)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:85)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:837)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:518)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
at java.lang.Thread.run(Thread.java:745)

This occurs when i try and execute an Ajax GET method.

I have spent about a day trying to get to the bottom of it, and I am fairly sure its not an issue with my code or syntax, as the exact same resources are working in my Windows 7 gateway.

The strange thing is, I had an earlier version of the same code working on my Debian gateway. And i can’t recall any changes i could have done to affect the gateway.

I’m pretty new to WebDev stuff so any help would be much appreciated.

At first glance this looks like it has to be a bug on our side somewhere, but I’m not super familiar with the webdev codebase so I’m not certain what it is.

Is there a difference between the two gateways in staging vs published project setup or anything like that?

Hi Kevin,

No I don’t use staging/published versions. Always just push out the latest version.

I seem to get the same error when I go to Web Dev section and try “Import Text Resource”, such as a .css file.
So it seems to be an underlying issue with simply interpreting/reading the files. Not specific to my jquery.js file.

I also get a “NullPointerException” error when trying to save/publish a newly imported Web Dev resource.

The project isn’t disabled by any chance, is it?

ah… yes it was disabled… the Win7 one was not… So that has fixed the run time issue. Thanks, good catch!

There is still something funny going on when importing resources though. Still giving a deserialization error when importing text file such as a .css file. This isnt reported in the gateway console, just a popup error in the designer.

This seems to be avoided by creating a new “Text Resource” and copying in the text.