Had this pop up when a script ran about 20 minutes ago:
E [c.i.i.c.s.TimerScriptTask ] [20:33:28.567]: Error executing global timer script: customer/ranger_device_clean @180,000ms . Repeat errors of this type will be logged as 'debug' messages.
com.inductiveautomation.ignition.common.script.JythonExecException: Traceback (most recent call last):
File "<TimerScript:customer/ranger_device_clean @180,000ms >", line 1, in <module>
File "<module:ranger_device_scan>", line 262, in clean_devices
File "<module:shared.modbus>", line 19, in parse_modbus_map_csv
File "<module:shared.ranger_csv_helpers>", line 15, in parse_csv
UnboundLocalError: local variable 'ValueError' referenced before assignment
Looking at line 15 in that bottom script, the failing line is:
raise ValueError("Map CSV malformed")
I mean, I know about the issues that can happen with memory leaks and persistent objects right around Jython instance restarts, but ValueError should be built-in to Jython!
I can promise we are not intentionally creating our own ValueError class anywhere, and I just did a quick grep and didn't find any typos around ValueError being used. I feel like this is just the most corner-case bug in Jython I've bumped into.
And I suspect if I just touch the python files and nudge the project that it will go away and I will not see it again for months.