Keepass 2.23 fatal errror

  • Jimbob

    Jimbob - 2013-10-02


    First off - thanks for KeePass, it's an absolutely fantastic piece of software!

    I've noticed an intermittent fatal error that occurs after I enter my master password. Keepass presents an error dialogue window stating that the error information has been copied to the clipboard. The clipboard paste data follows.

    Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    at System.Drawing.SafeNativeMethods.Gdip.GdipFillRectangleI(HandleRef graphics, HandleRef brush, Int32 x, Int32 y, Int32 width, Int32 height)
    at System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
    at System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)
    at System.Windows.Forms.ToolStripComboBox.ToolStripComboBoxControl.ToolStripComboBoxFlatComboAdapter.DrawFlatComboDropDown(ComboBox comboBox, Graphics g, Rectangle dropDownRect)
    at System.Windows.Forms.ComboBox.FlatComboAdapter.DrawFlatCombo(ComboBox comboBox, Graphics g)
    at System.Windows.Forms.ComboBox.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
    at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    at System.Windows.Forms.Application.Run(Form mainForm)
    at KeePass.Program.Main(String[] args)
    Int32 GdipFillRectangleI(System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, Int32, Int32, Int32, Int32)

    I have tried the following, without success:

    • uninstalling & reinstalling KeePass
    • using the portable version of KeePass
    • uninstalling .NET 2.0, 3.5 & 4, followed by running Aaron Stebner's .NET cleanup tool, followed by reinstalling .NET 2.0, 3.5 & 4.

    My O/S is Windows XP Pro SP3.

    I think - but am not certain - that this error started occurring when I upgraded to 2.23 so I guess rolling back to 2.22 may help. But if anyone has any insight into what might be causing this problem I'd be grateful if you would post. There does not seem to be any particular pattern to the error occurring - sometimes it's fine.


  • Paul

    Paul - 2013-10-03

    We have not had reports of memory problems in KeePass V2.23 that I've seen, so I'd be looking at your hardware first. Can you test your database on another computer?

    cheers, Paul

  • Jimbob

    Jimbob - 2013-10-03

    Hi Dominik, Paul,

    I installed KB981574 patch (the successor to KB971030 that you link to in that post) - no change. I also tried installing KB923028 but I get a message saying the upgrade patch cannot install because the program to be upgraded may be missing etc etc.

    I know it's not the database because I can open it on a different computer with Windows 7 installed and it always opens fine without the fatal error.

    By what Joe Boswell said in that post, it does sound like it could be DirectX or driver related. If you have any other thoughts please do let me know. Thanks for your help.


  • Jimbob

    Jimbob - 2013-10-07


    Just to say that rolling back to an earlier AMD Catalyst driver seems to have resolved the problem.

    All the best,


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks