ArduPilot / ArduPilot/MissionPlanner
'New Firmware' notification causes Mission Planner to crash when using Mono
- Dominant language
- C#
- Stars
- 2.4k
- Forks
- 2.9k
- Avg merge
- 19h 16m
- Merged PRs (30d)
- 4
Description
#### Issue details
When running Mission Planner on Linux using `mono MissionPlanner.exe`, if the vehicle firmware is not the latest version, Mission Planner crashes as soon as a UDP connection is established.
I am running Copter 4.1.1. After establishing a connection over UDP, I get a popup saying that Copter 4.1.2 is available. As soon as this happens, Mission Planner crashes. This was not an issue when 4.1.1 was the latest firmware version.
#### Version
Mission Planner 1.3.75 build 1.3.7883.26333
Mono JIT compiler version 6.12.0.122
#### Platform
[ ] All
[ ] AntennaTracker
[x] Copter
[ ] Plane
[ ] Rover
[ ] Sub
#### Airframe type
Quad H
#### Hardware type
Matek H743
#### Logs
```
[xcb] Too much data requested from _XRead
[xcb] This is most likely caused by a broken X extension library
[xcb] Aborting, sorry about that.
mono: ../../src/xcb_io.c:741: _XRead: Assertion `!xcb_xlib_too_much_data_requested' failed.
=================================================================
Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
=================================================================
Native stacktrace:
=================================================================
0x55fc99584c4b - mono :
0x55fc99584fdd - mono :
0x55fc99531e47 - mono :
0x55fc995841cc - mono :
0x7f138154b3c0 - /lib/x86_64-linux-gnu/libpthread.so.0 :
0x7f138103c18b - /lib/x86_64-linux-gnu/libc.so.6 : gsignal
0x7f138101b859 - /lib/x86_64-linux-gnu/libc.so.6 : abort
0x7f138101b729 - /lib/x86_64-linux-gnu/libc.so.6 :
0x7f138102cf36 - /lib/x86_64-linux-gnu/libc.so.6 :
0x7f1377a0a415 - /lib/x86_64-linux-gnu/libX11.so.6 : _XRead
0x7f1377a0af95 - /lib/x86_64-linux-gnu/libX11.so.6 : _XRead32
0x7f13779ec086 - /lib/x86_64-linux-gnu/libX11.so.6 : XListFontsWithInfo
0x7f1377a43599 - /lib/x86_64-linux-gnu/libX11.so.6 :
0x7f13779f8873 - /lib/x86_64-linux-gnu/libX11.so.6 : XCreateOC
0x7f13779ecb82 - /lib/x86_64-linux-gnu/libX11.so.6 : XCreateFontSet
0x40cd841f - Unknown
=================================================================
Telemetry Dumper:
=================================================================
Pkilling 0x139720199763712x from 0x139721516766976x
Pkilling 0x139720217282304x from 0x139721516766976x
Pkilling 0x139720988288768x from 0x139721516766976x
Pkilling 0x139719375582976x from 0x139721516766976x
Pkilling 0x139721726899968x from 0x139721516766976x
Pkilling 0x139720219383552x from 0x139721516766976x
Pkilling 0x139720990390016x from 0x139721516766976x
Pkilling 0x139721524954880x from 0x139721516766976x
Pkilling 0x139721745321920x from 0x139721516766976x
Pkilling 0x139720970077952x from 0x139721516766976x
Pkilling 0x139719610652416x from 0x139721516766976x
Pkilling 0x139720972179200x from 0x139721516766976x
Pkilling 0x139720974280448x from 0x139721516766976x
Pkilling 0x139721512564480x from 0x139721516766976x
Pkilling 0x139720976381696x from 0x139721516766976x
Pkilling 0x139719595431680x from 0x139721516766976x
Pkilling 0x139721514665728x from 0x139721516766976x
Pkilling 0x139721477945088x from 0x139721516766976x
Pkilling 0x139720966272768x from 0x139721516766976x
Pkilling 0x139720978482944x from 0x139721516766976x
Pkilling 0x139719597532928x from 0x139721516766976x
Pkilling 0x139720980584192x from 0x139721516766976x
Pkilling 0x139721518868224x from 0x139721516766976x
Pkilling 0x139721510381312x from 0x139721516766976x
Pkilling 0x139720982685440x from 0x139721516766976x
Pkilling 0x139719369279232x from 0x139721516766976x
Pkilling 0x139721520969472x from 0x139721516766976x
Pkilling 0x139720213079808x from 0x139721516766976x
Pkilling 0x139719371380480x from 0x139721516766976x
Pkilling 0x139720197662464x from 0x139721516766976x
Pkilling 0x139720203958016x from 0x139721516766976x
Pkilling 0x139720215181056x from 0x139721516766976x
Pkilling 0x139719373481728x from 0x139721516766976x
Entering thread summarizer pause from 0x139721516766976x
Finished thread summarizer pause from 0x139721516766976x.
Failed to create breadcrumb file (null)/crash_hash_0xd73c41f0e
Waiting for dumping threads to resume
bps 9316 loss 0 left 0 mem 97.6748046875 mav2 True sign False mav1 0 mav2 171 signed 0
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce with `mono MissionPlanner.exe` using a UDP connection and an older firmware version so the “New Firmware” notification appears. Trace the notification path from connection establishment, using the provided Mono/X11 crash log as a guide. Done means Mission Planner no longer crashes in this Linux/Mono scenario when the firmware update popup is shown.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, linux
- Domain
- desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100