perhaps find somewhere “clever” to insert the following code, looking/monitoring for weird/corrupted values:
for i,tran in pairs(transition.\_transitionTable) do print("TRANSITION # " .. tostring(i)) for k,v in pairs(tran) do print(" ", k, v) if (k == "\_target") then -- is v nil? does v == obj? etc end end end
assumption is that ‘targetObject’ would be a function-local reference to ‘aTransition._target’, used internally in some way.
maybe if u can spot corruption in the transition table then that ‘explains’ corruption in the function-local which holds a copy of it? (tho doesn’t explain corruption of the table)
otoh, if table appears non-corrupt, and just local ‘targetObject’ is corrupt, then likely there’s some obscure code-path that ‘accidentally’ leaves that local nil (instead of table value).