Bug 473560 - Okular cashes when displaying settings configure backends PDF and D-Trust 4.1 id-card inside card reader
Summary: Okular cashes when displaying settings configure backends PDF and D-Trust 4.1...
Status: REPORTED
Alias: None
Product: okular
Classification: Applications
Component: PDF backend (show other bugs)
Version: 23.04.3
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-20 14:16 UTC by Jörg Sichermann
Modified: 2023-08-22 13:19 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Mini Crash Dump (501.38 KB, application/octet-stream)
2023-08-22 12:15 UTC, Jörg Sichermann
Details
trace of all threads (11.21 KB, text/plain)
2023-08-22 13:19 UTC, Harald Sitter
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jörg Sichermann 2023-08-20 14:16:46 UTC
SUMMARY
I will try to add an crash report as soon as posible.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports


Okular cashes when I klick at Settings -> "configure backends" -> PDF, if I have inserted my D-Trust 4.1 id-card. The card is managed by the software Nexus Personal Version 5.8.12. Nexus Personal is a standard middleware for accessing id-cards and is an PCKS11-Module from the view of Firefox or Thunderbird. The card is working well inside the browser and the mail client. There I can open all certificats and generate signatures with my id-card.


STEPS TO REPRODUCE
1. insert D-Trust card to card reader
2. wait for the card appearing in Nexus Personal
3. launch okular
4. klick at Settings -> "configure backends" -> PDF

OBSERVED RESULT
okular craches immediately

EXPECTED RESULT
see my two certificates supplyed by the D-Trust card in the list "Available Certificates"

SOFTWARE/OS VERSIONS
Windows: Windows 10 Pro 22H2 (19045.3324)
Comment 1 Sune Vuorela 2023-08-21 11:47:26 UTC
Hi

Can you try collect a minidump ?

https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps should describe how to do it, and then somehow make it available ?

/Sune
Comment 2 Jörg Sichermann 2023-08-22 12:15:42 UTC
Created attachment 161112 [details]
Mini Crash Dump
Comment 3 Jörg Sichermann 2023-08-22 12:20:26 UTC
I recently added a mini crash dump file unsing instructions from https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps. I zipped the dmp file due to size limits of the bug tracker. I created the dump with the actual nigthly stable build from the repository: okular-23.04.3-1493-windows-cl-msvc2019-x86_64-dbg.7z and okular-23.04.3-1493-windows-cl-msvc2019-x86_64.7z

If you need more information please ask. I will help as much as possible.
Comment 4 Harald Sitter 2023-08-22 13:06:15 UTC
>	ucrtbase.dll!abort()	Unknown
 	VCRUNTIME140.dll!_purecall() Line 29	C++
 	Qt5Widgets.dll!QWidgetPrivate::drawWidget(QPaintDevice * pdev, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5443	C++
 	Qt5Widgets.dll!QWidgetPrivate::paintSiblingsRecursive(QPaintDevice * pdev, const QList<QObject *> & siblings, int index, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5611	C++
 	Qt5Widgets.dll!QWidgetPrivate::drawWidget(QPaintDevice * pdev, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5473	C++
 	Qt5Widgets.dll!QWidgetPrivate::paintSiblingsRecursive(QPaintDevice * pdev, const QList<QObject *> & siblings, int index, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5611	C++
 	Qt5Widgets.dll!QWidgetPrivate::paintSiblingsRecursive(QPaintDevice * pdev, const QList<QObject *> & siblings, int index, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5598	C++
 	Qt5Widgets.dll!QWidgetPrivate::drawWidget(QPaintDevice * pdev, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5473	C++
 	Qt5Widgets.dll!QWidgetPrivate::paintSiblingsRecursive(QPaintDevice * pdev, const QList<QObject *> & siblings, int index, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5611	C++
 	Qt5Widgets.dll!QWidgetPrivate::drawWidget(QPaintDevice * pdev, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5473	C++
 	Qt5Widgets.dll!QWidgetPrivate::paintSiblingsRecursive(QPaintDevice * pdev, const QList<QObject *> & siblings, int index, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5611	C++
 	Qt5Widgets.dll!QWidgetPrivate::drawWidget(QPaintDevice * pdev, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5473	C++
 	Qt5Widgets.dll!QWidgetPrivate::paintSiblingsRecursive(QPaintDevice * pdev, const QList<QObject *> & siblings, int index, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5611	C++
 	Qt5Widgets.dll!QWidgetPrivate::paintSiblingsRecursive(QPaintDevice * pdev, const QList<QObject *> & siblings, int index, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5598	C++
 	Qt5Widgets.dll!QWidgetPrivate::paintSiblingsRecursive(QPaintDevice * pdev, const QList<QObject *> & siblings, int index, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5598	C++
 	Qt5Widgets.dll!QWidgetPrivate::paintSiblingsRecursive(QPaintDevice * pdev, const QList<QObject *> & siblings, int index, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5598	C++
 	Qt5Widgets.dll!QWidgetPrivate::drawWidget(QPaintDevice * pdev, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5473	C++
 	Qt5Widgets.dll!QWidgetPrivate::paintSiblingsRecursive(QPaintDevice * pdev, const QList<QObject *> & siblings, int index, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5611	C++
 	Qt5Widgets.dll!QWidgetPrivate::drawWidget(QPaintDevice * pdev, const QRegion & rgn, const QPoint & offset, QFlags<enum QWidgetPrivate::DrawWidgetFlag> flags, QPainter * sharedPainter, QWidgetRepaintManager * repaintManager) Line 5473	C++
 	Qt5Widgets.dll!QWidgetRepaintManager::paintAndFlush() Line 1026	C++
 	Qt5Widgets.dll!QWidget::event(QEvent * event) Line 9108	C++
 	Qt5Widgets.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3642	C++
 	Qt5Widgets.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 3594	C++
 	Qt5Core.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1064	C++
 	[Inline Frame] Qt5Core.dll!QCoreApplication::sendEvent(QObject *) Line 1462	C++
 	Qt5Core.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver, int event_type, QThreadData * data) Line 1821	C++
 	qwindows.dll!QWindowsGuiEventDispatcher::sendPostedEvents() Line 81	C++
 	Qt5Core.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 516	C++
 	qwindows.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 74	C++
 	[Inline Frame] Qt5Core.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag>) Line 142	C++
 	Qt5Core.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 235	C++
 	Qt5Core.dll!QCoreApplication::exec() Line 1375	C++
 	okular.exe!main(int argc, char * * argv) Line 109	C++
 	okular.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 97	C++
 	[Inline Frame] okular.exe!invoke_main() Line 102	C++
 	okular.exe!__scrt_common_main_seh() Line 288	C++
 	kernel32.dll!BaseThreadInitThunk()	Unknown
 	ntdll.dll!RtlUserThreadStart()	Unknown
Comment 5 Harald Sitter 2023-08-22 13:19:46 UTC
Created attachment 161114 [details]
trace of all threads