ArduPilot / ArduPilot/MAVProxy
CPU usage jumps to 100% when no UAV connected and remote TCP device disconnects
- Dominant language
- Python
- Stars
- 595
- Forks
- 773
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 18
Description
Steps to reproduce:
1. Start MAVProxy with UDP master and TCP out: `mavproxy.py --master udpin:0.0.0.0:14550 --out tcpin:0.0.0.0:14550`
2. QGroundControl connects to MAVProxy via tcpin link
3. Go to Comm Links in QGroundControl and hit "Disconnect" on the TCP connection
mavproxy.py CPU usage jumps to 100% and stays there:
```
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
822890 dwaiting 20 0 280876 77804 33712 S 100.0 7.8 2:08.59 mavproxy.py
```
In addition to the problem with the CPU, MAVProxy will not accept another TCP connection at this point.
This problem occurs only when there is no active UAV connected to the udpin link. If there is an active UAV, QGroundControl can connect and disconnect repeatedly, and neither of the above problems are observed.
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the issue with the documented mavproxy.py command, an empty UDP master, and a QGroundControl TCP disconnect. Start by tracing the TCP disconnect and reconnection handling from mavproxy.py; done means CPU usage stays normal and MAVProxy accepts another TCP connection when no UAV is connected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100