Kleopatra: Crash on pgp certificate update with no server configuration
Testing, HighPublic

Assigned To
Authored By
timegrid
Wed, Oct 7, 2:12 PM

Description

On gpg4win-5.1.1 @ win11 Kleopatra crashes on update of an pgp certificate, when no server is defined.

To reproduce:

  1. Update a pgp certificate (e.g. edward) -> the information "update failed/skipped" is shown twice
  2. Click ok in both dialogs (maybe fast, repeat the update if it did not crash) => crash

debugview log

110	36.288232	3560	kleopatra.exe	<process started at 14:00:04.095 has terminated with 0xc0000005 (EXCEPTION_ACCESS_VIOLATION)>

gdb backtrace

[Thread 1496.0x1fa4 exited with code 0]
warning: kf.windowsystem: Could not find any platform plugin
warning: org.kde.pim.kleopatra: 0x2745880
warning: org.kde.pim.kleopatra: 0x2745880
warning: org.kde.pim.kleopatra: 0x2745880
warning: org.kde.pim.kleopatra: Kleo::Command(0x2745880) ~Command
warning: org.kde.pim.kleopatra: Kleo::Command(0x2745880) ~Private
warning: org.kde.pim.kleopatra: 0x2745880
warning: org.kde.pim.kleopatra: 0x63eb6b0
warning: org.kde.pim.kleopatra: 0x63eb6b0
warning: org.kde.pim.kleopatra: Kleo::Command(0x63eb6b0) ~Command
warning: org.kde.pim.kleopatra: Kleo::Command(0x63eb6b0) ~Private
warning: org.kde.pim.kleopatra: 0x63eb6b0

Thread 1 received signal SIGSEGV, Segmentation fault.
0x00007ff731dd43b3 in ?? ()
(gdb) thread apply all bt

Thread 53 (Thread 1496.0x658 "QWindowsFileSystemWatcherEngineThread"):
#0  0x00007ffe773a1914 in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe74b72773 in WaitForMultipleObjectsEx () from C:\WINDOWS\System32\KernelBase.dll
#2  0x00007ffe74b72641 in WaitForMultipleObjects () from C:\WINDOWS\System32\KernelBase.dll
#3  0x00007ffe22585073 in QFileSystemWatcher::qt_metacall(QMetaObject::Call, int, void**) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#4  0x00007ffe225236ca in QThread::setTerminationEnabled(bool) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#5  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#6  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#7  0x0000000000000000 in ?? ()

Thread 52 (Thread 1496.0xc48 "Thread (pooled)"):
#0  0x00007ffe773a0e44 in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe74b6be9f in WaitForSingleObjectEx () from C:\WINDOWS\System32\KernelBase.dll
#2  0x00007ffe224f5a59 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#3  0x00007ffe22463181 in QThreadPool::startOnReservedThread(QRunnable*) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#4  0x00007ffe225236ca in QThread::setTerminationEnabled(bool) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#5  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#6  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#7  0x0000000000000000 in ?? ()

Thread 41 (Thread 1496.0x408 "ReaderStatusThread"):
#0  0x00007ffe773a0e44 in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe74b6be9f in WaitForSingleObjectEx () from C:\WINDOWS\System32\KernelBase.dll
#2  0x00007ffe224f5a59 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#3  0x00007ff731f349ba in ?? ()
#4  0x00007ffe225236ca in QThread::setTerminationEnabled(bool) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#5  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#6  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#7  0x0000000000000000 in ?? ()

Thread 30 (Thread 1496.0x2360 "Thread (pooled)"):
#0  0x00007ffe773a0e44 in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe74b6be9f in WaitForSingleObjectEx () from C:\WINDOWS\System32\KernelBase.dll
#2  0x00007ffe224f5a59 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#3  0x00007ffe22463181 in QThreadPool::startOnReservedThread(QRunnable*) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#4  0x00007ffe225236ca in QThread::setTerminationEnabled(bool) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#5  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#6  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#7  0x0000000000000000 in ?? ()

Thread 29 (Thread 1496.0x10d4 "Thread (pooled)"):
#0  0x00007ffe773a0e44 in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe74b6be9f in WaitForSingleObjectEx () from C:\WINDOWS\System32\KernelBase.dll
#2  0x00007ffe224f5a59 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#3  0x00007ffe22463181 in QThreadPool::startOnReservedThread(QRunnable*) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#4  0x00007ffe225236ca in QThread::setTerminationEnabled(bool) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#5  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#6  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#7  0x0000000000000000 in ?? ()

Thread 28 (Thread 1496.0x1070 "Thread (pooled)"):
#0  0x00007ffe773a0e44 in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe74b6be9f in WaitForSingleObjectEx () from C:\WINDOWS\System32\KernelBase.dll
#2  0x00007ffe224f5a59 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#3  0x00007ffe22463181 in QThreadPool::startOnReservedThread(QRunnable*) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#4  0x00007ffe225236ca in QThread::setTerminationEnabled(bool) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#5  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#6  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#7  0x0000000000000000 in ?? ()

Thread 27 (Thread 1496.0x124c):
#0  0x00007ffe773a1914 in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe74b72773 in WaitForMultipleObjectsEx () from C:\WINDOWS\System32\KernelBase.dll
#2  0x00007ffe7628feae in combase!CoReleaseServerProcess () from C:\WINDOWS\System32\combase.dll
#3  0x00007ffe763657af in combase!RoParameterizedTypeExtraGetTypeSignature () from C:\WINDOWS\System32\combase.dll
#4  0x00007ffe763656bf in combase!RoParameterizedTypeExtraGetTypeSignature () from C:\WINDOWS\System32\combase.dll
#5  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#6  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#7  0x0000000000000000 in ?? ()

Thread 18 (Thread 1496.0x31c):
#0  0x00007ffe773a1914 in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe5643ff76 in joySetThreshold () from C:\WINDOWS\SYSTEM32\winmm.dll
#2  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#3  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 17 (Thread 1496.0x2758):
#0  0x00007ffe773a0ee4 in ntdll!ZwRemoveIoCompletion () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe736e6b1f in Tcpip6_WSHGetSockaddrType () from C:\WINDOWS\system32\mswsock.dll
#2  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#3  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 15 (Thread 1496.0x1aa0):
#0  0x00007ffe773a4a74 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe7725a65e in ntdll!TpCallbackMayRunLong () from C:\WINDOWS\SYSTEM32\ntdll.dll
#2  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#3  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 14 (Thread 1496.0x1584 "QWindowsFileSystemWatcherEngineThread"):
#0  0x00007ffe773a1914 in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe74b72773 in WaitForMultipleObjectsEx () from C:\WINDOWS\System32\KernelBase.dll
#2  0x00007ffe74b72641 in WaitForMultipleObjects () from C:\WINDOWS\System32\KernelBase.dll
#3  0x00007ffe22585073 in QFileSystemWatcher::qt_metacall(QMetaObject::Call, int, void**) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#4  0x00007ffe225236ca in QThread::setTerminationEnabled(bool) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#5  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#6  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#7  0x0000000000000000 in ?? ()

Thread 5 (Thread 1496.0x1b40):
#0  0x00007ffe773a4a74 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe7725a65e in ntdll!TpCallbackMayRunLong () from C:\WINDOWS\SYSTEM32\ntdll.dll
#2  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#3  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 1496.0x15bc):
#0  0x00007ffe773a4a74 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe7725a65e in ntdll!TpCallbackMayRunLong () from C:\WINDOWS\SYSTEM32\ntdll.dll
#2  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#3  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 1496.0x17a0):
#0  0x00007ffe773a4a74 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe7725a65e in ntdll!TpCallbackMayRunLong () from C:\WINDOWS\SYSTEM32\ntdll.dll
#2  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#3  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 1496.0xb74):
#0  0x00007ffe773a4a74 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1  0x00007ffe7725a65e in ntdll!TpCallbackMayRunLong () from C:\WINDOWS\SYSTEM32\ntdll.dll
#2  0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#3  0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 1 (Thread 1496.0x12d0):
#0  0x00007ff731dd43b3 in ?? ()
#1  0x00007ffe22390935 in QMetaCallEvent::placeMetaCall(QObject*) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#2  0x00007ffe223950db in QObject::event(QEvent*) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#3  0x00007ffe1f2158cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from C:\Program Files\Gpg4win\bin\Qt6Widgets.dll
#4  0x00007ffe223556a8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#5  0x00007ffe22359478 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#6  0x00007ffe21d0a832 in QWindowsGuiEventDispatcher::sendPostedEvents() () from C:\Program Files\Gpg4win\bin\Qt6Gui.dll
#7  0x00007ffe22512dfc in QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#8  0x00007ffe21d0a809 in QWindowsGuiEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\Program Files\Gpg4win\bin\Qt6Gui.dll
#9  0x00007ffe22360925 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#10 0x00007ffe2235e9c6 in QCoreApplication::exec() () from C:\Program Files\Gpg4win\bin\Qt6Core.dll
#11 0x00007ff731fcad92 in ?? ()
#12 0x00007ff732023fb5 in ?? ()
#13 0x00007ff731d012ee in ?? ()
#14 0x00007ff731d013e6 in ?? ()
#15 0x00007ffe7583cd87 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#16 0x00007ffe772ecaec in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#17 0x0000000000000000 in ?? ()

Details

Version
gpg4win-5.1.1 @ win11

Event Timeline

timegrid created this object with edit policy "Contributor (Project)".
• ebo triaged this task as High priority.Wed, Oct 7, 2:18 PM

Note: If the setting "Query certificate directories of providers for all user IDs" is checked, the info dialog opens only once and the crash is not reproducible anymore.

Same behavior on gpg4win-5.2.0-beta783 @ mac26.6

• ikloecker moved this task from Backlog to WIP on the gpd5x board.

Also crashes on Linux.

• ikloecker changed the task status from Open to Testing.Wed, Oct 7, 5:05 PM

Fixed.