Client can endlessly block in stopDetector if the server(s) fail replying F_STOP_ACQUISITION #896
Labels
action - Bug
Something isn't working as expected
priority - Unclassified
Priority not classified as yet
status - Pending
Task not yet started
*Distribution:
Ubuntu 20.04
*Detector type:
Eiger
*Software Package Version:
6.0.0
Priority:
Low
*Describe the bug
With the Eiger detector, if the acquisition fails due to a detector head buffer overrun (a very large number of frames not fitting in the detector memory), a F_STOP_ACQUISITION might not be properly acknowledged. This can block the client in an endless loop, requiring a SIGKILL to stop the application.
Expected behavior
sls::Detector API should provide some kind of timeout mechanism. An additional timeout argument to the sls::DataSocket::Receive() family, used by sls::Module::sendToDetector() and co., might help to better deal with this kind of exceptions.
To Reproduce
Force a detector head buffer overrun and then stop the acquisition
Screenshots
Additional context
The text was updated successfully, but these errors were encountered: