Attaching Thread Dump. After a restart, I have just a couple hundred timed waiting threads. Then I get a bunch of perspective worker thread and OPC-UA Platform Executor threads. My gateway crashes when it gets to about this level. And My devices are going stale. Where it doesn’t throw any errors through the tags or through the OPC module. It acts as if the connection is fine. But, tags are changing in PLC and not in Ignition.
I’m not calling time.sleep anywhere. I do have a more powerful server I am setting up and moving to Linux system. But, this started with 8.0.16. Wonder why I wouldn’t of had these problems on a prior version.
We have the same problem on our system since upgrading to 8.1.3 from 8.0.15. Server piles up in about 3 days with hundreds or more of perspective worker threads. I can’t seem to isolate it to any particular project yet. Anyone figure out how to find the originating component or view of the threads? That would help immensely.
I think one thing all of these cases have had in common is that they are doing some kind of blocking script call inside a binding transform, which much like runScript is very much discouraged.
I got a 32 core server and my problems went awya. But, I’ve never used runScript() and I’ve been very careful with time.sleep. Never inside a binding. Only in events
Kevin, thank you so much for the pointer there, we solved this problem. Recently a new view was created with a table and many columns rendered as views to show tag values, and they were all using tag.readBlocking in transforms. We’ve changed this to tag bindings with script transforms for the formatting and it’s all looking great now. Cheers!!