#1216 KeePass2 only shows empty window

KeePass_2.x
closed
nobody
None
5
2014-10-21
2014-02-15
Thomas Schweikle
No

KeePass2 only shows empty window after start on Ubuntu 12.04.4
You cant close this window, except killing the associated process "cli".

keepass2-2.24+dfsg-1~ubuntu12.04~ppa1

1 Attachments

Discussion

  • Same for the today released, update to version 2.25 -- Empty window showing desktop background only, no availability to close this window. You've to kill "cli" with "killall cli" to get rid oft it (klicking "close" puts the window into the background instead of ending the process).

    Keepass2 is not working at all on Ubuntu 12.04.4 ...?

     
  • Paul
    Paul
    2014-02-17

    This is not a KeePass bug, KeePass works on Windows and many *nix systems. It is most likely a problem with your installation of mono.
    Have you checked you have the mono requirements?
    http://keepass.info/help/v2/setup.html#mono
    Have you tried the Debian/Ubuntu release? Under "Contributed packages".
    http://keepass.info/download.html

    cheers, Paul

     
  • As given on the download site:

    apt-get install keepass2

    should pull in all dependencies.
    Mono is installed and tested OK.

    calling

    cli keepass2.exe

    leads to an empty window, showing background or parts of other windows only.
    Since you meant I shall install the debain/ubuntu-package instead. I surely did.

    I state the page "http://keepass.info/help/v2/setup.html#mono":
    "Debian/Ubuntu Linux:
    Install the keepass2 / KeePass 2.x for Debian/Ubuntu Linux package (e.g. using APT). A link to a page with more information about this package can be found on the downloads page."

    I'd say: KeePass2 isn't running as expected (an empty, never drawn in window isn't what anyone expects), You cant terminate the application once started since associated events going highwire.

    It doesn't seem there is anything like a debug flag or an environment variable having the same effect. Just not working.

     
  • Paul
    Paul
    2014-02-17

    You can run KeePass with a debug switch "--debug", but I don't know if it will help.

    cheers, Paul

     
  • Since you told mono being the problem ...

    ii fonts-tlwg-mono 1:0.4.17-1ubuntu1
    ii libmono-accessibility4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-cairo4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-corlib4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-data-tds4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-i18n-west4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-i18n4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-posix4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-security4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-sharpzip4.84-cil 2.10.8.1-1ubuntu2.2
    ii libmono-system-configuration4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-system-data4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-system-drawing4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-system-enterpriseservices4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-system-security4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-system-transactions4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-system-windows-forms4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-system-xml4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-system4.0-cil 2.10.8.1-1ubuntu2.2
    ii libmono-webbrowser4.0-cil 2.10.8.1-1ubuntu2.2
    ii mono-4.0-gac 2.10.8.1-1ubuntu2.2
    ii mono-gac 2.10.8.1-1ubuntu2.2
    ii mono-runtime 2.10.8.1-1ubuntu2.2
    ii wine-mono0.0.8 0.0.8-0ubuntu1~ppa2

    ii keepass2 2.25+dfsg-1~ubuntu12.04~ppa1

    I've tried installing mono-devel (pulls in all mono libraries, and various development files). No success. Keepass2 shows an empty Window (or better a window holding what ever was drawn on screen before keepass2 started.

    In short: broken.

    The "--debug" flag didn't help in any way.

    ii wine-mono0.0.8 0.0.8-0ubuntu1~ppa2 Microsoft Windows compatibility layer (.NET compatibility)

     
  • Paul
    Paul
    2014-02-18

    Don't know what else to suggest. :(

    cheers, Paul

     
  • David Lechner
    David Lechner
    2014-02-19

    When I have seen this before, it is because of a deadlock in the KeePass code - usually caused by a plugin. If you have any plugins, remove them.

    If you don't have any plugins and it is still locking up, start KeePass from a terminal window. When it locks up, send it the QUIT signal.

    $ keepass2 &
    $ kill -QUIT $(psgrep KeePass)
    

    This should give you a stack trace that will let us see where it is locking up.

     
  • Here it is -- created by "sudo kill -QUIT $(pgrep cli)":

    Full thread dump:

    "<unnamed thread="">" tid=0x0x7fbbb30f5740 this=0x0x7fbbb3068ea0 thread handle 0x403 state : not waiting owns ()
    at (wrapper managed-to-native) Mono.Unix.Native.Syscall.sys_poll (Mono.Unix.Native.Syscall/_pollfd[],uint,int) <0xffffffff>
    at Mono.Unix.Native.Syscall.poll (Mono.Unix.Native.Pollfd[],uint,int) <0x000df>
    at System.Windows.Forms.XplatUIX11.UpdateMessageQueue (System.Windows.Forms.XEventQueue,bool) <0x0040f>
    at System.Windows.Forms.XplatUIX11.UpdateMessageQueue (System.Windows.Forms.XEventQueue) <0x00017>
    at System.Windows.Forms.XplatUIX11.GetMessage (object,System.Windows.Forms.MSG&,intptr,int,int) <0x002a3>
    at System.Windows.Forms.XplatUI.GetMessage (object,System.Windows.Forms.MSG&,intptr,int,int) <0x0004c>
    at System.Windows.Forms.Application.RunLoop (bool,System.Windows.Forms.ApplicationContext) <0x00ddb>
    at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext) <0x0005f>
    at System.Windows.Forms.Application.Run (System.Windows.Forms.Form) <0x00033>
    at KeePass.Program.Main (string[]) <0x00ad3>
    at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff>

    "Threadpool worker" tid=0x0x7fbba487f700 this=0x0x7fbba4cc3618 thread handle 0x410 state : interrupted state owns ()

    "<unnamed thread="">" tid=0x0x7fbba4a80700 this=0x0x7fbba4cc3888 thread handle 0x40a state : interrupted state owns ()
    at (wrapper managed-to-native) System.IO.InotifyWatcher.ReadFromFD (intptr,byte[],intptr) <0xffffffff>
    at System.IO.InotifyWatcher.Monitor () <0x00067>
    at System.Threading.Thread.StartInternal () <0x00071>
    at (wrapper runtime-invoke) object.runtime_invoke_voidthis (object,intptr,intptr,intptr) <0xffffffff>

    "Threapool monitor" tid=0x0x7fbba936f700 this=0x0x7fbba4cc3750 thread handle 0x40f state : interrupted state owns ()

     
  • David Lechner
    David Lechner
    2014-02-21

    The stack trace does not indicate that there is a deadlock. How long are you waiting before killing KeePass? On my Mac once or twice when I installed a new version, it took a long time (more than a minute maybe?) for KeePass to start the first time. After that, it worked fine.

     
  • Nathan
    Nathan
    2014-02-26

    I'm seeing the same behavior on Mint16. Interestingly, if I run the launcher (/usr/bin/cli /home/nalderso/Downloads/keepass2-2.25/KeePass.exe "$@") again after keepass is already running (with a blank window) then then keepass wakes up, prompts me for my database password, and then fills in the window.

    The behavior is the same between 2.23 and 2.25. Mono version is 2.10.8.1.

     
  • Same here. Starting keepass2 once -> empty window. Starting it the second time window is filled!
    Looking at running processes, I only find one keepass2.

     
  • David Lechner
    David Lechner
    2014-03-05

    KeePass 2.x is designed by default to only allow a single instance. This is why starting a second instance seems to give the first instance a kick in the pants and make it start working again. (As a side note, you can change this behavior in Options... > Advanced (tab) > Start and Exit (section) > Limit to a single instance.)

    The problem of the black window seems related to the Options... > Interface (tab) > Main Window (section) > Minimize main window after opening a database option.

    Can those of you with this issue confirm that you have this option checked. You might also want to play around with the other minimization options.

     
  • Nathan
    Nathan
    2014-03-07

    David,

    Thanks for the pointer. For me, it turned out to be Options... > Interface (tab) > Main Window (section) > Minimize to tray instead of taskbar. With that option on, I experience the blank window on start. Incidentally, I don't see keepass in the Gnome tray when I minimize it, either (though it does disappear from the taskbar). If I disable the option, the window behaves normally and I see keepass in the taskbar as expected. I'll just leave the option off for now.

    Thanks again!

     
  • David Lechner
    David Lechner
    2014-03-07

    Incidentally, I don't see keepass in the Gnome tray when I minimize it, either (though it does disappear from the taskbar).

    This is expected if you are using Ubuntu Unity or another desktop that does not support gnome tray icons. If this is the case and you want a taskbar icon, see http://keepass.info/plugins.html#linuxint.

    And thanks for the feedback. It will help us hopefully come up with yet another mono workaround.

     
  • Dominik Reichl
    Dominik Reichl
    2014-06-28

    With the current KeePass development snapshot, I can reproduce this issue neither on Kubuntu 14.04 nor on Ubuntu 14.04.

    Can someone who previously had this problem test whether the issue still occurs?
    http://keepass.info/filepool/KeePass_140628b.zip

    Thanks and best regards,
    Dominik

     
  • After finding out how to replace KeePass.exe and the new dll I could test: the bug is gone. KeePass asks for the password now. The opened window isn't empty any more until you start keepass a second time (http://keepass.info/filepool/KeePass_140628b.zip).

    Bug remaining: KeePass doesn't minimize to tray …!

     
  • Dominik Reichl
    Dominik Reichl
    2014-07-01

    • status: open --> closed
     
  • Dominik Reichl
    Dominik Reichl
    2014-07-01

    Great, thanks for testing it!

    It is expected that there is no tray icon in Ubuntu Unity by default; see David's post; you need the Ubuntu Integration Plugins from http://keepass.info/plugins.html#linuxint

    Best regards,
    Dominik

     
  • SkyRE
    SkyRE
    2014-10-21

    I've same situation with Ubuntu 14.04.1 LTS (Gnome 3.12), KeePass2 2.25 (2.28 have same behaviour) with keepass2-plugin-application-indicator 0.4.5-8~ppa1~trusty1.

    Found workaround to uncheck following option:
    - "Start minimized and locked"
    - "Minimize main window after opening database"

    If both of them checked - on start have empty window. Untray from indicator shows up Open Database dialog and main window.

    If unchecked "Start minimized and locked" - on start Open Database dialog is showing but after entering password - empty window. Untray shows normal window.

    If unchecked "Minimize main window after opening database" - on start have empty window. Untray shows it.

     
    Last edit: SkyRE 2014-10-21