• Recent
    • Tags
    • Popular
    • Register
    • Login

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website

    Serial Datasource seems to timeout...

    Mango feedback
    2
    11
    1.9k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • MattFoxM
      MattFox
      last edited by

      I've got virtual ports running and talking via the serial datasource. All worked fine until the upgrade to 3.4.5.
      Every once in a while (and we are talking as little as a few days) data stops coming through. Hardware is absolutely fine. Data is still sending, but Mango doesn't store at all...
      Have to disable and re-enable the datasource for it to accept incoming data again..,
      Any thoughts on how to prevent this would be hugely appreciated

      Fox

      Do not follow where the path may lead; go instead where there is no path.
      And leave a trail - Muriel Strode

      1 Reply Last reply Reply Quote 0
      • phildunlapP
        phildunlap
        last edited by

        Hi Fox,

        You are using a virtual serial server socket connected to a serial data source, yes?

        It is very possible there is a lingering issue with the server socket, but that code hasn't changed much.

        Offhand, I wonder what buffer size you have, and would you ever expect message bursts to be more than that buffer size?

        I will try to look into this tomorrow, but if you could confirm / provide those details it may help.

        You may also be able to get more information for us by,

        1. When it is happening, does a nc -w 10 host port timeout to the virtual serial server socket?
        2. When it is happening, grab a thread dump from /rest/v1/threads?asFile=true&stackDepth=40
        3. Does it unstick if you run (or just validate) this in a JavaScript console:
        com.serotonin.m2m2.Common.runtimeManager.getRunningDataSoure("DS_XID").serialEvent(
            new com.infiniteautomation.serial.rt.SerialDataSourceRT.TimeoutSerialEvent(new Date().getTime())
        );
        

        ?

        1 Reply Last reply Reply Quote 0
        • MattFoxM
          MattFox
          last edited by MattFox

          Oh shoot, it's not just the virtual, this one I've had the latest error was connecting to the supplied /dev/ttymUSB1

          Your thread dump:

          [ {
            "id" : 2,
            "priority" : 10,
            "name" : "Reference Handler",
            "cpuTime" : 4616465195,
            "userTime" : 2550000000,
            "lockInfo" : {
              "className" : "java.lang.ref.Reference$Lock",
              "identityHashCode" : 27663816
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : -2,
              "className" : "java.lang.Object",
              "nativeMethod" : true
            }, {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : 502,
              "className" : "java.lang.Object",
              "nativeMethod" : false
            }, {
              "methodName" : "tryHandlePending",
              "fileName" : "Reference.java",
              "lineNumber" : 191,
              "className" : "java.lang.ref.Reference",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Reference.java",
              "lineNumber" : 153,
              "className" : "java.lang.ref.Reference$ReferenceHandler",
              "nativeMethod" : false
            } ],
            "state" : "WAITING"
          }, {
            "id" : 3,
            "priority" : 8,
            "name" : "Finalizer",
            "cpuTime" : 2190251363,
            "userTime" : 2170000000,
            "lockInfo" : {
              "className" : "java.lang.ref.ReferenceQueue$Lock",
              "identityHashCode" : 1383578
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : -2,
              "className" : "java.lang.Object",
              "nativeMethod" : true
            }, {
              "methodName" : "remove",
              "fileName" : "ReferenceQueue.java",
              "lineNumber" : 143,
              "className" : "java.lang.ref.ReferenceQueue",
              "nativeMethod" : false
            }, {
              "methodName" : "remove",
              "fileName" : "ReferenceQueue.java",
              "lineNumber" : 164,
              "className" : "java.lang.ref.ReferenceQueue",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Finalizer.java",
              "lineNumber" : 209,
              "className" : "java.lang.ref.Finalizer$FinalizerThread",
              "nativeMethod" : false
            } ],
            "state" : "WAITING"
          }, {
            "id" : 4,
            "priority" : 9,
            "name" : "Signal Dispatcher",
            "cpuTime" : 168084,
            "userTime" : 0,
            "lockInfo" : null,
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ ],
            "state" : "RUNNABLE"
          }, {
            "id" : 18561,
            "priority" : 10,
            "name" : "Java2D Disposer",
            "cpuTime" : 720083,
            "userTime" : 0,
            "lockInfo" : {
              "className" : "java.lang.ref.ReferenceQueue$Lock",
              "identityHashCode" : 22024846
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : -2,
              "className" : "java.lang.Object",
              "nativeMethod" : true
            }, {
              "methodName" : "remove",
              "fileName" : "ReferenceQueue.java",
              "lineNumber" : 143,
              "className" : "java.lang.ref.ReferenceQueue",
              "nativeMethod" : false
            }, {
              "methodName" : "remove",
              "fileName" : "ReferenceQueue.java",
              "lineNumber" : 164,
              "className" : "java.lang.ref.ReferenceQueue",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Disposer.java",
              "lineNumber" : 148,
              "className" : "sun.java2d.Disposer",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Thread.java",
              "lineNumber" : 748,
              "className" : "java.lang.Thread",
              "nativeMethod" : false
            } ],
            "state" : "WAITING"
          }, {
            "id" : 9,
            "priority" : 5,
            "name" : "AsyncAppender-async",
            "cpuTime" : 753543329,
            "userTime" : 690000000,
            "lockInfo" : {
              "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
              "identityHashCode" : 1206695
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "park",
              "fileName" : "Unsafe.java",
              "lineNumber" : -2,
              "className" : "sun.misc.Unsafe",
              "nativeMethod" : true
            }, {
              "methodName" : "park",
              "fileName" : "LockSupport.java",
              "lineNumber" : 175,
              "className" : "java.util.concurrent.locks.LockSupport",
              "nativeMethod" : false
            }, {
              "methodName" : "await",
              "fileName" : "AbstractQueuedSynchronizer.java",
              "lineNumber" : 2039,
              "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
              "nativeMethod" : false
            }, {
              "methodName" : "take",
              "fileName" : "ArrayBlockingQueue.java",
              "lineNumber" : 403,
              "className" : "java.util.concurrent.ArrayBlockingQueue",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "AsyncAppender.java",
              "lineNumber" : 403,
              "className" : "org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread",
              "nativeMethod" : false
            } ],
            "state" : "WAITING"
          }, {
            "id" : 17,
            "priority" : 3,
            "name" : "qtp1360975-17-acceptor-0@14f080a-ServerConnector@188f413{HTTP/1.1,[http/1.1, h2c, h2c-17, h2c-16, h2c-15, h2c-14]}{0.0.0.0:80}",
            "cpuTime" : 58605495,
            "userTime" : 50000000,
            "lockInfo" : null,
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "accept0",
              "fileName" : "ServerSocketChannelImpl.java",
              "lineNumber" : -2,
              "className" : "sun.nio.ch.ServerSocketChannelImpl",
              "nativeMethod" : true
            }, {
              "methodName" : "accept",
              "fileName" : "ServerSocketChannelImpl.java",
              "lineNumber" : 422,
              "className" : "sun.nio.ch.ServerSocketChannelImpl",
              "nativeMethod" : false
            }, {
              "methodName" : "accept",
              "fileName" : "ServerSocketChannelImpl.java",
              "lineNumber" : 250,
              "className" : "sun.nio.ch.ServerSocketChannelImpl",
              "nativeMethod" : false
            }, {
              "methodName" : "accept",
              "fileName" : "ServerConnector.java",
              "lineNumber" : 397,
              "className" : "org.eclipse.jetty.server.ServerConnector",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "AbstractConnector.java",
              "lineNumber" : 601,
              "className" : "org.eclipse.jetty.server.AbstractConnector$Acceptor",
              "nativeMethod" : false
            }, {
              "methodName" : "runJob",
              "fileName" : "QueuedThreadPool.java",
              "lineNumber" : 671,
              "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "QueuedThreadPool.java",
              "lineNumber" : 589,
              "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool$2",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Thread.java",
              "lineNumber" : 748,
              "className" : "java.lang.Thread",
              "nativeMethod" : false
            } ],
            "state" : "RUNNABLE"
          }, {
            "id" : 22,
            "priority" : 5,
            "name" : "qtp1360975-22",
            "cpuTime" : 99021203767,
            "userTime" : 89530000000,
            "lockInfo" : null,
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "epollWait",
              "fileName" : "EPollArrayWrapper.java",
              "lineNumber" : -2,
              "className" : "sun.nio.ch.EPollArrayWrapper",
              "nativeMethod" : true
            }, {
              "methodName" : "poll",
              "fileName" : "EPollArrayWrapper.java",
              "lineNumber" : 269,
              "className" : "sun.nio.ch.EPollArrayWrapper",
              "nativeMethod" : false
            }, {
              "methodName" : "doSelect",
              "fileName" : "EPollSelectorImpl.java",
              "lineNumber" : 93,
              "className" : "sun.nio.ch.EPollSelectorImpl",
              "nativeMethod" : false
            }, {
              "methodName" : "lockAndDoSelect",
              "fileName" : "SelectorImpl.java",
              "lineNumber" : 86,
              "className" : "sun.nio.ch.SelectorImpl",
              "nativeMethod" : false
            }, {
              "methodName" : "select",
              "fileName" : "SelectorImpl.java",
              "lineNumber" : 97,
              "className" : "sun.nio.ch.SelectorImpl",
              "nativeMethod" : false
            }, {
              "methodName" : "select",
              "fileName" : "SelectorImpl.java",
              "lineNumber" : 101,
              "className" : "sun.nio.ch.SelectorImpl",
              "nativeMethod" : false
            }, {
              "methodName" : "select",
              "fileName" : "ManagedSelector.java",
              "lineNumber" : 243,
              "className" : "org.eclipse.jetty.io.ManagedSelector$SelectorProducer",
              "nativeMethod" : false
            }, {
              "methodName" : "produce",
              "fileName" : "ManagedSelector.java",
              "lineNumber" : 191,
              "className" : "org.eclipse.jetty.io.ManagedSelector$SelectorProducer",
              "nativeMethod" : false
            }, {
              "methodName" : "executeProduceConsume",
              "fileName" : "ExecuteProduceConsume.java",
              "lineNumber" : 249,
              "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
              "nativeMethod" : false
            }, {
              "methodName" : "produceConsume",
              "fileName" : "ExecuteProduceConsume.java",
              "lineNumber" : 148,
              "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "ExecuteProduceConsume.java",
              "lineNumber" : 136,
              "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
              "nativeMethod" : false
            }, {
              "methodName" : "runJob",
              "fileName" : "QueuedThreadPool.java",
              "lineNumber" : 671,
              "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "QueuedThreadPool.java",
              "lineNumber" : 589,
              "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool$2",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Thread.java",
              "lineNumber" : 748,
              "className" : "java.lang.Thread",
              "nativeMethod" : false
            } ],
            "state" : "RUNNABLE"
          }, {
            "id" : 23,
            "priority" : 10,
            "name" : "Ordered RealTime Timer",
            "cpuTime" : 759656028918,
            "userTime" : 514940000000,
            "lockInfo" : {
              "className" : "com.serotonin.timer.TaskQueue",
              "identityHashCode" : 23296560
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : -2,
              "className" : "java.lang.Object",
              "nativeMethod" : true
            }, {
              "methodName" : "mainLoop",
              "fileName" : "TimerThread.java",
              "lineNumber" : 124,
              "className" : "com.serotonin.timer.TimerThread",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "TimerThread.java",
              "lineNumber" : 38,
              "className" : "com.serotonin.timer.TimerThread",
              "nativeMethod" : false
            } ],
            "state" : "TIMED_WAITING"
          }, {
            "id" : 24,
            "priority" : 10,
            "name" : "high-pool-2-thread-1 --> ProcessEPoll",
            "cpuTime" : 2637831,
            "userTime" : 0,
            "lockInfo" : {
              "className" : "com.serotonin.epoll.ProcessEPoll",
              "identityHashCode" : 25577034
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : -2,
              "className" : "java.lang.Object",
              "nativeMethod" : true
            }, {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : 502,
              "className" : "java.lang.Object",
              "nativeMethod" : false
            }, {
              "methodName" : "runImpl",
              "fileName" : "ProcessEPoll.java",
              "lineNumber" : 184,
              "className" : "com.serotonin.epoll.ProcessEPoll",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "ProcessEPoll.java",
              "lineNumber" : 168,
              "className" : "com.serotonin.epoll.ProcessEPoll",
              "nativeMethod" : false
            }, {
              "methodName" : "runTask",
              "fileName" : "Task.java",
              "lineNumber" : 179,
              "className" : "com.serotonin.timer.Task",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "TaskWrapper.java",
              "lineNumber" : 23,
              "className" : "com.serotonin.timer.TaskWrapper",
              "nativeMethod" : false
            }, {
              "methodName" : "runWorker",
              "fileName" : "ThreadPoolExecutor.java",
              "lineNumber" : 1142,
              "className" : "java.util.concurrent.ThreadPoolExecutor",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "ThreadPoolExecutor.java",
              "lineNumber" : 617,
              "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Thread.java",
              "lineNumber" : 748,
              "className" : "java.lang.Thread",
              "nativeMethod" : false
            } ],
            "state" : "WAITING"
          }, {
            "id" : 26,
            "priority" : 5,
            "name" : "Abandoned connection cleanup thread",
            "cpuTime" : 77803366794,
            "userTime" : 68210000000,
            "lockInfo" : {
              "className" : "java.lang.ref.ReferenceQueue$Lock",
              "identityHashCode" : 4186902
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : -2,
              "className" : "java.lang.Object",
              "nativeMethod" : true
            }, {
              "methodName" : "remove",
              "fileName" : "ReferenceQueue.java",
              "lineNumber" : 143,
              "className" : "java.lang.ref.ReferenceQueue",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "AbandonedConnectionCleanupThread.java",
              "lineNumber" : 64,
              "className" : "com.mysql.jdbc.AbandonedConnectionCleanupThread",
              "nativeMethod" : false
            }, {
              "methodName" : "runWorker",
              "fileName" : "ThreadPoolExecutor.java",
              "lineNumber" : 1142,
              "className" : "java.util.concurrent.ThreadPoolExecutor",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "ThreadPoolExecutor.java",
              "lineNumber" : 617,
              "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Thread.java",
              "lineNumber" : 748,
              "className" : "java.lang.Thread",
              "nativeMethod" : false
            } ],
            "state" : "TIMED_WAITING"
          }, {
            "id" : 28,
            "priority" : 9,
            "name" : "H2 File Lock Watchdog /opt/mango/databases/mah2.lock.db",
            "cpuTime" : 196111050214,
            "userTime" : 138290000000,
            "lockInfo" : null,
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "sleep",
              "fileName" : "Thread.java",
              "lineNumber" : -2,
              "className" : "java.lang.Thread",
              "nativeMethod" : true
            }, {
              "methodName" : "run",
              "fileName" : "FileLock.java",
              "lineNumber" : 515,
              "className" : "org.h2.store.FileLock",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Thread.java",
              "lineNumber" : 748,
              "className" : "java.lang.Thread",
              "nativeMethod" : false
            } ],
            "state" : "TIMED_WAITING"
          }, {
            "id" : 29,
            "priority" : 5,
            "name" : "H2 Log Writer MAH2",
            "cpuTime" : 517252458348,
            "userTime" : 253130000000,
            "lockInfo" : {
              "className" : "org.h2.store.WriterThread",
              "identityHashCode" : 29614567
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : -2,
              "className" : "java.lang.Object",
              "nativeMethod" : true
            }, {
              "methodName" : "run",
              "fileName" : "WriterThread.java",
              "lineNumber" : 102,
              "className" : "org.h2.store.WriterThread",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Thread.java",
              "lineNumber" : 748,
              "className" : "java.lang.Thread",
              "nativeMethod" : false
            } ],
            "state" : "TIMED_WAITING"
          }, {
            "id" : 30,
            "priority" : 9,
            "name" : "IasTSDB Maintenance",
            "cpuTime" : 180142458971,
            "userTime" : 119600000000,
            "lockInfo" : {
              "className" : "com.infiniteautomation.tsdb.impl.Janitor",
              "identityHashCode" : 23310677
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : -2,
              "className" : "java.lang.Object",
              "nativeMethod" : true
            }, {
              "methodName" : "runImpl",
              "fileName" : "Janitor.java",
              "lineNumber" : 113,
              "className" : "com.infiniteautomation.tsdb.impl.Janitor",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Janitor.java",
              "lineNumber" : 93,
              "className" : "com.infiniteautomation.tsdb.impl.Janitor",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Thread.java",
              "lineNumber" : 748,
              "className" : "java.lang.Thread",
              "nativeMethod" : false
            } ],
            "state" : "TIMED_WAITING"
          }, {
            "id" : 31,
            "priority" : 9,
            "name" : "IasTSDB Maintenance",
            "cpuTime" : 172385694322,
            "userTime" : 112840000000,
            "lockInfo" : {
              "className" : "com.infiniteautomation.tsdb.impl.Janitor",
              "identityHashCode" : 16255269
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : -2,
              "className" : "java.lang.Object",
              "nativeMethod" : true
            }, {
              "methodName" : "runImpl",
              "fileName" : "Janitor.java",
              "lineNumber" : 113,
              "className" : "com.infiniteautomation.tsdb.impl.Janitor",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Janitor.java",
              "lineNumber" : 93,
              "className" : "com.infiniteautomation.tsdb.impl.Janitor",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Thread.java",
              "lineNumber" : 748,
              "className" : "java.lang.Thread",
              "nativeMethod" : false
            } ],
            "state" : "TIMED_WAITING"
          }, {
            "id" : 34,
            "priority" : 5,
            "name" : "SocketListener(mangoES3500)",
            "cpuTime" : 1391581448,
            "userTime" : 1360000000,
            "lockInfo" : null,
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "receive0",
              "fileName" : "PlainDatagramSocketImpl.java",
              "lineNumber" : -2,
              "className" : "java.net.PlainDatagramSocketImpl",
              "nativeMethod" : true
            }, {
              "methodName" : "receive",
              "fileName" : "AbstractPlainDatagramSocketImpl.java",
              "lineNumber" : 143,
              "className" : "java.net.AbstractPlainDatagramSocketImpl",
              "nativeMethod" : false
            }, {
              "methodName" : "receive",
              "fileName" : "DatagramSocket.java",
              "lineNumber" : 812,
              "className" : "java.net.DatagramSocket",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "SocketListener.java",
              "lineNumber" : 41,
              "className" : "javax.jmdns.esconfig.impl.SocketListener",
              "nativeMethod" : false
            } ],
            "state" : "RUNNABLE"
          }, {
            "id" : 35,
            "priority" : 5,
            "name" : "JmDNS(mangoES3500).Timer",
            "cpuTime" : 24887120395,
            "userTime" : 21580000000,
            "lockInfo" : {
              "className" : "java.util.TaskQueue",
              "identityHashCode" : 20996799
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : -2,
              "className" : "java.lang.Object",
              "nativeMethod" : true
            }, {
              "methodName" : "mainLoop",
              "fileName" : "Timer.java",
              "lineNumber" : 552,
              "className" : "java.util.TimerThread",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Timer.java",
              "lineNumber" : 505,
              "className" : "java.util.TimerThread",
              "nativeMethod" : false
            } ],
            "state" : "TIMED_WAITING"
          }, {
            "id" : 36,
            "priority" : 5,
            "name" : "JmDNS(mangoES3500).State.Timer",
            "cpuTime" : 1711827889,
            "userTime" : 1570000000,
            "lockInfo" : {
              "className" : "java.util.TaskQueue",
              "identityHashCode" : 22051753
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "wait",
              "fileName" : "Object.java",
              "lineNumber" : -2,
              "className" : "java.lang.Object",
              "nativeMethod" : true
            }, {
              "methodName" : "mainLoop",
              "fileName" : "Timer.java",
              "lineNumber" : 552,
              "className" : "java.util.TimerThread",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Timer.java",
              "lineNumber" : 505,
              "className" : "java.util.TimerThread",
              "nativeMethod" : false
            } ],
            "state" : "TIMED_WAITING"
          }, {
            "id" : 45,
            "priority" : 5,
            "name" : "org.eclipse.jetty.server.session.HashSessionManager@8cc9a2Timer",
            "cpuTime" : 11451682853,
            "userTime" : 10070000000,
            "lockInfo" : {
              "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
              "identityHashCode" : 24484943
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "park",
              "fileName" : "Unsafe.java",
              "lineNumber" : -2,
              "className" : "sun.misc.Unsafe",
              "nativeMethod" : true
            }, {
              "methodName" : "parkNanos",
              "fileName" : "LockSupport.java",
              "lineNumber" : 215,
              "className" : "java.util.concurrent.locks.LockSupport",
              "nativeMethod" : false
            }, {
              "methodName" : "awaitNanos",
              "fileName" : "AbstractQueuedSynchronizer.java",
              "lineNumber" : 2078,
              "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
              "nativeMethod" : false
            }, {
              "methodName" : "take",
              "fileName" : "ScheduledThreadPoolExecutor.java",
              "lineNumber" : 1093,
              "className" : "java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue",
              "nativeMethod" : false
            }, {
              "methodName" : "take",
              "fileName" : "ScheduledThreadPoolExecutor.java",
              "lineNumber" : 809,
              "className" : "java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue",
              "nativeMethod" : false
            }, {
              "methodName" : "getTask",
              "fileName" : "ThreadPoolExecutor.java",
              "lineNumber" : 1067,
              "className" : "java.util.concurrent.ThreadPoolExecutor",
              "nativeMethod" : false
            }, {
              "methodName" : "runWorker",
              "fileName" : "ThreadPoolExecutor.java",
              "lineNumber" : 1127,
              "className" : "java.util.concurrent.ThreadPoolExecutor",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "ThreadPoolExecutor.java",
              "lineNumber" : 617,
              "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Thread.java",
              "lineNumber" : 748,
              "className" : "java.lang.Thread",
              "nativeMethod" : false
            } ],
            "state" : "TIMED_WAITING"
          }, {
            "id" : 46,
            "priority" : 5,
            "name" : "DestroyJavaVM",
            "cpuTime" : 51945728065,
            "userTime" : 48740000000,
            "lockInfo" : null,
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ ],
            "state" : "RUNNABLE"
          }, {
            "id" : 47,
            "priority" : 8,
            "name" : "medium-pool-3-thread-1",
            "cpuTime" : 30803477422,
            "userTime" : 28450000000,
            "lockInfo" : {
              "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
              "identityHashCode" : 33161829
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "park",
              "fileName" : "Unsafe.java",
              "lineNumber" : -2,
              "className" : "sun.misc.Unsafe",
              "nativeMethod" : true
            }, {
              "methodName" : "park",
              "fileName" : "LockSupport.java",
              "lineNumber" : 175,
              "className" : "java.util.concurrent.locks.LockSupport",
              "nativeMethod" : false
            }, {
              "methodName" : "await",
              "fileName" : "AbstractQueuedSynchronizer.java",
              "lineNumber" : 2039,
              "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
              "nativeMethod" : false
            }, {
              "methodName" : "take",
              "fileName" : "LinkedBlockingQueue.java",
              "lineNumber" : 442,
              "className" : "java.util.concurrent.LinkedBlockingQueue",
              "nativeMethod" : false
            }, {
              "methodName" : "getTask",
              "fileName" : "ThreadPoolExecutor.java",
              "lineNumber" : 1067,
              "className" : "java.util.concurrent.ThreadPoolExecutor",
              "nativeMethod" : false
            }, {
              "methodName" : "runWorker",
              "fileName" : "ThreadPoolExecutor.java",
              "lineNumber" : 1127,
              "className" : "java.util.concurrent.ThreadPoolExecutor",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "ThreadPoolExecutor.java",
              "lineNumber" : 617,
              "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
              "nativeMethod" : false
            }, {
              "methodName" : "run",
              "fileName" : "Thread.java",
              "lineNumber" : 748,
              "className" : "java.lang.Thread",
              "nativeMethod" : false
            } ],
            "state" : "WAITING"
          }, {
            "id" : 48,
            "priority" : 8,
            "name" : "medium-pool-3-thread-2",
            "cpuTime" : 29624722897,
            "userTime" : 27350000000,
            "lockInfo" : {
              "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
              "identityHashCode" : 33161829
            },
            "lockOwnerId" : -1,
            "lockOwnerName" : null,
            "location" : [ {
              "methodName" : "park",
              "fileName" : "Unsafe.java",
              "lineNumber" : -2,
              "className" : "sun.misc.Unsafe",
              "nativeMethod" : true
            }, {
              "methodName" : "park",
              "fileName" : "LockSupport.java",
              "lineNumber" : 175,
              "className" : "java.util.concurrent.locks.LockSupport",
              "nativeMethod" : false
            }, {
              "methodName" : "await",
              "fileName" : "AbstractQueuedSynchronizer.java",
              "lineNumber" : 2039,
              "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
              "nativeMethod" : false
            }, {
              "methodName" : "take",
              "fileName" : "LinkedBlockingQueue.java",
              "lineNumber" : 442,
              "className" : "java.util.concurrent.LinkedBlockingQueue",
              "nativeMethod" : false
            }, 
          

          Sorry dont have file upload permissions...

          @phildunlap said in Serial Datasource seems to timeout...:

          Does it unstick if you run (or just validate) this in a JavaScript console:

          com.serotonin.m2m2.Common.runtimeManager.getRunningDataSoure("DS_XID").serialEvent(
          new com.infiniteautomation.serial.rt.SerialDataSourceRT.TimeoutSerialEvent(new Date().getTime())
          );

          Is the DS_XID supposed to ba particular XID (I presume the serial ds xid is what you are referring to...) and is the chrome developer console sufficient? In the dev console all I got was undefined variable com
          0_1537829182360_0757103b-983f-49b5-b053-cafa969a1b68-image.png

          Do not follow where the path may lead; go instead where there is no path.
          And leave a trail - Muriel Strode

          MattFoxM 1 Reply Last reply Reply Quote 0
          • MattFoxM
            MattFox @MattFox
            last edited by

            {
                "methodName" : "getTask",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1067,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "runWorker",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1127,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 617,
                "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Thread.java",
                "lineNumber" : 748,
                "className" : "java.lang.Thread",
                "nativeMethod" : false
              } ],
              "state" : "WAITING"
            }, {
              "id" : 60,
              "priority" : 8,
              "name" : "medium-pool-3-thread-3",
              "cpuTime" : 29874909089,
              "userTime" : 27530000000,
              "lockInfo" : {
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "identityHashCode" : 33161829
              },
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "park",
                "fileName" : "Unsafe.java",
                "lineNumber" : -2,
                "className" : "sun.misc.Unsafe",
                "nativeMethod" : true
              }, {
                "methodName" : "park",
                "fileName" : "LockSupport.java",
                "lineNumber" : 175,
                "className" : "java.util.concurrent.locks.LockSupport",
                "nativeMethod" : false
              }, {
                "methodName" : "await",
                "fileName" : "AbstractQueuedSynchronizer.java",
                "lineNumber" : 2039,
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "nativeMethod" : false
              }, {
                "methodName" : "take",
                "fileName" : "LinkedBlockingQueue.java",
                "lineNumber" : 442,
                "className" : "java.util.concurrent.LinkedBlockingQueue",
                "nativeMethod" : false
              }, {
                "methodName" : "getTask",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1067,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "runWorker",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1127,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 617,
                "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Thread.java",
                "lineNumber" : 748,
                "className" : "java.lang.Thread",
                "nativeMethod" : false
              } ],
              "state" : "WAITING"
            }, {
              "id" : 6561,
              "priority" : 9,
              "name" : "IasTSDB Maintenance",
              "cpuTime" : 166936557525,
              "userTime" : 108940000000,
              "lockInfo" : {
                "className" : "com.infiniteautomation.tsdb.impl.Janitor",
                "identityHashCode" : 30262463
              },
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "wait",
                "fileName" : "Object.java",
                "lineNumber" : -2,
                "className" : "java.lang.Object",
                "nativeMethod" : true
              }, {
                "methodName" : "runImpl",
                "fileName" : "Janitor.java",
                "lineNumber" : 113,
                "className" : "com.infiniteautomation.tsdb.impl.Janitor",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Janitor.java",
                "lineNumber" : 93,
                "className" : "com.infiniteautomation.tsdb.impl.Janitor",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Thread.java",
                "lineNumber" : 748,
                "className" : "java.lang.Thread",
                "nativeMethod" : false
              } ],
              "state" : "TIMED_WAITING"
            }, {
              "id" : 18548,
              "priority" : 5,
              "name" : "Scheduler-28251408",
              "cpuTime" : 73122721,
              "userTime" : 50000000,
              "lockInfo" : {
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "identityHashCode" : 25067420
              },
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "park",
                "fileName" : "Unsafe.java",
                "lineNumber" : -2,
                "className" : "sun.misc.Unsafe",
                "nativeMethod" : true
              }, {
                "methodName" : "parkNanos",
                "fileName" : "LockSupport.java",
                "lineNumber" : 215,
                "className" : "java.util.concurrent.locks.LockSupport",
                "nativeMethod" : false
              }, {
                "methodName" : "awaitNanos",
                "fileName" : "AbstractQueuedSynchronizer.java",
                "lineNumber" : 2078,
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "nativeMethod" : false
              }, {
                "methodName" : "take",
                "fileName" : "ScheduledThreadPoolExecutor.java",
                "lineNumber" : 1093,
                "className" : "java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue",
                "nativeMethod" : false
              }, {
                "methodName" : "take",
                "fileName" : "ScheduledThreadPoolExecutor.java",
                "lineNumber" : 809,
                "className" : "java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue",
                "nativeMethod" : false
              }, {
                "methodName" : "getTask",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1067,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "runWorker",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1127,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 617,
                "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Thread.java",
                "lineNumber" : 748,
                "className" : "java.lang.Thread",
                "nativeMethod" : false
              } ],
              "state" : "TIMED_WAITING"
            }, {
              "id" : 18572,
              "priority" : 5,
              "name" : "low-pool-4-thread-1",
              "cpuTime" : 75508541,
              "userTime" : 70000000,
              "lockInfo" : {
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "identityHashCode" : 3411544
              },
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "park",
                "fileName" : "Unsafe.java",
                "lineNumber" : -2,
                "className" : "sun.misc.Unsafe",
                "nativeMethod" : true
              }, {
                "methodName" : "park",
                "fileName" : "LockSupport.java",
                "lineNumber" : 175,
                "className" : "java.util.concurrent.locks.LockSupport",
                "nativeMethod" : false
              }, {
                "methodName" : "await",
                "fileName" : "AbstractQueuedSynchronizer.java",
                "lineNumber" : 2039,
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "nativeMethod" : false
              }, {
                "methodName" : "take",
                "fileName" : "LinkedBlockingQueue.java",
                "lineNumber" : 442,
                "className" : "java.util.concurrent.LinkedBlockingQueue",
                "nativeMethod" : false
              }, {
                "methodName" : "getTask",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1067,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "runWorker",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1127,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 617,
                "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Thread.java",
                "lineNumber" : 748,
                "className" : "java.lang.Thread",
                "nativeMethod" : false
              } ],
              "state" : "WAITING"
            }, {
              "id" : 18576,
              "priority" : 5,
              "name" : "low-pool-4-thread-2",
              "cpuTime" : 243767000,
              "userTime" : 240000000,
              "lockInfo" : {
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "identityHashCode" : 3411544
              },
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "park",
                "fileName" : "Unsafe.java",
                "lineNumber" : -2,
                "className" : "sun.misc.Unsafe",
                "nativeMethod" : true
              }, {
                "methodName" : "park",
                "fileName" : "LockSupport.java",
                "lineNumber" : 175,
                "className" : "java.util.concurrent.locks.LockSupport",
                "nativeMethod" : false
              }, {
                "methodName" : "await",
                "fileName" : "AbstractQueuedSynchronizer.java",
                "lineNumber" : 2039,
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "nativeMethod" : false
              }, {
                "methodName" : "take",
                "fileName" : "LinkedBlockingQueue.java",
                "lineNumber" : 442,
                "className" : "java.util.concurrent.LinkedBlockingQueue",
                "nativeMethod" : false
              }, {
                "methodName" : "getTask",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1067,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "runWorker",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1127,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 617,
                "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Thread.java",
                "lineNumber" : 748,
                "className" : "java.lang.Thread",
                "nativeMethod" : false
              } ],
              "state" : "WAITING"
            }, {
              "id" : 18577,
              "priority" : 5,
              "name" : "low-pool-4-thread-3",
              "cpuTime" : 33982834,
              "userTime" : 30000000,
              "lockInfo" : {
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "identityHashCode" : 3411544
              },
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "park",
                "fileName" : "Unsafe.java",
                "lineNumber" : -2,
                "className" : "sun.misc.Unsafe",
                "nativeMethod" : true
              }, {
                "methodName" : "park",
                "fileName" : "LockSupport.java",
                "lineNumber" : 175,
                "className" : "java.util.concurrent.locks.LockSupport",
                "nativeMethod" : false
              }, {
                "methodName" : "await",
                "fileName" : "AbstractQueuedSynchronizer.java",
                "lineNumber" : 2039,
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "nativeMethod" : false
              }, {
                "methodName" : "take",
                "fileName" : "LinkedBlockingQueue.java",
                "lineNumber" : 442,
                "className" : "java.util.concurrent.LinkedBlockingQueue",
                "nativeMethod" : false
              }, {
                "methodName" : "getTask",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1067,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "runWorker",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1127,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 617,
                "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Thread.java",
                "lineNumber" : 748,
                "className" : "java.lang.Thread",
                "nativeMethod" : false
              } ],
              "state" : "WAITING"
            }, {
              "id" : 18602,
              "priority" : 5,
              "name" : "qtp1360975-18602",
              "cpuTime" : 12805799844,
              "userTime" : 9370000000,
              "lockInfo" : {
                "className" : "com.serotonin.m2m2.web.dwr.longPoll.LongPollRequest",
                "identityHashCode" : 21157073
              },
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "wait",
                "fileName" : "Object.java",
                "lineNumber" : -2,
                "className" : "java.lang.Object",
                "nativeMethod" : true
              }, {
                "methodName" : "doLongPoll",
                "fileName" : "BaseDwr.java",
                "lineNumber" : 638,
                "className" : "com.serotonin.m2m2.web.dwr.BaseDwr",
                "nativeMethod" : false
              }, {
                "methodName" : "invoke",
                "fileName" : null,
                "lineNumber" : -1,
                "className" : "sun.reflect.GeneratedMethodAccessor379",
                "nativeMethod" : false
              }, {
                "methodName" : "invoke",
                "fileName" : "DelegatingMethodAccessorImpl.java",
                "lineNumber" : 43,
                "className" : "sun.reflect.DelegatingMethodAccessorImpl",
                "nativeMethod" : false
              }, {
                "methodName" : "invoke",
                "fileName" : "Method.java",
                "lineNumber" : 498,
                "className" : "java.lang.reflect.Method",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "ExecuteAjaxFilter.java",
                "lineNumber" : 34,
                "className" : "org.directwebremoting.impl.ExecuteAjaxFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "DefaultRemoter.java",
                "lineNumber" : 428,
                "className" : "org.directwebremoting.impl.DefaultRemoter$1",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "TranslationsFilter.java",
                "lineNumber" : 37,
                "className" : "com.serotonin.m2m2.web.dwr.util.TranslationsFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "DefaultRemoter.java",
                "lineNumber" : 428,
                "className" : "org.directwebremoting.impl.DefaultRemoter$1",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "ExceptionDetectionFilter.java",
                "lineNumber" : 26,
                "className" : "com.serotonin.m2m2.web.dwr.util.ExceptionDetectionFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "DefaultRemoter.java",
                "lineNumber" : 428,
                "className" : "org.directwebremoting.impl.DefaultRemoter$1",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "DwrPermissionFilter.java",
                "lineNumber" : 46,
                "className" : "com.serotonin.m2m2.web.dwr.util.DwrPermissionFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "DefaultRemoter.java",
                "lineNumber" : 428,
                "className" : "org.directwebremoting.impl.DefaultRemoter$1",
                "nativeMethod" : false
              }, {
                "methodName" : "execute",
                "fileName" : "DefaultRemoter.java",
                "lineNumber" : 431,
                "className" : "org.directwebremoting.impl.DefaultRemoter",
                "nativeMethod" : false
              }, {
                "methodName" : "execute",
                "fileName" : "DefaultRemoter.java",
                "lineNumber" : 283,
                "className" : "org.directwebremoting.impl.DefaultRemoter",
                "nativeMethod" : false
              }, {
                "methodName" : "handle",
                "fileName" : "PlainCallHandler.java",
                "lineNumber" : 52,
                "className" : "org.directwebremoting.servlet.PlainCallHandler",
                "nativeMethod" : false
              }, {
                "methodName" : "handle",
                "fileName" : "UrlProcessor.java",
                "lineNumber" : 101,
                "className" : "org.directwebremoting.servlet.UrlProcessor",
                "nativeMethod" : false
              }, {
                "methodName" : "doPost",
                "fileName" : "DwrServlet.java",
                "lineNumber" : 146,
                "className" : "org.directwebremoting.servlet.DwrServlet",
                "nativeMethod" : false
              }, {
                "methodName" : "service",
                "fileName" : "HttpServlet.java",
                "lineNumber" : 707,
                "className" : "javax.servlet.http.HttpServlet",
                "nativeMethod" : false
              }, {
                "methodName" : "service",
                "fileName" : "HttpServlet.java",
                "lineNumber" : 790,
                "className" : "javax.servlet.http.HttpServlet",
                "nativeMethod" : false
              }, {
                "methodName" : "handle",
                "fileName" : "ServletHolder.java",
                "lineNumber" : 848,
                "className" : "org.eclipse.jetty.servlet.ServletHolder",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "ServletHandler.java",
                "lineNumber" : 1772,
                "className" : "org.eclipse.jetty.servlet.ServletHandler$CachedChain",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilterInternal",
                "fileName" : "ShallowEtagHeaderFilter.java",
                "lineNumber" : 110,
                "className" : "org.springframework.web.filter.ShallowEtagHeaderFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilterInternal",
                "fileName" : "MangoShallowEtagHeaderFilter.java",
                "lineNumber" : 90,
                "className" : "com.serotonin.m2m2.web.filter.MangoShallowEtagHeaderFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "OncePerRequestFilter.java",
                "lineNumber" : 107,
                "className" : "org.springframework.web.filter.OncePerRequestFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "ServletHandler.java",
                "lineNumber" : 1759,
                "className" : "org.eclipse.jetty.servlet.ServletHandler$CachedChain",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "FilterChainProxy.java",
                "lineNumber" : 317,
                "className" : "org.springframework.security.web.FilterChainProxy$VirtualFilterChain",
                "nativeMethod" : false
              }, {
                "methodName" : "invoke",
                "fileName" : "FilterSecurityInterceptor.java",
                "lineNumber" : 127,
                "className" : "org.springframework.security.web.access.intercept.FilterSecurityInterceptor",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "FilterSecurityInterceptor.java",
                "lineNumber" : 91,
                "className" : "org.springframework.security.web.access.intercept.FilterSecurityInterceptor",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "FilterChainProxy.java",
                "lineNumber" : 331,
                "className" : "org.springframework.security.web.FilterChainProxy$VirtualFilterChain",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "PermissionExceptionFilter.java",
                "lineNumber" : 32,
                "className" : "com.serotonin.m2m2.web.mvc.spring.security.PermissionExceptionFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "FilterChainProxy.java",
                "lineNumber" : 331,
                "className" : "org.springframework.security.web.FilterChainProxy$VirtualFilterChain",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "ExceptionTranslationFilter.java",
                "lineNumber" : 114,
                "className" : "org.springframework.security.web.access.ExceptionTranslationFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "FilterChainProxy.java",
                "lineNumber" : 331,
                "className" : "org.springframework.security.web.FilterChainProxy$VirtualFilterChain",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "SessionManagementFilter.java",
                "lineNumber" : 137,
                "className" : "org.springframework.security.web.session.SessionManagementFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "FilterChainProxy.java",
                "lineNumber" : 331,
                "className" : "org.springframework.security.web.FilterChainProxy$VirtualFilterChain",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "AnonymousAuthenticationFilter.java",
                "lineNumber" : 111,
                "className" : "org.springframework.security.web.authentication.AnonymousAuthenticationFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "FilterChainProxy.java",
                "lineNumber" : 331,
                "className" : "org.springframework.security.web.FilterChainProxy$VirtualFilterChain",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "SecurityContextHolderAwareRequestFilter.java",
                "lineNumber" : 170,
                "className" : "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter",
                "nativeMethod" : false
              }, {
                "methodName" : "doFilter",
                "fileName" : "FilterChainProxy.java",
                "lineNumber" : 331,
                "className" : "org.springframework.security.web.FilterChainProxy$VirtualFilterChain",
                "nativeMethod" : false
              } ],
              "state" : "TIMED_WAITING"
            }, {
              "id" : 18625,
              "priority" : 5,
              "name" : "qtp1360975-18625",
              "cpuTime" : 12424702031,
              "userTime" : 8840000000,
              "lockInfo" : null,
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "epollWait",
                "fileName" : "EPollArrayWrapper.java",
                "lineNumber" : -2,
                "className" : "sun.nio.ch.EPollArrayWrapper",
                "nativeMethod" : true
              }, {
                "methodName" : "poll",
                "fileName" : "EPollArrayWrapper.java",
                "lineNumber" : 269,
                "className" : "sun.nio.ch.EPollArrayWrapper",
                "nativeMethod" : false
              }, {
                "methodName" : "doSelect",
                "fileName" : "EPollSelectorImpl.java",
                "lineNumber" : 93,
                "className" : "sun.nio.ch.EPollSelectorImpl",
                "nativeMethod" : false
              }, {
                "methodName" : "lockAndDoSelect",
                "fileName" : "SelectorImpl.java",
                "lineNumber" : 86,
                "className" : "sun.nio.ch.SelectorImpl",
                "nativeMethod" : false
              }, {
                "methodName" : "select",
                "fileName" : "SelectorImpl.java",
                "lineNumber" : 97,
                "className" : "sun.nio.ch.SelectorImpl",
                "nativeMethod" : false
              }, {
                "methodName" : "select",
                "fileName" : "SelectorImpl.java",
                "lineNumber" : 101,
                "className" : "sun.nio.ch.SelectorImpl",
                "nativeMethod" : false
              }, {
                "methodName" : "select",
                "fileName" : "ManagedSelector.java",
                "lineNumber" : 243,
                "className" : "org.eclipse.jetty.io.ManagedSelector$SelectorProducer",
                "nativeMethod" : false
              }, {
                "methodName" : "produce",
                "fileName" : "ManagedSelector.java",
                "lineNumber" : 191,
                "className" : "org.eclipse.jetty.io.ManagedSelector$SelectorProducer",
                "nativeMethod" : false
              }, {
                "methodName" : "executeProduceConsume",
                "fileName" : "ExecuteProduceConsume.java",
                "lineNumber" : 249,
                "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
                "nativeMethod" : false
              }, {
                "methodName" : "produceConsume",
                "fileName" : "ExecuteProduceConsume.java",
                "lineNumber" : 148,
                "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "ExecuteProduceConsume.java",
                "lineNumber" : 136,
                "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
                "nativeMethod" : false
              }, {
                "methodName" : "runJob",
                "fileName" : "QueuedThreadPool.java",
                "lineNumber" : 671,
                "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "QueuedThreadPool.java",
                "lineNumber" : 589,
                "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool$2",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Thread.java",
                "lineNumber" : 748,
                "className" : "java.lang.Thread",
                "nativeMethod" : false
              } ],
              "state" : "RUNNABLE"
            }, {
              "id" : 18628,
              "priority" : 5,
              "name" : "qtp1360975-18628",
              "cpuTime" : 15172068510,
              "userTime" : 11850000000,
              "lockInfo" : {
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "identityHashCode" : 15272570
              },
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "park",
                "fileName" : "Unsafe.java",
                "lineNumber" : -2,
                "className" : "sun.misc.Unsafe",
                "nativeMethod" : true
              }, {
                "methodName" : "parkNanos",
                "fileName" : "LockSupport.java",
                "lineNumber" : 215,
                "className" : "java.util.concurrent.locks.LockSupport",
                "nativeMethod" : false
              }, {
                "methodName" : "awaitNanos",
                "fileName" : "AbstractQueuedSynchronizer.java",
                "lineNumber" : 2078,
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "nativeMethod" : false
              }, {
                "methodName" : "poll",
                "fileName" : "ArrayBlockingQueue.java",
                "lineNumber" : 418,
                "className" : "java.util.concurrent.ArrayBlockingQueue",
                "nativeMethod" : false
              }, {
                "methodName" : "idleJobPoll",
                "fileName" : "QueuedThreadPool.java",
                "lineNumber" : 563,
                "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                "nativeMethod" : false
              }, {
                "methodName" : "access$800",
                "fileName" : "QueuedThreadPool.java",
                "lineNumber" : 48,
                "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "QueuedThreadPool.java",
                "lineNumber" : 626,
                "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool$2",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Thread.java",
                "lineNumber" : 748,
                "className" : "java.lang.Thread",
                "nativeMethod" : false
              } ],
              "state" : "TIMED_WAITING"
            }, {
              "id" : 18657,
              "priority" : 5,
              "name" : "PersistentSenderRT.SendThread",
              "cpuTime" : 3541818904737,
              "userTime" : 2189640000000,
              "lockInfo" : {
                "className" : "com.serotonin.m2m2.persistent.pub.PersistentSendThread",
                "identityHashCode" : 4135095
              },
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "wait",
                "fileName" : "Object.java",
                "lineNumber" : -2,
                "className" : "java.lang.Object",
                "nativeMethod" : true
              }, {
                "methodName" : "waitImpl",
                "fileName" : "SendThread.java",
                "lineNumber" : 66,
                "className" : "com.serotonin.m2m2.rt.publish.SendThread",
                "nativeMethod" : false
              }, {
                "methodName" : "runImpl",
                "fileName" : "PersistentSendThread.java",
                "lineNumber" : 336,
                "className" : "com.serotonin.m2m2.persistent.pub.PersistentSendThread",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "SendThread.java",
                "lineNumber" : 56,
                "className" : "com.serotonin.m2m2.rt.publish.SendThread",
                "nativeMethod" : false
              } ],
              "state" : "TIMED_WAITING"
            }, {
              "id" : 18697,
              "priority" : 5,
              "name" : "qtp1360975-18697",
              "cpuTime" : 11202234345,
              "userTime" : 7440000000,
              "lockInfo" : null,
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "epollWait",
                "fileName" : "EPollArrayWrapper.java",
                "lineNumber" : -2,
                "className" : "sun.nio.ch.EPollArrayWrapper",
                "nativeMethod" : true
              }, {
                "methodName" : "poll",
                "fileName" : "EPollArrayWrapper.java",
                "lineNumber" : 269,
                "className" : "sun.nio.ch.EPollArrayWrapper",
                "nativeMethod" : false
              }, {
                "methodName" : "doSelect",
                "fileName" : "EPollSelectorImpl.java",
                "lineNumber" : 93,
                "className" : "sun.nio.ch.EPollSelectorImpl",
                "nativeMethod" : false
              }, {
                "methodName" : "lockAndDoSelect",
                "fileName" : "SelectorImpl.java",
                "lineNumber" : 86,
                "className" : "sun.nio.ch.SelectorImpl",
                "nativeMethod" : false
              }, {
                "methodName" : "select",
                "fileName" : "SelectorImpl.java",
                "lineNumber" : 97,
                "className" : "sun.nio.ch.SelectorImpl",
                "nativeMethod" : false
              }, {
                "methodName" : "select",
                "fileName" : "SelectorImpl.java",
                "lineNumber" : 101,
                "className" : "sun.nio.ch.SelectorImpl",
                "nativeMethod" : false
              }, {
                "methodName" : "select",
                "fileName" : "ManagedSelector.java",
                "lineNumber" : 243,
                "className" : "org.eclipse.jetty.io.ManagedSelector$SelectorProducer",
                "nativeMethod" : false
              }, {
                "methodName" : "produce",
                "fileName" : "ManagedSelector.java",
                "lineNumber" : 191,
                "className" : "org.eclipse.jetty.io.ManagedSelector$SelectorProducer",
                "nativeMethod" : false
              }, {
                "methodName" : "executeProduceConsume",
                "fileName" : "ExecuteProduceConsume.java",
                "lineNumber" : 249,
                "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
                "nativeMethod" : false
              }, {
                "methodName" : "produceConsume",
                "fileName" : "ExecuteProduceConsume.java",
                "lineNumber" : 148,
                "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "ExecuteProduceConsume.java",
                "lineNumber" : 136,
                "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
                "nativeMethod" : false
              }, {
                "methodName" : "runJob",
                "fileName" : "QueuedThreadPool.java",
                "lineNumber" : 671,
                "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "QueuedThreadPool.java",
                "lineNumber" : 589,
                "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool$2",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Thread.java",
                "lineNumber" : 748,
                "className" : "java.lang.Thread",
                "nativeMethod" : false
              } ],
              "state" : "RUNNABLE"
            }, {
              "id" : 27230,
              "priority" : 10,
              "name" : "high-pool-2-thread-23429 --> NoSQL Batch Writer 0",
              "cpuTime" : 292528599867,
              "userTime" : 208170000000,
              "lockInfo" : null,
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "sleep",
                "fileName" : "Thread.java",
                "lineNumber" : -2,
                "className" : "java.lang.Thread",
                "nativeMethod" : true
              }, {
                "methodName" : "execute",
                "fileName" : "MangoNoSqlBatchWriteBehind.java",
                "lineNumber" : 99,
                "className" : "com.infiniteautomation.nosql.MangoNoSqlBatchWriteBehind",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "BackgroundProcessingImpl.java",
                "lineNumber" : 632,
                "className" : "com.serotonin.m2m2.rt.maint.BackgroundProcessingImpl$RejectableWorkItemRunnable",
                "nativeMethod" : false
              }, {
                "methodName" : "runTask",
                "fileName" : "Task.java",
                "lineNumber" : 179,
                "className" : "com.serotonin.timer.Task",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "TaskWrapper.java",
                "lineNumber" : 23,
                "className" : "com.serotonin.timer.TaskWrapper",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "OrderedThreadPoolExecutor.java",
                "lineNumber" : 336,
                "className" : "com.serotonin.timer.OrderedThreadPoolExecutor$OrderedTaskCollection",
                "nativeMethod" : false
              }, {
                "methodName" : "runWorker",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 1142,
                "className" : "java.util.concurrent.ThreadPoolExecutor",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "ThreadPoolExecutor.java",
                "lineNumber" : 617,
                "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "Thread.java",
                "lineNumber" : 748,
                "className" : "java.lang.Thread",
                "nativeMethod" : false
              } ],
              "state" : "TIMED_WAITING"
            }, {
              "id" : 185172,
              "priority" : 5,
              "name" : "qtp1360975-185172",
              "cpuTime" : 1820595249,
              "userTime" : 1760000000,
              "lockInfo" : {
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "identityHashCode" : 15272570
              },
              "lockOwnerId" : -1,
              "lockOwnerName" : null,
              "location" : [ {
                "methodName" : "park",
                "fileName" : "Unsafe.java",
                "lineNumber" : -2,
                "className" : "sun.misc.Unsafe",
                "nativeMethod" : true
              }, {
                "methodName" : "parkNanos",
                "fileName" : "LockSupport.java",
                "lineNumber" : 215,
                "className" : "java.util.concurrent.locks.LockSupport",
                "nativeMethod" : false
              }, {
                "methodName" : "awaitNanos",
                "fileName" : "AbstractQueuedSynchronizer.java",
                "lineNumber" : 2078,
                "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                "nativeMethod" : false
              }, {
                "methodName" : "poll",
                "fileName" : "ArrayBlockingQueue.java",
                "lineNumber" : 418,
                "className" : "java.util.concurrent.ArrayBlockingQueue",
                "nativeMethod" : false
              }, {
                "methodName" : "idleJobPoll",
                "fileName" : "QueuedThreadPool.java",
                "lineNumber" : 563,
                "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                "nativeMethod" : false
              }, {
                "methodName" : "access$800",
                "fileName" : "QueuedThreadPool.java",
                "lineNumber" : 48,
                "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                "nativeMethod" : false
              }, {
                "methodName" : "run",
                "fileName" : "QueuedThreadPool.java",
                "lineNumber" : 626,
                "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool$2",
                "nativeMethod" : false
              },
            

            Do not follow where the path may lead; go instead where there is no path.
            And leave a trail - Muriel Strode

            1 Reply Last reply Reply Quote 0
            • MattFoxM
              MattFox
              last edited by

               {
                  "methodName" : "run",
                  "fileName" : "Thread.java",
                  "lineNumber" : 748,
                  "className" : "java.lang.Thread",
                  "nativeMethod" : false
                } ],
                "state" : "TIMED_WAITING"
              }, {
                "id" : 185186,
                "priority" : 5,
                "name" : "qtp1360975-185186",
                "cpuTime" : 991550018,
                "userTime" : 960000000,
                "lockInfo" : null,
                "lockOwnerId" : -1,
                "lockOwnerName" : null,
                "location" : [ {
                  "methodName" : "getThreadInfo1",
                  "fileName" : "ThreadImpl.java",
                  "lineNumber" : -2,
                  "className" : "sun.management.ThreadImpl",
                  "nativeMethod" : true
                }, {
                  "methodName" : "getThreadInfo",
                  "fileName" : "ThreadImpl.java",
                  "lineNumber" : 178,
                  "className" : "sun.management.ThreadImpl",
                  "nativeMethod" : false
                }, {
                  "methodName" : "getThreadInfo",
                  "fileName" : "ThreadImpl.java",
                  "lineNumber" : 139,
                  "className" : "sun.management.ThreadImpl",
                  "nativeMethod" : false
                }, {
                  "methodName" : "getThreads",
                  "fileName" : "ThreadMonitorRestController.java",
                  "lineNumber" : 78,
                  "className" : "com.serotonin.m2m2.web.mvc.rest.v1.ThreadMonitorRestController",
                  "nativeMethod" : false
                }, {
                  "methodName" : "invoke0",
                  "fileName" : "NativeMethodAccessorImpl.java",
                  "lineNumber" : -2,
                  "className" : "sun.reflect.NativeMethodAccessorImpl",
                  "nativeMethod" : true
                }, {
                  "methodName" : "invoke",
                  "fileName" : "NativeMethodAccessorImpl.java",
                  "lineNumber" : 62,
                  "className" : "sun.reflect.NativeMethodAccessorImpl",
                  "nativeMethod" : false
                }, {
                  "methodName" : "invoke",
                  "fileName" : "DelegatingMethodAccessorImpl.java",
                  "lineNumber" : 43,
                  "className" : "sun.reflect.DelegatingMethodAccessorImpl",
                  "nativeMethod" : false
                }, {
                  "methodName" : "invoke",
                  "fileName" : "Method.java",
                  "lineNumber" : 498,
                  "className" : "java.lang.reflect.Method",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doInvoke",
                  "fileName" : "InvocableHandlerMethod.java",
                  "lineNumber" : 205,
                  "className" : "org.springframework.web.method.support.InvocableHandlerMethod",
                  "nativeMethod" : false
                }, {
                  "methodName" : "invokeForRequest",
                  "fileName" : "InvocableHandlerMethod.java",
                  "lineNumber" : 133,
                  "className" : "org.springframework.web.method.support.InvocableHandlerMethod",
                  "nativeMethod" : false
                }, {
                  "methodName" : "invokeAndHandle",
                  "fileName" : "ServletInvocableHandlerMethod.java",
                  "lineNumber" : 97,
                  "className" : "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod",
                  "nativeMethod" : false
                }, {
                  "methodName" : "invokeHandlerMethod",
                  "fileName" : "RequestMappingHandlerAdapter.java",
                  "lineNumber" : 827,
                  "className" : "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter",
                  "nativeMethod" : false
                }, {
                  "methodName" : "handleInternal",
                  "fileName" : "RequestMappingHandlerAdapter.java",
                  "lineNumber" : 738,
                  "className" : "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter",
                  "nativeMethod" : false
                }, {
                  "methodName" : "handle",
                  "fileName" : "AbstractHandlerMethodAdapter.java",
                  "lineNumber" : 85,
                  "className" : "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doDispatch",
                  "fileName" : "DispatcherServlet.java",
                  "lineNumber" : 967,
                  "className" : "org.springframework.web.servlet.DispatcherServlet",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doService",
                  "fileName" : "DispatcherServlet.java",
                  "lineNumber" : 901,
                  "className" : "org.springframework.web.servlet.DispatcherServlet",
                  "nativeMethod" : false
                }, {
                  "methodName" : "processRequest",
                  "fileName" : "FrameworkServlet.java",
                  "lineNumber" : 970,
                  "className" : "org.springframework.web.servlet.FrameworkServlet",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doGet",
                  "fileName" : "FrameworkServlet.java",
                  "lineNumber" : 861,
                  "className" : "org.springframework.web.servlet.FrameworkServlet",
                  "nativeMethod" : false
                }, {
                  "methodName" : "service",
                  "fileName" : "HttpServlet.java",
                  "lineNumber" : 687,
                  "className" : "javax.servlet.http.HttpServlet",
                  "nativeMethod" : false
                }, {
                  "methodName" : "service",
                  "fileName" : "FrameworkServlet.java",
                  "lineNumber" : 846,
                  "className" : "org.springframework.web.servlet.FrameworkServlet",
                  "nativeMethod" : false
                }, {
                  "methodName" : "service",
                  "fileName" : "HttpServlet.java",
                  "lineNumber" : 790,
                  "className" : "javax.servlet.http.HttpServlet",
                  "nativeMethod" : false
                }, {
                  "methodName" : "handle",
                  "fileName" : "ServletHolder.java",
                  "lineNumber" : 848,
                  "className" : "org.eclipse.jetty.servlet.ServletHolder",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "ServletHandler.java",
                  "lineNumber" : 1772,
                  "className" : "org.eclipse.jetty.servlet.ServletHandler$CachedChain",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilterInternal",
                  "fileName" : "CharacterEncodingFilter.java",
                  "lineNumber" : 197,
                  "className" : "org.springframework.web.filter.CharacterEncodingFilter",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "OncePerRequestFilter.java",
                  "lineNumber" : 107,
                  "className" : "org.springframework.web.filter.OncePerRequestFilter",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "ServletHandler.java",
                  "lineNumber" : 1759,
                  "className" : "org.eclipse.jetty.servlet.ServletHandler$CachedChain",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilterInternal",
                  "fileName" : "ShallowEtagHeaderFilter.java",
                  "lineNumber" : 110,
                  "className" : "org.springframework.web.filter.ShallowEtagHeaderFilter",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilterInternal",
                  "fileName" : "MangoShallowEtagHeaderFilter.java",
                  "lineNumber" : 90,
                  "className" : "com.serotonin.m2m2.web.filter.MangoShallowEtagHeaderFilter",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "OncePerRequestFilter.java",
                  "lineNumber" : 107,
                  "className" : "org.springframework.web.filter.OncePerRequestFilter",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "ServletHandler.java",
                  "lineNumber" : 1759,
                  "className" : "org.eclipse.jetty.servlet.ServletHandler$CachedChain",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "FilterChainProxy.java",
                  "lineNumber" : 317,
                  "className" : "org.springframework.security.web.FilterChainProxy$VirtualFilterChain",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "SwitchUserFilter.java",
                  "lineNumber" : 197,
                  "className" : "org.springframework.security.web.authentication.switchuser.SwitchUserFilter",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "FilterChainProxy.java",
                  "lineNumber" : 331,
                  "className" : "org.springframework.security.web.FilterChainProxy$VirtualFilterChain",
                  "nativeMethod" : false
                }, {
                  "methodName" : "invoke",
                  "fileName" : "FilterSecurityInterceptor.java",
                  "lineNumber" : 127,
                  "className" : "org.springframework.security.web.access.intercept.FilterSecurityInterceptor",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "FilterSecurityInterceptor.java",
                  "lineNumber" : 91,
                  "className" : "org.springframework.security.web.access.intercept.FilterSecurityInterceptor",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "FilterChainProxy.java",
                  "lineNumber" : 331,
                  "className" : "org.springframework.security.web.FilterChainProxy$VirtualFilterChain",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilterInternal",
                  "fileName" : "RateLimitingFilter.java",
                  "lineNumber" : 79,
                  "className" : "com.serotonin.m2m2.web.mvc.spring.security.RateLimitingFilter",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "OncePerRequestFilter.java",
                  "lineNumber" : 107,
                  "className" : "org.springframework.web.filter.OncePerRequestFilter",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "FilterChainProxy.java",
                  "lineNumber" : 331,
                  "className" : "org.springframework.security.web.FilterChainProxy$VirtualFilterChain",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doFilter",
                  "fileName" : "PermissionExceptionFilter.java",
                  "lineNumber" : 32,
                  "className" : "com.serotonin.m2m2.web.mvc.spring.security.PermissionExceptionFilter",
                  "nativeMethod" : false
                } ],
                "state" : "RUNNABLE"
              }, {
                "id" : 185188,
                "priority" : 5,
                "name" : "qtp1360975-185188",
                "cpuTime" : 2070828039,
                "userTime" : 2010000000,
                "lockInfo" : null,
                "lockOwnerId" : -1,
                "lockOwnerName" : null,
                "location" : [ {
                  "methodName" : "epollWait",
                  "fileName" : "EPollArrayWrapper.java",
                  "lineNumber" : -2,
                  "className" : "sun.nio.ch.EPollArrayWrapper",
                  "nativeMethod" : true
                }, {
                  "methodName" : "poll",
                  "fileName" : "EPollArrayWrapper.java",
                  "lineNumber" : 269,
                  "className" : "sun.nio.ch.EPollArrayWrapper",
                  "nativeMethod" : false
                }, {
                  "methodName" : "doSelect",
                  "fileName" : "EPollSelectorImpl.java",
                  "lineNumber" : 93,
                  "className" : "sun.nio.ch.EPollSelectorImpl",
                  "nativeMethod" : false
                }, {
                  "methodName" : "lockAndDoSelect",
                  "fileName" : "SelectorImpl.java",
                  "lineNumber" : 86,
                  "className" : "sun.nio.ch.SelectorImpl",
                  "nativeMethod" : false
                }, {
                  "methodName" : "select",
                  "fileName" : "SelectorImpl.java",
                  "lineNumber" : 97,
                  "className" : "sun.nio.ch.SelectorImpl",
                  "nativeMethod" : false
                }, {
                  "methodName" : "select",
                  "fileName" : "SelectorImpl.java",
                  "lineNumber" : 101,
                  "className" : "sun.nio.ch.SelectorImpl",
                  "nativeMethod" : false
                }, {
                  "methodName" : "select",
                  "fileName" : "ManagedSelector.java",
                  "lineNumber" : 243,
                  "className" : "org.eclipse.jetty.io.ManagedSelector$SelectorProducer",
                  "nativeMethod" : false
                }, {
                  "methodName" : "produce",
                  "fileName" : "ManagedSelector.java",
                  "lineNumber" : 191,
                  "className" : "org.eclipse.jetty.io.ManagedSelector$SelectorProducer",
                  "nativeMethod" : false
                }, {
                  "methodName" : "executeProduceConsume",
                  "fileName" : "ExecuteProduceConsume.java",
                  "lineNumber" : 249,
                  "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
                  "nativeMethod" : false
                }, {
                  "methodName" : "produceConsume",
                  "fileName" : "ExecuteProduceConsume.java",
                  "lineNumber" : 148,
                  "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "ExecuteProduceConsume.java",
                  "lineNumber" : 136,
                  "className" : "org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume",
                  "nativeMethod" : false
                }, {
                  "methodName" : "runJob",
                  "fileName" : "QueuedThreadPool.java",
                  "lineNumber" : 671,
                  "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "QueuedThreadPool.java",
                  "lineNumber" : 589,
                  "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool$2",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "Thread.java",
                  "lineNumber" : 748,
                  "className" : "java.lang.Thread",
                  "nativeMethod" : false
                } ],
                "state" : "RUNNABLE"
              }, {
                "id" : 185195,
                "priority" : 5,
                "name" : "EventThread /dev/ttymUSB1",
                "cpuTime" : 134391050918,
                "userTime" : 49810000000,
                "lockInfo" : null,
                "lockOwnerId" : -1,
                "lockOwnerName" : null,
                "location" : [ {
                  "methodName" : "sleep",
                  "fileName" : "Thread.java",
                  "lineNumber" : -2,
                  "className" : "java.lang.Thread",
                  "nativeMethod" : true
                }, {
                  "methodName" : "sleep",
                  "fileName" : "Thread.java",
                  "lineNumber" : 340,
                  "className" : "java.lang.Thread",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "SerialPort.java",
                  "lineNumber" : 1305,
                  "className" : "jssc.SerialPort$LinuxEventThread",
                  "nativeMethod" : false
                } ],
                "state" : "TIMED_WAITING"
              }, {
                "id" : 185402,
                "priority" : 10,
                "name" : "high-pool-2-thread-162191",
                "cpuTime" : 42599288,
                "userTime" : 0,
                "lockInfo" : {
                  "className" : "java.util.concurrent.SynchronousQueue$TransferStack",
                  "identityHashCode" : 9114916
                },
                "lockOwnerId" : -1,
                "lockOwnerName" : null,
                "location" : [ {
                  "methodName" : "park",
                  "fileName" : "Unsafe.java",
                  "lineNumber" : -2,
                  "className" : "sun.misc.Unsafe",
                  "nativeMethod" : true
                }, {
                  "methodName" : "parkNanos",
                  "fileName" : "LockSupport.java",
                  "lineNumber" : 215,
                  "className" : "java.util.concurrent.locks.LockSupport",
                  "nativeMethod" : false
                }, {
                  "methodName" : "awaitFulfill",
                  "fileName" : "SynchronousQueue.java",
                  "lineNumber" : 460,
                  "className" : "java.util.concurrent.SynchronousQueue$TransferStack",
                  "nativeMethod" : false
                }, {
                  "methodName" : "transfer",
                  "fileName" : "SynchronousQueue.java",
                  "lineNumber" : 362,
                  "className" : "java.util.concurrent.SynchronousQueue$TransferStack",
                  "nativeMethod" : false
                }, {
                  "methodName" : "poll",
                  "fileName" : "SynchronousQueue.java",
                  "lineNumber" : 941,
                  "className" : "java.util.concurrent.SynchronousQueue",
                  "nativeMethod" : false
                }, {
                  "methodName" : "getTask",
                  "fileName" : "ThreadPoolExecutor.java",
                  "lineNumber" : 1066,
                  "className" : "java.util.concurrent.ThreadPoolExecutor",
                  "nativeMethod" : false
                }, {
                  "methodName" : "runWorker",
                  "fileName" : "ThreadPoolExecutor.java",
                  "lineNumber" : 1127,
                  "className" : "java.util.concurrent.ThreadPoolExecutor",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "ThreadPoolExecutor.java",
                  "lineNumber" : 617,
                  "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "Thread.java",
                  "lineNumber" : 748,
                  "className" : "java.lang.Thread",
                  "nativeMethod" : false
                } ],
                "state" : "TIMED_WAITING"
              }, {
                "id" : 185406,
                "priority" : 10,
                "name" : "high-pool-2-thread-162195",
                "cpuTime" : 25843380,
                "userTime" : 20000000,
                "lockInfo" : {
                  "className" : "java.util.concurrent.SynchronousQueue$TransferStack",
                  "identityHashCode" : 9114916
                },
                "lockOwnerId" : -1,
                "lockOwnerName" : null,
                "location" : [ {
                  "methodName" : "park",
                  "fileName" : "Unsafe.java",
                  "lineNumber" : -2,
                  "className" : "sun.misc.Unsafe",
                  "nativeMethod" : true
                }, {
                  "methodName" : "parkNanos",
                  "fileName" : "LockSupport.java",
                  "lineNumber" : 215,
                  "className" : "java.util.concurrent.locks.LockSupport",
                  "nativeMethod" : false
                }, {
                  "methodName" : "awaitFulfill",
                  "fileName" : "SynchronousQueue.java",
                  "lineNumber" : 460,
                  "className" : "java.util.concurrent.SynchronousQueue$TransferStack",
                  "nativeMethod" : false
                }, {
                  "methodName" : "transfer",
                  "fileName" : "SynchronousQueue.java",
                  "lineNumber" : 362,
                  "className" : "java.util.concurrent.SynchronousQueue$TransferStack",
                  "nativeMethod" : false
                }, {
                  "methodName" : "poll",
                  "fileName" : "SynchronousQueue.java",
                  "lineNumber" : 941,
                  "className" : "java.util.concurrent.SynchronousQueue",
                  "nativeMethod" : false
                }, {
                  "methodName" : "getTask",
                  "fileName" : "ThreadPoolExecutor.java",
                  "lineNumber" : 1066,
                  "className" : "java.util.concurrent.ThreadPoolExecutor",
                  "nativeMethod" : false
                }, {
                  "methodName" : "runWorker",
                  "fileName" : "ThreadPoolExecutor.java",
                  "lineNumber" : 1127,
                  "className" : "java.util.concurrent.ThreadPoolExecutor",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "ThreadPoolExecutor.java",
                  "lineNumber" : 617,
                  "className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "Thread.java",
                  "lineNumber" : 748,
                  "className" : "java.lang.Thread",
                  "nativeMethod" : false
                } ],
                "state" : "TIMED_WAITING"
              }, {
                "id" : 185409,
                "priority" : 5,
                "name" : "qtp1360975-185409",
                "cpuTime" : 85153122,
                "userTime" : 80000000,
                "lockInfo" : {
                  "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                  "identityHashCode" : 15272570
                },
                "lockOwnerId" : -1,
                "lockOwnerName" : null,
                "location" : [ {
                  "methodName" : "park",
                  "fileName" : "Unsafe.java",
                  "lineNumber" : -2,
                  "className" : "sun.misc.Unsafe",
                  "nativeMethod" : true
                }, {
                  "methodName" : "parkNanos",
                  "fileName" : "LockSupport.java",
                  "lineNumber" : 215,
                  "className" : "java.util.concurrent.locks.LockSupport",
                  "nativeMethod" : false
                }, {
                  "methodName" : "awaitNanos",
                  "fileName" : "AbstractQueuedSynchronizer.java",
                  "lineNumber" : 2078,
                  "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                  "nativeMethod" : false
                }, {
                  "methodName" : "poll",
                  "fileName" : "ArrayBlockingQueue.java",
                  "lineNumber" : 418,
                  "className" : "java.util.concurrent.ArrayBlockingQueue",
                  "nativeMethod" : false
                }, {
                  "methodName" : "idleJobPoll",
                  "fileName" : "QueuedThreadPool.java",
                  "lineNumber" : 563,
                  "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                  "nativeMethod" : false
                }, {
                  "methodName" : "access$800",
                  "fileName" : "QueuedThreadPool.java",
                  "lineNumber" : 48,
                  "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "QueuedThreadPool.java",
                  "lineNumber" : 626,
                  "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool$2",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "Thread.java",
                  "lineNumber" : 748,
                  "className" : "java.lang.Thread",
                  "nativeMethod" : false
                } ],
                "state" : "TIMED_WAITING"
              }, {
                "id" : 185410,
                "priority" : 5,
                "name" : "qtp1360975-185410",
                "cpuTime" : 128133958,
                "userTime" : 110000000,
                "lockInfo" : {
                  "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                  "identityHashCode" : 15272570
                },
                "lockOwnerId" : -1,
                "lockOwnerName" : null,
                "location" : [ {
                  "methodName" : "park",
                  "fileName" : "Unsafe.java",
                  "lineNumber" : -2,
                  "className" : "sun.misc.Unsafe",
                  "nativeMethod" : true
                }, {
                  "methodName" : "parkNanos",
                  "fileName" : "LockSupport.java",
                  "lineNumber" : 215,
                  "className" : "java.util.concurrent.locks.LockSupport",
                  "nativeMethod" : false
                }, {
                  "methodName" : "awaitNanos",
                  "fileName" : "AbstractQueuedSynchronizer.java",
                  "lineNumber" : 2078,
                  "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                  "nativeMethod" : false
                }, {
                  "methodName" : "poll",
                  "fileName" : "ArrayBlockingQueue.java",
                  "lineNumber" : 418,
                  "className" : "java.util.concurrent.ArrayBlockingQueue",
                  "nativeMethod" : false
                }, {
                  "methodName" : "idleJobPoll",
                  "fileName" : "QueuedThreadPool.java",
                  "lineNumber" : 563,
                  "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                  "nativeMethod" : false
                }, {
                  "methodName" : "access$800",
                  "fileName" : "QueuedThreadPool.java",
                  "lineNumber" : 48,
                  "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "QueuedThreadPool.java",
                  "lineNumber" : 626,
                  "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool$2",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "Thread.java",
                  "lineNumber" : 748,
                  "className" : "java.lang.Thread",
                  "nativeMethod" : false
                } ],
                "state" : "TIMED_WAITING"
              }, {
                "id" : 185411,
                "priority" : 5,
                "name" : "qtp1360975-185411",
                "cpuTime" : 801791,
                "userTime" : 0,
                "lockInfo" : {
                  "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                  "identityHashCode" : 15272570
                },
                "lockOwnerId" : -1,
                "lockOwnerName" : null,
                "location" : [ {
                  "methodName" : "park",
                  "fileName" : "Unsafe.java",
                  "lineNumber" : -2,
                  "className" : "sun.misc.Unsafe",
                  "nativeMethod" : true
                }, {
                  "methodName" : "parkNanos",
                  "fileName" : "LockSupport.java",
                  "lineNumber" : 215,
                  "className" : "java.util.concurrent.locks.LockSupport",
                  "nativeMethod" : false
                }, {
                  "methodName" : "awaitNanos",
                  "fileName" : "AbstractQueuedSynchronizer.java",
                  "lineNumber" : 2078,
                  "className" : "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject",
                  "nativeMethod" : false
                }, {
                  "methodName" : "poll",
                  "fileName" : "ArrayBlockingQueue.java",
                  "lineNumber" : 418,
                  "className" : "java.util.concurrent.ArrayBlockingQueue",
                  "nativeMethod" : false
                }, {
                  "methodName" : "idleJobPoll",
                  "fileName" : "QueuedThreadPool.java",
                  "lineNumber" : 563,
                  "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                  "nativeMethod" : false
                }, {
                  "methodName" : "access$800",
                  "fileName" : "QueuedThreadPool.java",
                  "lineNumber" : 48,
                  "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "QueuedThreadPool.java",
                  "lineNumber" : 626,
                  "className" : "org.eclipse.jetty.util.thread.QueuedThreadPool$2",
                  "nativeMethod" : false
                }, {
                  "methodName" : "run",
                  "fileName" : "Thread.java",
                  "lineNumber" : 748,
                  "className" : "java.lang.Thread",
                  "nativeMethod" : false
                } ],
                "state" : "TIMED_WAITING"
              } ]
              

              Do not follow where the path may lead; go instead where there is no path.
              And leave a trail - Muriel Strode

              1 Reply Last reply Reply Quote 0
              • phildunlapP
                phildunlap
                last edited by

                Is the DS_XID supposed to ba particular XID (I presume the serial ds xid is what you are referring to...) and is the chrome developer console sufficient? In the dev console all I got was undefined variable com

                It was supposed to be the data source XID of your serial data source. It was also to be run in a Mango JavaScript context. I probably shouldn't have said JavaScript console, that's not really what those are. Mango could use a JavaScript console...

                Oh shoot, it's not just the virtual, this one I've had the latest error was connecting to the supplied /dev/ttymUSB1

                My advisements were definitely for a virtual port! Although, you could try logging I/O and running that code in a Mango JavaScript context, still. The thread dump (which you could have emailed to support@infiniteautomation.com and I would have parsed the JSON using this script to look for either stuck threads or threads that were running for a very long time: https://github.com/infiniteautomation/ma-devtools/blob/master/PythonUtilities/Administration/parseThreads.py

                As it is though, with a real serial port, the thread dump isn't going to help us, it wouldn't seem. The handling of the serial port would be done in native code by the JSSC library and it would just hand events into Java. That would lead me to wonder if the connection with the serial device is spotty. You could check that by seeing if the port is getting re-enumerated or disconnecting by checking the dmesg output over SSH for the USB registration events. I would also wonder if the converter itself didn't have the issue, since we would be talking about a USB to 485 converter, or something, right?

                MattFoxM 1 Reply Last reply Reply Quote 0
                • MattFoxM
                  MattFox @phildunlap
                  last edited by

                  @phildunlap said in Serial Datasource seems to timeout...:

                  My advisements were definitely for a virtual port!

                  Sorry about that Phil...

                  @phildunlap said in Serial Datasource seems to timeout...:

                  I would also wonder if the converter itself didn't have the issue, since we would be talking about a USB to 485 converter, or something, right?

                  Yes a RS232 but it's the same chip we've be using it for quite some time. It's only recently with the newer versions of mango we've been having these issues with the serial still being connected, but the data doesn't enter the datasource. Disabling and re-enabling it fixes the issue...

                  @phildunlap said in Serial Datasource seems to timeout...:

                  You could check that by seeing if the port is getting re-enumerated or disconnecting by checking the dmesg output over SSH for the USB registration events.

                  Thanks I'll give it a go and will see what I can find.

                  Fox

                  Do not follow where the path may lead; go instead where there is no path.
                  And leave a trail - Muriel Strode

                  1 Reply Last reply Reply Quote 0
                  • phildunlapP
                    phildunlap
                    last edited by

                    Yes a RS232 but it's the same chip we've be using it for quite some time. It's only recently with the newer versions of mango we've been having these issues with the serial still being connected, but the data doesn't enter the datasource. Disabling and re-enabling it fixes the issue...

                    So you are experiencing the same issue on multiple MangoES units all using the same USB-232 converter? Hmm...

                    Offhand I can't really recall anything changing that should have affected that, but once again I'll have to say I'll look into it tomorrow (at least I'll be cogitating on the right thing this time!). What version are you upgrading these from? 3.3.4 ? The last change i'm aware of was in 3.3.3 to attempt to open ports even if unknown to the serial port manager. Other than that nothing would have changed AFAIK in quite a long while.

                    Disabling and re-enabling it fixes the issue...

                    The timeout event may help unstick it, but I suspect the port is getting reconnected, so I'll be curious to see the result of checking the dmesg log for one experiencing the issue.

                    MattFoxM 1 Reply Last reply Reply Quote 0
                    • MattFoxM
                      MattFox @phildunlap
                      last edited by

                      @phildunlap said in Serial Datasource seems to timeout...:

                      What version are you upgrading these from?

                      Some of these were in the early 3.3's to 3.4.5 so I'm running the latest mango software. I'll email the dmesg output stuff for you. Hmm looks like it's being tossed around... but that's my opinion.

                      Do not follow where the path may lead; go instead where there is no path.
                      And leave a trail - Muriel Strode

                      1 Reply Last reply Reply Quote 0
                      • phildunlapP
                        phildunlap
                        last edited by

                        We'll see! Knowing that it's an ES (and assuming it's a V3 ES) and a real port brings to mind that the USB port directly adjacent to the ethernet port is on the base board, while the other USB port (beside the RS485 port) is on the daughter board and has a jumper board to the base board. That jumper board has caused issues before by being too loose, which could definitely result in the port getting disconnected momentarily and then rediscovered by the OS. I can tell by the symlink, ttymUSB1, that you are connected through the jumper board.

                        1 Reply Last reply Reply Quote 0
                        • phildunlapP
                          phildunlap
                          last edited by phildunlap

                          Upon a screenshare with Fox, we discovered there were \n and null characters in the incoming bytes that were not being matched and consumed by the serial data source, which caused the data source to seize up when these characters started clogging the buffer. A combination of rewriting the regex and preventing the nulls from transmitting brought this issue resolution!

                          Edit: A similar issue happened again after I proclaimed resolution. This led me to a concurrency bug in the virtual serial server socket.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post