Skip to content

Occasional corruption of polled_cmd property

Occasionally, usually after we perform an upgrade/redeploy, we see some devices with a mangled polled_cmd property.

These are SKA devices where the only polled command is ExecutePendingOperations. I understand that these devices set the period to 5ms on startup, and then after init to 100ms.

Last week when I reported this on Mattermost, it was a device server hosting four devices, where the symptom was a segfault on startup:

  • device 1 was correct
  • device 2 had the value ["ExecutePendingOperations"]
  • device 3 had the value ["100", "100"]
  • device 4 had the value ["100"]

This has just re-occurred with a different device server hosting a single device, whose polled_cmd property looked like ["ExecutePendingOperations", "5", "100"]. This device started apparently normally, but then displayed odd behaviour - not sure how much is relevant to Tango Controls code as opposed to SKA however.

I am not able to reliably reproduce this problem (but manually manging the property value reliably produces the bad behaviour).

As well as a fix for whatever bug is causing the corruption, I suppose a check that these special attributes are in the right format on device startup would make this problem easier to detect.