I think the process model is used in the test sequence. In this case, is it safe adding a step to release this object after starting the next UUT? What I have in mind is put that step after the step that resets the network card, so it would have to execute for every UUT.
Could you please also elaborate on how I should find out the proper GUID in order to reset the Datalink variable? I know a statement can clear this reference object, but without knowing the variable name, it doesn't seem to be possible. Although GUID appears the same every time, but I don't want to hardcode the variable name.
As long as you are not using OTF logging to database, I think what you propose should work. By default the logging occurs in a separate thread while testing starts on the new UUT, but since the logger will have its own reference to the database, setting the property on the Execution to Nothing should be fine.
To find the property you will need to iterate on the subproperties on the Execution object by first calling Execution.GetNumProperties and the using Execution.GetNthSubPropertyName in a loop, and if the name matches what you want, you call Execution.DeleteNthSubProperty or Execution.SetValInterface(name, 0, NULL)
It seems that GetNumSubProperties and GetNthSubPropertyName methods do not exist in 'Execution'. The mothod would work okay when I tried iterating on the subproperties on another object such as 'Locals'. Could you please confirm this, and let me know if I was wrong? Are there other alternative ways to handle 'Execution'?
Is there a workaround for OTF logging? I am seeing an similar error after a few hrs of executions. I will have to check the IP the next time this error occurs.