We’ve installed the MQTT Transmission module (trial mode) but it is generating an immense amount of log errors. I’ve disabled the example transmitter and deleted the default broker. Despite these measures the errors still come in constantly, and there are a wide variety of them. How can we stop these until we have a chance to get the module dialed in?
Good morning Bush,
To reduce the amount of Transmission log entries you can disable Transmission (at the Config → MQTT Transmission → Settings → General tab) and this should quite those entries.
You can also turn the specific logger level to “OFF” (from the Status → Diagnostic → Logs) during those moments you don’t want the additional ‘noise’ of a log entry.
Regards,
Daniel
Dan, thank you for the reply. I did what you advised and the error messages did not stop flowing. I have uninstalled the MQTT Transmission module and they are still coming! See below:
Full text of one of those errors is below.
java.util.concurrent.RejectedExecutionException: event executor terminated
at org.python.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:926)
at org.python.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:353)
at org.python.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:346)
at org.python.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:828)
at org.python.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:818)
at org.python.netty.channel.AbstractChannel$AbstractUnsafe.register(AbstractChannel.java:471)
at org.python.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:87)
at org.python.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:81)
at org.python.netty.channel.MultithreadEventLoopGroup.register(MultithreadEventLoopGroup.java:86)
at org.python.netty.bootstrap.AbstractBootstrap.initAndRegister(AbstractBootstrap.java:315)
at org.python.netty.bootstrap.AbstractBootstrap.doBind(AbstractBootstrap.java:264)
at org.python.netty.bootstrap.AbstractBootstrap.bind(AbstractBootstrap.java:260)
at jdk.internal.reflect.GeneratedMethodAccessor313.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:190)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:208)
at org.python.core.PyObject.__call__(PyObject.java:477)
at org.python.core.PyObject.__call__(PyObject.java:481)
at org.python.core.PyMethod.__call__(PyMethod.java:141)
at _socket$py._connect$79(C:/Program Files/Inductive Automation/Ignition/user-lib/pylib/_socket.py:912)
at _socket$py.call_function(C:/Program Files/Inductive Automation/Ignition/user-lib/pylib/_socket.py)
at org.python.core.PyTableCode.call(PyTableCode.java:173)
at org.python.core.PyBaseCode.call(PyBaseCode.java:150)
at org.python.core.PyFunction.__call__(PyFunction.java:426)
at org.python.core.PyMethod.__call__(PyMethod.java:141)
at _socket$py.connect$82(C:/Program Files/Inductive Automation/Ignition/user-lib/pylib/_socket.py:938)
at _socket$py.call_function(C:/Program Files/Inductive Automation/Ignition/user-lib/pylib/_socket.py)
at org.python.core.PyTableCode.call(PyTableCode.java:173)
at org.python.core.PyBaseCode.call(PyBaseCode.java:306)
at org.python.core.PyBaseCode.call(PyBaseCode.java:197)
at org.python.core.PyFunction.__call__(PyFunction.java:485)
at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237)
at org.python.core.PyMethod.__call__(PyMethod.java:228)
at org.python.core.PyMethod.__call__(PyMethod.java:223)
at org.python.core.PyObject._callextra(PyObject.java:589)
at _socket$py.meth$121(C:/Program Files/Inductive Automation/Ignition/user-lib/pylib/_socket.py:1443)
at _socket$py.call_function(C:/Program Files/Inductive Automation/Ignition/user-lib/pylib/_socket.py)
at org.python.core.PyTableCode.call(PyTableCode.java:173)
at org.python.core.PyBaseCode.call(PyBaseCode.java:306)
at org.python.core.PyFunction.function___call__(PyFunction.java:474)
at org.python.core.PyFunction.__call__(PyFunction.java:469)
at org.python.core.PyFunction.__call__(PyFunction.java:464)
at org.python.modules._functools.PyPartial.partial___call__(PyPartial.java:125)
at org.python.modules._functools.PyPartial.__call__(PyPartial.java:80)
at org.python.core.PyObject.__call__(PyObject.java:477)
at org.python.core.PyObject.__call__(PyObject.java:481)
at org.python.core.PyMethod.__call__(PyMethod.java:141)
at org.python.pycode._pyx40331.valueChanged$1(:365)
at org.python.pycode._pyx40331.call_function()
at org.python.core.PyTableCode.call(PyTableCode.java:173)
at org.python.core.PyBaseCode.call(PyBaseCode.java:306)
at org.python.core.PyFunction.function___call__(PyFunction.java:474)
at org.python.core.PyFunction.__call__(PyFunction.java:469)
at org.python.core.PyFunction.__call__(PyFunction.java:464)
at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:847)
at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:829)
at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runFunction(ProjectScriptLifecycle.java:852)
at com.inductiveautomation.ignition.gateway.tags.scripting.TagScriptManagerImpl$FunctionInvokerImpl.run(TagScriptManagerImpl.java:533)
at com.inductiveautomation.ignition.gateway.tags.scripting.events.AbstractTagScript.invoke(AbstractTagScript.java:34)
at com.inductiveautomation.ignition.gateway.tags.scripting.TagScriptManagerImpl$Task.invoke(TagScriptManagerImpl.java:482)
at com.inductiveautomation.ignition.gateway.tags.scripting.TagScriptManagerImpl$TagScriptDispatcher.run(TagScriptManagerImpl.java:445)
at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:544)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.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)
In the meantime I have gone through and set these specific log messages to ‘OFF’ in the settings. We were getting what felt like hundreds of these a minute, even causing the SQLite logging database to max out and throw its own set of errors.
What version of Transmission is this? There were some known thread leaks in older versions that have been resolved. I’d recommend updating to the latest and restarting Ignition. The compatibility matrix is here: Ignition Compatibility with Cirrus Link Modules - MQTT Modules for Ignition 8.x - Confluence
We installed v4.0.18 of the Transmission module on a v8.1.32 Ignition gateway. Nothing seems out of place when looking at the compatibility matrix. But I might try a more recent version of the module next time around; it looks like there is a broad compatibility between the two.