You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DriverAgent instances are created for each device, and each of these has a self.interface attribute, which is only created onstart. Calling an RPC method, .e.g., set_point before the onstart method runs will cause an AttributeError due to the missing interface attribute which is not handled. Restart of the driver is required to fix that device.
To Reproduce
Create an agent which is makes frequent RPC calls to the driver and start it at the same time or before the driver. Some percentage of the time, the race condition will be triggered.
Expected behavior
The exception should be handled so that it does not break the device.
Additional context
The interface attribute should have been created in init, but this would break some interfaces which require things that aren't available yet. Adding a dummy interface would not really fix the issue either so, while not ideal, we should probably just be catching the missing attribute to avoid the bad effects and logging that it happened.
The text was updated successfully, but these errors were encountered:
DriverAgent instances are created for each device, and each of these has a self.interface attribute, which is only created onstart. Calling an RPC method, .e.g., set_point before the onstart method runs will cause an AttributeError due to the missing interface attribute which is not handled. Restart of the driver is required to fix that device.
To Reproduce
Create an agent which is makes frequent RPC calls to the driver and start it at the same time or before the driver. Some percentage of the time, the race condition will be triggered.
Expected behavior
The exception should be handled so that it does not break the device.
Additional context
The interface attribute should have been created in init, but this would break some interfaces which require things that aren't available yet. Adding a dummy interface would not really fix the issue either so, while not ideal, we should probably just be catching the missing attribute to avoid the bad effects and logging that it happened.
The text was updated successfully, but these errors were encountered: