ArduPilot / ArduPilot/MAVProxy

CPU usage jumps to 100% when no UAV connected and remote TCP device disconnects

Open
#1,006 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.