MacOS – KeePass / Mono under Yosemite does not work

macosmono

I installed KeePass as described here but it KeePass does not start – Activity Monitor tells me that Mono is not responding. I have never used KeePass before (if this is relevant).

I am using Yosemite

I am not sure if this a Mono or a KeePass issue, but I also tried Mono 3.10 version and the same happened.

Any experiences with KeePass / Mono under Yosemite or ideas how I could troubleshoot what is happening?

I know about KeePassX – but the consensus seems to be that KeePass is the better option?

EDIT:

I just ran keeps from the command line, and got the following output (no idea what it means…):

 System.EntryPointNotFoundException: GdipCreateFromContext_macosx
  at (wrapper managed-to-native) System.Drawing.GDIPlus:GdipCreateFromContext_macosx (intptr,int,int,intptr&)
  at System.Drawing.Graphics.FromHwnd (IntPtr hwnd) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateGraphics () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.TextBoxBase.CreateGraphicsInternal () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.TextBoxBase:CreateGraphicsInternal ()
  at System.Windows.Forms.Document.owner_HandleCreated (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.OnHandleCreated (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.TextBoxBase.OnHandleCreated (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.RichTextBox.OnHandleCreated (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WmCreate (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.TextBoxBase.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.RichTextBox.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
System.EntryPointNotFoundException: GdipCreateFromContext_macosx
  at (wrapper managed-to-native) System.Drawing.GDIPlus:GdipCreateFromContext_macosx (intptr,int,int,intptr&)
  at System.Drawing.Graphics.FromHwnd (IntPtr hwnd) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateGraphics () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.TextBoxBase.CreateGraphicsInternal () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.TextBoxBase:CreateGraphicsInternal ()
  at System.Windows.Forms.Document.owner_HandleCreated (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.OnHandleCreated (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.TextBoxBase.OnHandleCreated (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.TextBox.OnHandleCreated (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WmCreate (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.TextBoxBase.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.TextBox.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
System.EntryPointNotFoundException: GdipCreateFromContext_macosx
  at (wrapper managed-to-native) System.Drawing.GDIPlus:GdipCreateFromContext_macosx (intptr,int,int,intptr&)
  at System.Drawing.Graphics.FromHwnd (IntPtr hwnd) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateGraphics () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.TextBoxBase.CreateGraphicsInternal () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.TextBoxBase.TextBoxBase_FontOrColorChanged (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.OnFontChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.TextBoxBase.OnFontChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.TextBox.OnFontChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.set_Font (System.Drawing.Font value) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ComboBox.OnFontChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.OnParentFontChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.OnFontChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ToolStrip.OnFontChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.set_Font (System.Drawing.Font value) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ToolStrip.set_Font (System.Drawing.Font value) [0x00000] in <filename unknown>:0
  at KeePass.UI.GlobalWindowManager.CustomizeFont (System.Windows.Forms.Control c, System.Drawing.Font font) [0x00000] in <filename unknown>:0
  at KeePass.UI.GlobalWindowManager.CustomizeFont (System.Windows.Forms.Control c, System.Drawing.Font font) [0x00000] in <filename unknown>:0
  at KeePass.UI.GlobalWindowManager.CustomizeControl (System.Windows.Forms.Control c) [0x00000] in <filename unknown>:0
  at KeePass.Forms.MainForm.OnFormLoad (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.OnLoad (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) [0x00000] in <filename unknown>:0
System.NullReferenceException: Object reference not set to an instance of an object
  at KeePass.Forms.MainForm.CleanUpEx () [0x00000] in <filename unknown>:0
  at KeePass.Forms.MainForm.OnFormClosing (System.Object sender, System.Windows.Forms.FormClosingEventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.OnFormClosing (System.Windows.Forms.FormClosingEventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.FireClosingEvents (CloseReason reason, Boolean cancel) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Form:FireClosingEvents (System.Windows.Forms.CloseReason,bool)
  at System.Windows.Forms.Application.Exit (System.ComponentModel.CancelEventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.Exit () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.OnThreadException (System.Exception t) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.OnCreateControl () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateControl () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WmShowWindow (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.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at KeePass.Forms.MainForm.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.EntryPointNotFoundException: GdipCreateFromContext_macosx
  at (wrapper managed-to-native) System.Drawing.GDIPlus:GdipCreateFromContext_macosx (intptr,int,int,intptr&)
  at System.Drawing.Graphics.FromHwnd (IntPtr hwnd) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateGraphics () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.MessageBox+MessageBoxForm.InitFormsSize () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.MessageBox+MessageBoxForm.RunDialog () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.MessageBox/MessageBoxForm:RunDialog ()
  at System.Windows.Forms.MessageBox.Show (System.String text, System.String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton) [0x00000] in <filename unknown>:0
  at KeePassLib.Utility.MessageService.SafeShowMessageBox (System.String strText, System.String strTitle, MessageBoxButtons mb, MessageBoxIcon mi, MessageBoxDefaultButton mdb) [0x00000] in <filename unknown>:0
  at KeePassLib.Utility.MessageService.ShowFatal (System.Object[] vLines) [0x00000] in <filename unknown>:0
  at KeePass.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.EntryPointNotFoundException: GdipCreateFromContext_macosx
  at (wrapper managed-to-native) System.Drawing.GDIPlus:GdipCreateFromContext_macosx (intptr,int,int,intptr&)
  at System.Drawing.Graphics.FromHwnd (IntPtr hwnd) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateGraphics () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.MessageBox+MessageBoxForm.InitFormsSize () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.MessageBox+MessageBoxForm.RunDialog () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.MessageBox/MessageBoxForm:RunDialog ()
  at System.Windows.Forms.MessageBox.Show (System.String text, System.String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton) [0x00000] in <filename unknown>:0
  at KeePassLib.Utility.MessageService.SafeShowMessageBox (System.String strText, System.String strTitle, MessageBoxButtons mb, MessageBoxIcon mi, MessageBoxDefaultButton mdb) [0x00000] in <filename unknown>:0
  at KeePassLib.Utility.MessageService.ShowFatal (System.Object[] vLines) [0x00000] in <filename unknown>:0
  at KeePass.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0

Best Answer

The problem can be solved by installing a new version of mono which fixes this issue, as explained here:

Try installing this mono 3.10 version and forcing a rebuild of your application.

https://www.dropbox.com/s/wrjnv7p8zj1rh5u/MonoFramework-MDK-3.10.0.26.macos10.xamarin.x86.pkg?dl=0

One of the developers on the mono team worked hard to track down and fix this issue. Hopefully, this should be the end of the GDI issues for Xamarin.Mac users.

Thanks, -- Chris H