Page MenuHome GnuPG

Kleopatra: UiServer Connectivity self-test fails on Windows
Closed, ResolvedPublic

Description

The self-test fails with

Could not connect to UiServer: Failed to start uiserver kleopatra

It turns out that this is a regression introduced with rKLEOPATRA87458c2a825d: Make sure helper apps we start are in path. The change assumes that the executable needs to be in PATH, but on Windows the executable is also found next to the calling process.

Event Timeline

ikloecker triaged this task as Unbreak Now! priority.
ikloecker moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.
ikloecker added subscribers: aheinecke, ebo.
ikloecker changed the task status from Open to Testing.Dec 12 2022, 5:42 PM
ikloecker removed ikloecker as the assignee of this task.
ikloecker moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.

The actual problem at hand is that the nonce is not correct. The UI-Server is actually started but if a client (or the self-test) connects the connection succeeded but then the server needs to check the nonce which does not match. Procmon shows that there is only one nonce writen - so the problem might be that the server has different copies of the nonce.

We need some more debug output - i.e. a hexdump of the nonce at the point it is checked.

werner changed the task status from Testing to Open.Dec 12 2022, 6:47 PM

The debug output is

[2560] org.kde.pim.kleopatra: Checking Ui Server connectivity...
[2560] UI server not running, starting it
[2560] org.kde.pim.kleopatra: UiServer: client connect on fd  1528
[2560] org.kde.pim.kleopatra: UiServer: nonce check failed
[2560] org.kde.pim.libkleopatraclientcore: Could not find  "kleopatra"  in PATH.

which means that libkleopatraclientcore couldn't start kleopatra, but at the same time the UiServer seems to be running? Okay, maybe the lines are in wrong order and the connect doesn't fail because the server isn't running but because of the wrong nonce.

Problem is that Kleopatra uses the latest libassuan from Git and not the released version. Replacing the libassuan DLL with the one from the gnupg directory fixes the bug.

ikloecker moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.
werner moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Dec 13 2022, 12:02 PM

Fixed by reverting to 2.5.5

ebo claimed this task.

works

ebo moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Apr 5 2023, 12:50 PM