I have Ubuntu 14.04LTS 64bit.

I installed GitExtensions by first installing Mono

sudo apt-get install mono-complete

and then downloading and unzipping both GitExtensions_2.48.05 (the latest at time of writing) and GitExtensions_2.44 (as recommended here). Run them using

mono GitExtensions.exe

Both versions are identically unusably unreliable.

Two examples:

  1. The UI is broken: nothing appears under "Common Actions" or "Recent Repositories" - although I can work around that using menu options. Broken UI

  2. Open a repository, make a few changes, click Commit -> the Commit dialogue appears. Click the close (X) button on that and the app crashes - 100% repeatable. Console output below.

I use Git Extensions on Windows at work and it's never missed a beat.

I'm not really looking to debug the app - but for whether this does actually work in a usable way on Ubuntu. Has anyone got it working? What's the magic spell please?

SendMessage (75498426, 0xbb, (nil), (nil))
SendMessage (75498426, 0xc1, (nil), (nil))
SendMessage (75498426, 0x439, (nil), 0x7fff05218298)
SendMessage (75498426, 0xbb, (nil), (nil))
SendMessage (75498426, 0xc1, (nil), (nil))
SendMessage (75498426, 0x439, (nil), 0x7fff05219a28)
System.InvalidCastException: Cannot cast from source type to destination type.
  at System.Windows.Forms.Control+ControlNativeWindow.ControlFromHandle (IntPtr hWnd) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.FromHandle (IntPtr handle) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.X11Keyboard.MoveCurrentCaretPos () [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11.MoveResizeWindow (IntPtr display, IntPtr window, Int32 x, Int32 y, Int32 width, Int32 height) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11.PerformNCCalc (System.Windows.Forms.Hwnd hwnd) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11.GetWindowPos (IntPtr handle, Boolean is_toplevel, System.Int32& x, System.Int32& y, System.Int32& width, System.Int32& height, System.Int32& client_width, System.Int32& client_height) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.XplatUI.GetWindowPos (IntPtr handle, Boolean is_toplevel, System.Int32& x, System.Int32& y, System.Int32& width, System.Int32& height, System.Int32& client_width, System.Int32& client_height) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.UpdateBounds () [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.WmWindowPosChanged (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ContainerControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Form.WmWindowPosChanged (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Form.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0 

Unhandled Exception:
System.ArgumentException: A null reference or invalid value was found [GDI+ status: InvalidParameter]
  at System.Drawing.GDIPlus.CheckStatus (Status status) [0x00000] in <filename unknown>:0 
  at System.Drawing.Graphics.GdipMeasureString (IntPtr graphics, System.String text, System.Drawing.Font font, System.Drawing.RectangleF& layoutRect, IntPtr stringFormat) [0x00000] in <filename unknown>:0 
  at System.Drawing.Graphics.MeasureString (System.String text, System.Drawing.Font font, Int32 width, System.Drawing.StringFormat format) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Drawing.Graphics:MeasureString (string,System.Drawing.Font,int,System.Drawing.StringFormat)
  at System.Windows.Forms.TextRenderer.MeasureTextInternal (IDeviceContext dc, System.String text, System.Drawing.Font font, Size proposedSize, TextFormatFlags flags, Boolean useMeasureString) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.TextRenderer.MeasureText (System.String text, System.Drawing.Font font, Size proposedSize, TextFormatFlags flags) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ToolStripItem.OnParentChanged (System.Windows.Forms.ToolStrip oldParent, System.Windows.Forms.ToolStrip newParent) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ToolStripItem.set_Parent (System.Windows.Forms.ToolStrip value) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.ToolStripItem:set_Parent (System.Windows.Forms.ToolStrip)
  at System.Windows.Forms.ToolStripItemCollection.Remove (System.Windows.Forms.ToolStripItem value) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ToolStripItem.Dispose (Boolean disposing) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ToolStripDropDownItem.Dispose (Boolean disposing) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ToolStripMenuItem.Dispose (Boolean disposing) [0x00000] in <filename unknown>:0 
  at System.ComponentModel.Component.Finalize () [0x00000] in <filename unknown>:0 
  • Shouldn't you be using wine? – fosslinux Aug 2 '15 at 21:04
  • Maybe I should - why do you think that? (Just had a quick try and it doesn't seem trivial to do that way either. If it's the right way to do it, I may persist...) – Mark Smith Aug 2 '15 at 21:22
  • I had to install some more packages: sudo apt-get install git mono-complete kdiff3 putty ssh to make it work. But still it crashes all the time. I switched to using GitKraken on Linux for now. – matth May 12 '17 at 14:10
  • See this explanation. – Sun Bear Nov 15 '18 at 6:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.