SUMMARY When an INDI driver crashes and gets restarted by the indiserver, EKOS does not handle this properly. In these cases, EKOS simply hangs and KStars needs to be killed. STEPS TO REPRODUCE 1. Start KStars and connect to an INDI server 2. kill the process of one of the INDI drivers OBSERVED RESULT On the INDI side, the INDI server restarts the driver. EKOS simply hangs. In the debugger, the problem occurs in INDI::BaseClient::disconnectServer() at line 291: listen_thread->join(); It seems like listen_thread is waiting for something. At least, it does not terminate as expected. EXPECTED RESULT EKOS should handle the driver restart as offered by the INDI server. SOFTWARE/OS VERSIONS Linux: Debian 10, Raspbian 9 and Raspbian 10 show the same behavior.
Git commit f8c3d1359ac456449f2a7dc507ca8f4f73a8d406 by Jasem Mutlaq. Committed on 25/03/2020 at 15:45. Pushed by mutlaqja into branch 'master'. Change remoteProperty connection to the default queued connection. Related: bug 398192 FIXED-IN:3.4.2 M +15 -16 kstars/ekos/capture/capture.cpp M +2 -1 kstars/ekos/capture/capture.h M +21 -21 kstars/ekos/guide/guide.cpp M +2 -1 kstars/ekos/guide/guide.h M +1 -2 kstars/indi/drivermanager.cpp M +6 -2 kstars/indi/guimanager.cpp M +41 -31 kstars/indi/indidevice.cpp M +51 -43 kstars/indi/indidevice.h https://commits.kde.org/kstars/f8c3d1359ac456449f2a7dc507ca8f4f73a8d406