gilestrolab / ethoscope

a platform from monitoring animal behaviour in real time from a raspberry pi
http://lab.gilest.ro/ethoscope/
GNU General Public License v3.0
17 stars 25 forks source link

Problem in error comunication between listener and device makes the ethoscope crash #176

Closed ggilestro closed 1 year ago

ggilestro commented 1 year ago

The earlier commit that created two services did not handle well how errors propagate between the two whenever the raise statement is used.

Two examples to reproduce this are 1) when the ethoscope_listener service raises an issue when three targets cannot be found, the system hangs.

https://github.com/gilestrolab/ethoscope/blob/666c6dae12d88d534fe3367c9ada965f2082b79c/src/ethoscope/roi_builders/target_roi_builder.py#L177-L180

2) when a problem occurs during image acquisition.

https://github.com/gilestrolab/ethoscope/blob/666c6dae12d88d534fe3367c9ada965f2082b79c/src/ethoscope/hardware/input/cameras.py#L252-L253

In both cases, ethoscope_listener should raise the problem so that ethoscope_device can show it and both should continue.