Tag folder missing in tag browser

build: b2019022002
os: win 10 pro

Today I noticed the tag folder was missing from the tag browser.:thinking:
image

I attempted to create a tag via script console:

> Java Traceback:
> Traceback (most recent call last):
>   File "<buffer>", line 7, in <module>
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:341)
> 
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:315)
> 
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:268)
> 
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:905)
> 
> 	at com.inductiveautomation.ignition.client.script.ClientTagUtilities.saveTagConfigs(ClientTagUtilities.java:100)
> 
> 	at com.inductiveautomation.ignition.common.script.builtin.AbstractTagUtilities.configure(AbstractTagUtilities.java:198)
> 
> 	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: Provider not found: null
> 
> 
> 	at org.python.core.Py.JavaError(Py.java:552)
> 
> 	at com.inductiveautomation.ignition.client.script.ClientTagUtilities.saveTagConfigs(ClientTagUtilities.java:103)
> 
> 	at com.inductiveautomation.ignition.common.script.builtin.AbstractTagUtilities.configure(AbstractTagUtilities.java:198)
> 
> 	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:453)
> 
> 	at org.python.core.PyObject.__call__(PyObject.java:515)
> 
> 	at org.python.core.PyObject.__call__(PyObject.java:519)
> 
> 	at org.python.pycode._pyx23.f$0(<buffer>:7)
> 
> 	at org.python.pycode._pyx23.call_function(<buffer>)
> 
> 	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 org.python.util.InteractiveInterpreter.runsource(InteractiveInterpreter.java:116)
> 
> 	at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$InterpreterWorker.doInBackground(JythonConsole.java:474)
> 
> 	at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$InterpreterWorker.doInBackground(JythonConsole.java:462)
> 
> 	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: Provider not found: null
> 
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:341)
> 
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:315)
> 
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:268)
> 
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:905)
> 
> 	at com.inductiveautomation.ignition.client.script.ClientTagUtilities.saveTagConfigs(ClientTagUtilities.java:100)
> 
> 	... 26 more
> 
> Caused by: java.lang.IllegalArgumentException: Provider not found: null
> 
> 	at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.TagProviderRpc.getTagProvider(TagProviderRpc.java:285)
> 
> 	at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.TagProviderRpc.saveTagConfigs(TagProviderRpc.java:136)
> 
> 	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 
> 	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(null)
> 
> 	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(null)
> 
> 	at java.lang.reflect.Method.invoke(null)
> 
> 	at com.inductiveautomation.ignition.gateway.servlets.gateway.AbstractGatewayFunction.invoke(AbstractGatewayFunction.java:225)
> 
> 	at com.inductiveautomation.ignition.gateway.servlets.Gateway.doPost(Gateway.java:409)
> 
> 	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.handle(ServletHolder.java:852)
> 
> 	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
> 
> 	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.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> 
> 	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
> 
> 	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> 
> 	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
> 
> 	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
> 
> 	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
> 
> 	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> 
> 	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> 
> 	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
> 
> 	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
> 
> 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> 
> 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> 
> 	at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
> 
> 	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)
> 
> 	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
> 
> 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> 
> 	at org.eclipse.jetty.server.Server.handle(Server.java:530)
> 
> 	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:347)
> 
> 	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:256)
> 
> 	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
> 
> 	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
> 
> 	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
> 
> 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
> 
> 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
> 
> 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
> 
> 	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:382)
> 
> 	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
> 
> 	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
> 
> 	at java.lang.Thread.run(null)
> 
> Traceback (most recent call last):
>   File "<buffer>", line 7, in <module>
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:341)
> 
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:315)
> 
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:268)
> 
> 	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:905)
> 
> 	at com.inductiveautomation.ignition.client.script.ClientTagUtilities.saveTagConfigs(ClientTagUtilities.java:100)
> 
> 	at com.inductiveautomation.ignition.common.script.builtin.AbstractTagUtilities.configure(AbstractTagUtilities.java:198)
> 
> 	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: Provider not found: null

gateway logs threw Function invocation exception message:

> |functions|21Feb2019 07:54:57|Function invocation exception.|
> | --- | --- | --- |
> |java.lang.IllegalArgumentException: Provider not found: null
> at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.TagProviderRpc.getTagProvider(TagProviderRpc.java:285)
> at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.TagProviderRpc.saveTagConfigs(TagProviderRpc.java:136)
> 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 com.inductiveautomation.ignition.gateway.servlets.gateway.AbstractGatewayFunction.invoke(AbstractGatewayFunction.java:225)
> at com.inductiveautomation.ignition.gateway.servlets.Gateway.doPost(Gateway.java:409)
> 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.handle(ServletHolder.java:852)
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
> 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.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
> at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
> at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)
> at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at org.eclipse.jetty.server.Server.handle(Server.java:530)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:347)
> at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:256)
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
> at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
> at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
> at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
> at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:382)
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
> at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
> at java.base/java.lang.Thread.run(Unknown Source)|

Do you have any tag providers configured? (check in the gateway config area)

The default one still exists. I also created a new one to test with no difference.

Does the project have a default tag provider configured?

That did it, thanks Kevin.
Are tags project scope instead of gateway scope or is this another undocumented feature?

Tags are gateway scope and projects have always had a default provider setting. I’m not sure why yours suddenly became un-set though.

I imported a project (Cards.proj) that was posted in the Ignition 8 beta forums. I suspect that user has a different tag provider default then the “default”.

That would do it!

Coincidentally, there is work pending review to make things behave a little better when the project’s tag provider is missing or undefined.

1 Like

Sweet. Thanks for the snappy replies.