Linux Crash with windows key
A lightweight and easy-to-use password manager
Brought to you by:
dreichl
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)
Duplicate of https://sourceforge.net/p/keepass/bugs/1523/ .
Best regards,
Dominik
Thanks for your answer. Here they say it's an application problem? http://mono.1490590.n4.nabble.com/Mono-crashes-on-buttonpress-td4665402.html
As it can be seen from your stack trace, the crash occurs within Mono's keyboard input handling methods (everything in the
System.Windows.Formsnamespace is implemented by Mono). There is no KeePass code involved; the issue can only be fixed in Mono.Best regards,
Dominik
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.
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?
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).
I solved the problem - the one reported in the post above - by changing my mono repository, thus: