ArduPilot / ArduPilot/MissionPlanner
Crash on live compass calibration when using MONO, `!xcb_xlib_too_much_data_requested' failed.
- Dominant language
- C#
- Stars
- 2.4k
- Forks
- 2.9k
- Avg merge
- 19h 16m
- Merged PRs (30d)
- 4
Description
seems to be 100% reproducible,
Mono JIT compiler version 3.0.7 (tarball Wed Mar 20 11:53:53 UTC 2013)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: Included Boehm (with typed GC and Parallel Mark)
```
bps 1211 loss 0 left 17 mem 92.68359375
bps 1327 loss 0 left 17 mem 93.01953125
bps 1327 loss 0 left 28 mem 93.31640625
CustomMessageBox thread calling Base Thread
CustomMessageBox thread running Base Thread
bps 1391 loss 0 left 28 mem 93.81640625
bps 1327 loss 0 left 15 mem 95.515625
INFO MissionPlanner.Controls.ProgressReporterDialogue - RunBackgroundOperation
INFO MissionPlanner.Controls.ProgressReporterDialogue - Focus ctl
[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:736: _XRead: Assertion `!xcb_xlib_too_much_data_requested' failed.
Stacktrace:
at <0xffffffff>
at (wrapper managed-to-native) System.Windows.Forms.X11Keyboard.XCreateFontSet (intptr,string,intptr&,int&,intptr) <0xffffffff>
at System.Windows.Forms.X11Keyboard.CreateOverTheSpotXic (intptr,intptr) <0x000ab>
at System.Windows.Forms.X11Keyboard.CreateXic (intptr,intptr) <0x000eb>
at System.Windows.Forms.X11Keyboard.CreateXicForWindow (intptr) <0x00033>
at System.Windows.Forms.X11Keyboard.FocusIn (intptr) <0x0009b>
at System.Windows.Forms.XplatUIX11.SetFocus (intptr) <0x000e7>
at System.Windows.Forms.XplatUI.SetFocus (intptr) <0x00024>
at System.Windows.Forms.Control.Select (System.Windows.Forms.Control) <0x00297>
at System.Windows.Forms.Control.FocusInternal (bool) <0x0006b>
at System.Windows.Forms.Form.FocusInternal (bool) <0x00047>
at System.Windows.Forms.Control.Focus () <0x00015>
at MissionPlanner.Controls.ProgressReporterDialogue.ProgressReporterDialogue_Load (object,System.EventArgs) <0x0000f>
at System.Windows.Forms.Form.OnLoad (System.EventArgs) <0x00075>
at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs) <0x0007f>
at System.Windows.Forms.Form.OnCreateControl () <0x00053>
at System.Windows.Forms.Control.CreateControl () <0x0011f>
at System.Windows.Forms.Control.WmShowWindow (System.Windows.Forms.Message&) <0x00193>
at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message&) <0x002c7>
at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message&) <0x00013>
at System.Windows.Forms.ContainerControl.WndProc (System.Windows.Forms.Message&) <0x0005b>
at System.Windows.Forms.Form.WndProc (System.Windows.Forms.Message&) <0x00257>
at System.Windows.Forms.Control/ControlWindowTarget.OnMessage (System.Windows.Forms.Message&) <0x00024>
at System.Windows.Forms.Control/ControlNativeWindow.WndProc (System.Windows.Forms.Message&) <0x00036>
at System.Windows.Forms.NativeWindow.WndProc (intptr,System.Windows.Forms.Msg,intptr,intptr) <0x00310>
at System.Windows.Forms.XplatUIX11.SendMessage (intptr,System.Windows.Forms.Msg,intptr,intptr) <0x00313>
at System.Windows.Forms.XplatUIX11.MapWindow (System.Windows.Forms.Hwnd,System.Windows.Forms.WindowType) <0x001fb>
at System.Windows.Forms.XplatUIX11.CreateWindow (System.Windows.Forms.CreateParams) <0x00d53>
at System.Windows.Forms.XplatUI.CreateWindow (System.Windows.Forms.CreateParams) <0x00024>
at System.Windows.Forms.NativeWindow.CreateHandle (System.Windows.Forms.CreateParams) <0x0003f>
at System.Windows.Forms.Control.CreateHandle () <0x00069>
at System.Windows.Forms.Form.CreateHandle () <0x0001b>
at System.Windows.Forms.Control.CreateControl () <0x00087>
at System.Windows.Forms.Control.SetVisibleCore (bool) <0x0009f>
at System.Windows.Forms.Form.SetVisibleCore (bool) <0x002ef>
at System.Windows.Forms.Control.set_Visible (bool) <0x00032>
at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control.set_Visible (bool) <0xffffffff>
at System.Windows.Forms.Application.RunLoop (bool,System.Windows.Forms.ApplicationContext) <0x002cf>
at System.Windows.Forms.Form.ShowDialog (System.Windows.Forms.IWin32Window) <0x00817>
at System.Windows.Forms.Form.ShowDialog () <0x0000f>
at MissionPlanner.Controls.ProgressReporterDialogue.RunBackgroundOperationAsync () <0x0004f>
at (wrapper remoting-invoke-with-check) MissionPlanner.Controls.ProgressReporterDialogue.RunBackgroundOperationAsync () <0xffffffff>
at MissionPlanner.GCSViews.ConfigurationView.ConfigHWCompass.BUT_MagCalibration_Click (object,System.EventArgs) <0x000a3>
at System.Windows.Forms.Control.OnClick (System.EventArgs) <0x00069>
at System.Windows.Forms.Button.OnClick (System.EventArgs) <0x00053>
at MissionPlanner.Controls.MyButton.OnClick (System.EventArgs) <0x00013>
at System.Windows.Forms.ButtonBase.OnMouseUp (System.Windows.Forms.MouseEventArgs) <0x00101>
at System.Windows.Forms.Button.OnMouseUp (System.Windows.Forms.MouseEventArgs) <0x00013>
at MissionPlanner.Controls.MyButton.OnMouseUp (System.Windows.Forms.MouseEventArgs) <0x00027>
at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message&) <0x00128>
at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message&) <0x00207>
at System.Windows.Forms.ButtonBase.WndProc (System.Windows.Forms.Message&) <0x00093>
at System.Windows.Forms.Button.WndProc (System.Windows.Forms.Message&) <0x00013>
at System.Windows.Forms.Control/ControlWindowTarget.OnMessage (System.Windows.Forms.Message&) <0x00024>
at System.Windows.Forms.Control/ControlNativeWindow.WndProc (System.Windows.Forms.Message&) <0x00036>
at System.Windows.Forms.NativeWindow.WndProc (intptr,System.Windows.Forms.Msg,intptr,intptr) <0x00310>
at System.Windows.Forms.XplatUIX11.DispatchMessage (System.Windows.Forms.MSG&) <0x0001f>
at System.Windows.Forms.XplatUI.DispatchMessage (System.Windows.Forms.MSG&) <0x00024>
at System.Windows.Forms.Application.RunLoop (bool,System.Windows.Forms.ApplicationContext) <0x00c9b>
at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext) <0x0005f>
at System.Windows.Forms.Application.Run (System.Windows.Forms.Form) <0x00033>
at MissionPlanner.Program.Main (string[]) <0x002df>
at (wrapper runtime-invoke) .runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
mono() [0x4a290d]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xfbb0) [0x7f8b09056bb0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37) [0x7f8b08cb5f77]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7f8b08cb95e8]
/lib/x86_64-linux-gnu/libc.so.6(+0x2fd43) [0x7f8b08caed43]
/lib/x86_64-linux-gnu/libc.so.6(+0x2fdf2) [0x7f8b08caedf2]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XRead+0xd5) [0x7f8b02a5a985]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XRead32+0x24) [0x7f8b02a5b414]
/usr/lib/x86_64-linux-gnu/libX11.so.6(XListFontsWithInfo+0x368) [0x7f8b02a3e018]
/usr/lib/x86_64-linux-gnu/libX11.so.6(+0x736ed) [0x7f8b02a916ed]
/usr/lib/x86_64-linux-gnu/libX11.so.6(XCreateOC+0xeb) [0x7f8b02a49d9b]
/usr/lib/x86_64-linux-gnu/libX11.so.6(XCreateFontSet+0x5c) [0x7f8b02a3ea1c]
[0x40dbf83b]
Debug info from gdb:
Could not attach to process. If your uid matches the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Operation not permitted.
No threads.
=================================================================
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.
=================================================================
Aborted (core dumped)
andre@Loke:~/MP$
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce live compass calibration with the reported Mono 3.0.7 environment, then start at MissionPlanner.GCSViews.ConfigurationView.ConfigHWCompass.BUT_MagCalibration_Click and trace ProgressReporterDialogue_Load through the System.Windows.Forms X11Keyboard stack. Done means calibration no longer aborts with the _XRead assertion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, linux
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100