Hi all, I have a UDT that takes a dataset(1 row 13 col) and breaks it down into the individual parts for display. This has been working correctly for 6+ years. In the last 2 days the expression tags have started locking up. The underlying dataset changes but the expression tags do not update. I've even tried to force a value into a tag and it would not update.
Tag quality is good unless I modify the udt then it goes unknown.
The only way that i can get the tags to refresh is to disable/enable the tag provider. The server is showing no signs of high cpu or memory usage. I did restart the server last night but have had it happen again after that.
There have been no major changes to this server for a while except for enabling read/write permission on another tag provider for a remote server.
Any ideas on what would be causing this would be greatly appreciated.
You can get a gateway thread dump to see if there's anything compelling, but be aware that 7.9 is long since EOL, and it's likely that the best advice you're going to get at this point is to upgrade. 8.0 completely overhauled the tag system's internal code, in part because of weird bugs just like this.
Definitely do this.
Like tag event scripting, expression tags run in a limited thread pool, size three by default. If anyone has added runScript()
expression tags and not ensured that they will run very quickly (single digit milliseconds or less), then you can stall the entire expression tag subsystem. If the troublesome scripts are waiting on networks or other external tasks, you will see no CPU load from this lockup.
{But yeah, upgrade.)
Thanks Paul! I was expecting this response. I know we need to upgrade just always have a lot of irons in the fire and for the size of the project not many hands.