Zombies threads with lima bpm
On ID21 with Basler cameras (lima_bv1-5) we observed (@debionne @cyril.guilloud ) that a 'ct(1, lima_bv1.counters)' was generating a lima thread (server side) which never dies.
After digging, we found that the problem came from bpm_proxy.Stop() if not called at the end of an acq+bpm the acq thread dies properly
cam_proxy = lima_bv1._proxy
bpm_proxy = lima._get_proxy('bpm')
bpm_proxy.Start()
cam_proxy.prepareAcq()
cam_proxy.startAcq()
while self._cam_proxy.last_image_ready == -1:
gevent.sleep(0.001)
bpm_proxy.GetResults(0)
cam_proxy.stopAcq() # <====== this line !
bpm_proxy.Stop()
This the piece of code we have tested, it reproduces what happen when doing an acq with lima_bv+bpm.
If the line 'bpm_proxy.Stop()' is commented the lima server acq thread dies ok but with this line the thread become a Zombie!
Edited by Perceval Guillou