Bug 416173 - EKOS hangs when an INDI driver crashes
Summary: EKOS hangs when an INDI driver crashes
Status: RESOLVED FIXED
Alias: None
Product: kstars
Classification: Applications
Component: general (show other bugs)
Version: 3.3.9
Platform: Debian stable Linux
: NOR major
Target Milestone: ---
Assignee: Jasem Mutlaq
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-01-12 16:29 UTC by Wolfgang Reissenberger
Modified: 2020-03-25 15:48 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 3.4.2


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wolfgang Reissenberger 2020-01-12 16:29:00 UTC
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.
Comment 1 Jasem Mutlaq 2020-03-25 15:48:32 UTC
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