Problem with KeePass/Mono: Object reference not set to an instance of an object

Hi, iam using KeePass 2.20 on windows and currently in the process of swtiching to opensuse.
Iam using opensuse 12.1 (KDE desktop).

I found out that it is possible to use keepass on opensuse together with mono, on the keepass website is a link to this repository:
Index of /repositories/Mono:/Community/openSUSE_Factory+Mono

I had not mono installed before.

it is given as kind of a “no brainer”-method to installing KeePass on opensuse, so i added that repo, and then i was able to fine KeePass in the package manager, after it installed (this included mono) i started it and got the following error message:

A fatal error has occurred!
An extended error report has been copied to the clipboard.
Object reference not set to an instance of an object

the extended report follows:

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.NativeWindow.OnThreadException (System.Exception e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11.SendMessage (IntPtr hwnd, Msg message, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11.MapWindow (System.Windows.Forms.Hwnd hwnd, WindowType windows) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11.CreateWindow (System.Windows.Forms.CreateParams cp) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.XplatUI.CreateWindow (System.Windows.Forms.CreateParams cp) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.NativeWindow.CreateHandle (System.Windows.Forms.CreateParams cp) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.CreateHandle () [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Form.CreateHandle () [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.CreateControl () [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.SetVisibleCore (Boolean value) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Form.SetVisibleCore (Boolean value) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.set_Visible (Boolean value) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Visible (bool)
  at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) [0x00000] in <filename unknown>:0 
  at KeePass.Program.Main (System.String] args) [0x00000] in <filename unknown>:0 
Void CleanUpEx()

edit: i just found this:

seems to be related to my problem, iam no expert but this seems i just have to wait for an repo update. Is this correct?

The Build you’re using is a “very” old version of Keepass (> 6 mths at least, 2 releases since).

I went to the Keepass website, it’s possible to download the source for the most recent version of Keepass.

Since I have MonoDevelop installed already, I did a quick attempt to create a new build (note the README which contains a generic code signing key which <should> work).

But, the Build fails complaining about an incorrect PFX format.
I didn’t investigate further, but the solution might be trivial, assuming that the generic key works.

So, it looks like you might need to wait but if someone sees this and is willing to spend the time (it might be only seconds or minutes to resolve the PFX format problem, I’d recommend regenerating the PFX key externally and replacing instead of simply entering the key when prompted which is what I did).

Anyone ambitious enough to do this? Who knows, maybe my suggestion works and you’ll be able to contribute a useful Community project!
Or, put the bug in the ears of the people at Keepass, they could probably generate a mono package in minutes themselves.


Factory will generally be buggy. There’s a stable version of keeepass on the stable Mono:Community repository.

Index of /repositories/Mono:/Community/openSUSE_12.1

You might consider upgrading from 12.1. It’s EOL as of May 15th, and it will get harder to find software supported on your system, not to mention security patches!

Do you mean upgrade like formating and reinstalling opensuse or using a real upgrade option?

I mean upgrading openSUSE from 12.1 to 12.2 or 12.3. 12.1 is no longer supported.

Ok problem solved.
At first i uninstalled keepass and all mono packages i had installed using the package manager.
Then i upgraded my OS directly from openSUSE 12.1 to openSUSE 12.3 using this tutorial:

After after a all these packages where updated and installed i restarted but at first the system did not booted correctly, i had some weird graphical glich and then its freezed. But i was able to solve this in the failsafe mode by adding the new AMD graphics driver repo (the old one was deactivated during the upgrade) and installed the new driver, after that it booted without problems.

But back to topic, i added the Mono Community stable repo for opensuse 12.3 (btw. why are there so many mono repos for opensuse 12.3? some with “:” in it and some without, but only one seems to have keepass) and installed keepass, which worked fine right from the start.

Thanks for your help

I’m glad it worked for you. :slight_smile: