Page MenuHome GnuPG

Kleopatra GPGME: Reported assert on exit
Testing, LowPublic

Description

While not important for VSD there have been reports for a while that exiting kleopatra with active asserts results in an assert being hit: https://bugs.kde.org/show_bug.cgi?id=450824 and if there is no assert a null pointer deref would follow some lines later.

To me it seems that the code asserts if the context is not found. This is indeed a sign that something incorrect is happening here. I don't know. I can't reproduce it by just closing kleopatra with running jobs active. Since it seems to be only on shutdown it would be ok for me to just fix the symptom and Return if the context is not found but I would prefer to understand how this can happen.

Event Timeline

aheinecke created this task.

Ingo do you know if we have fixed this?

I haven't looked into it and I think this has really low priority. I'm pretty sure it's a problem with a the out-of-correct-order destruction of (static?) objects on shutdown. If I remember correctly then it is triggered by the DeviceInfoWatcher.

aheinecke lowered the priority of this task from Normal to Low.Dec 11 2023, 1:04 PM

Ack, I was not sure if we fixed it and forgot to add the commit here.

ikloecker added a subscriber: ikloecker.

This is the full GPGME log from how I can reproduce this now on windows with a KF6 build. If I repeat it the last lines look similar before the assert.

ikloecker changed the task status from Open to Testing.Thu, May 16, 10:33 AM
ikloecker claimed this task.
ikloecker moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.

Hopefully fixed by disabling the DeviceInfoWatcher on Windows again.