Menu

#1545 Linux Crash with windows key

KeePass_2.x
closed
nobody
None
5
2017-10-05
2016-07-10
Dirk
No

Whenever I press the windows key and the keepass window has focus, keepass crashes. Here is the output, when you run keepass from console and press the key:

[dirk@i7-main ~]$ keepass 
SendMessage (16777258, 0x112c, 0x4, 0x4)
Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Windows.Forms.X11Keyboard.Xutf8LookupString (intptr,System.Windows.Forms.XEvent&,byte[],int,intptr&,System.Windows.Forms.XLookupStatus&) <0x000a4>
  at System.Windows.Forms.X11Keyboard.LookupString (System.Windows.Forms.XEvent&,int,System.Windows.Forms.XKeySym&,System.Windows.Forms.XLookupStatus&) <0x000c3>
  at System.Windows.Forms.X11Keyboard.EventToVkey (System.Windows.Forms.XEvent) <0x0003f>
  at System.Windows.Forms.X11Keyboard.ToUnicode (int,int,string&) <0x0035f>
  at System.Windows.Forms.X11Keyboard.TranslateMessage (System.Windows.Forms.MSG&) <0x00127>
  at System.Windows.Forms.XplatUIX11.TranslateMessage (System.Windows.Forms.MSG&) <0x00023>
  at System.Windows.Forms.XplatUI.TranslateMessage (System.Windows.Forms.MSG&) <0x0001f>
  at System.Windows.Forms.Application.RunLoop (bool,System.Windows.Forms.ApplicationContext) <0x00cf7>
  at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext) <0x00057>
  at System.Windows.Forms.Application.Run (System.Windows.Forms.Form) <0x00033>
  at KeePass.Program.Main (string[]) <0x00bde>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0x000c8>

Native stacktrace:

    mono() [0x4ac77f]
    mono() [0x50014e]
    mono() [0x428653]
    /usr/lib/libpthread.so.0(+0x10f00) [0x7f5c0a66af00]
    /usr/lib/libc.so.6(strlen+0x26) [0x7f5c0a120d76]
    /usr/lib/libX11.so.6(_XimLocalUtf8LookupString+0xeb) [0x7f5c05e10b1b]
    [0x4116d695]

Debug info from gdb:

=================================================================
Got a SIGSEGV 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)

Discussion

  • Dominik Reichl

    Dominik Reichl - 2016-07-10
    • status: open --> closed
     
  • Dominik Reichl

    Dominik Reichl - 2016-07-10

    Duplicate of https://sourceforge.net/p/keepass/bugs/1523/ .

    Best regards,
    Dominik

     
  • Dominik Reichl

    Dominik Reichl - 2016-07-10

    As it can be seen from your stack trace, the crash occurs within Mono's keyboard input handling methods (everything in the System.Windows.Forms namespace is implemented by Mono). There is no KeePass code involved; the issue can only be fixed in Mono.

    Best regards,
    Dominik

     
  • Dirk

    Dirk - 2016-08-18

    As Windows.Forms is not longer activly maintained, here is a workaround (Thanks to mengesh)

    Add --verify-all to the mono command in the /usr/bin/keepass file.

    1
    2
    #!/bin/sh
    exec mono --verify-all /usr/share/keepass/KeePass.exe "$@"
    
     
    • Tilman Blumenbach

      Thanks, that seems to work (I wonder what exactly that option does and how it fixes this issue). KeePass crashing every time I pressed the Windows key was very annoying since my window manager uses that key extensively.

      Do you know if that Mono option has any drawbacks one should be aware of?

       
  • JN

    JN - 2017-10-04

    I encounter this problem having upgraded from a 4.11 (end of life) kernel to a 4.13 kernel - and the work-around does not work for me, even after making the necessary adjustments for my setup. (I have /usr/bin/keepass2 not /usr/bin/keepass, and in that file I had: exec /usr/bin/cli /usr/lib/keepass2/KeePass.exe "$@".) Any ideas anyone? I can give version numbers for mono and keepass. I've tried reinstalling mono and keepass (though perhaps I did not do a complete mono reinstall).

     
  • JN

    JN - 2017-10-05

    I solved the problem - the one reported in the post above - by changing my mono repository, thus:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
    echo "deb http://download.mono-project.com/repo/ubuntu beta-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-beta.list
    
     

Log in to post a comment.