Bug 461170 - Okular crash before saving a PDF signed with certificate in Windows
Summary: Okular crash before saving a PDF signed with certificate in Windows
Status: RESOLVED UPSTREAM
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 22.08.2
Platform: Microsoft Windows Microsoft Windows
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-10-29 17:12 UTC by Lukas ThyWalls
Modified: 2022-12-12 23:34 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
My Test PDF (36.46 KB, application/pdf)
2022-10-29 17:12 UTC, Lukas ThyWalls
Details
Test Certificate (Password 123456) (3.62 KB, application/x-pkcs12)
2022-10-29 17:25 UTC, Lukas ThyWalls
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lukas ThyWalls 2022-10-29 17:12:34 UTC
Created attachment 153301 [details]
My Test PDF

SUMMARY

Okular crash before saving a PDF signed with certificate in Windows, using any certificates from the installed Firefox certificate database that normally works (Firefox is lastest stable version). Tested with Okular from Windows Store, and Okular from binary-factory, stable (22.08.2) and nightly (22.11.70).
On Linux (KUbuntu 22.04, Okular 21.12.3) works like should be.

STEPS TO REPRODUCE
1. You need personal certificates installed in Firefox, and Okular correctly configured to show them (Settings -> Configure Backends -> PDF -> Setup Certificate Database). 
2. Open a PDF (i'm using the test one i provided).
3. Go to "Tools" -> "Digitally Sign"
4. It allows you to make a rectangle where the sign should be (can be wherever). 
5. Appear a dialog to pick a certificate from the list (They are from the Firefox certificate database). Pick any.
6. A save dialog appears, name and choose wherever you want to save the signed PDF.

OBSERVED RESULT

It crash and close, and appears a PDF with name "okular_CkDKsP.pdf" (the letters change everytime) with 0 bytes, wherever you picked the location to save the PDF.

EXPECTED RESULT

It creates a correct signed PDF with the certificate selected in the folder location, and there will no be no crash, obviously.

SOFTWARE/OS VERSIONS
Windows: Windows 10 Pro 21H2
Okular: Tested with 21.08.2 (stable) and 22.11.70 (nightly) from binary-factory. Also tested with the Windows Store version.

ADDITIONAL INFORMATION

Backtrace* (!)
- Note: I asked in the forums the best way to provide a backtrace https://forum.kde.org/viewtopic.php?f=251&t=176360 but i'm still waiting. I found this https://community.kde.org/Windows/Getting_a_Backtrace_with_DrKonqi but it seems very outdated (or at least i don't know where to find kdewin-installer). I tried to use this guidelines https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_with_GDB with GDB compiled by WinLibs. I know a backtrace with debugging symbols are way more useful, but i can't make compilation by myself right now and i don't find any other option.

>Reading symbols from C:\Program Files\Okular\bin\okular.exe...
>(No debugging symbols found in C:\Program Files\Okular\bin\okular.exe)
>(gdb) run
>Starting program: C:\Program Files\Okular\bin\okular.exe
>[New Thread 7760.0x35bc]
>[New Thread 7760.0x36dc]
>[New Thread 7760.0x1dc8]
>[New Thread 7760.0x1608]
>[New Thread 7760.0x1c14]
>warning: kf.config.core: Use of KConfigWatcher without DBus support. You will not receive updates
>[New Thread 7760.0x3154]
>warning: kf.windowsystem: Could not find any platform plugin
>[New Thread 7760.0xc1c]
>[New Thread 7760.0x19e4]
>warning: NVD3DREL:
>warning: GR-805 : DX9 Overlay is DISABLED
>[Thread 7760.0x19e4 exited with code 0]
>warning: NVD3DREL:
>warning: GR-805 : DX9 Overlay is DISABLED
>[New Thread 7760.0xe5c]
>[New Thread 7760.0x193c]
>[New Thread 7760.0x30d4]
>[New Thread 7760.0x16c0]
>[New Thread 7760.0x1f08]
>[New Thread 7760.0x3a4]
>warning: ! SyncTeX Error :
>warning: could not open plUëO☻, error -346722944
>warning:
>[New Thread 7760.0x330c]
>[New Thread 7760.0x1378]
>[Thread 7760.0x1378 exited with code 0]
>[New Thread 7760.0x2ccc]
>[New Thread 7760.0x21e0]
>[Thread 7760.0x2ccc exited with code 0]
>[Thread 7760.0x21e0 exited with code 0]
>[New Thread 7760.0x333c]
>[Thread 7760.0x333c exited with code 0]
>[New Thread 7760.0x36e0]
>[New Thread 7760.0x33a4]
>[New Thread 7760.0x2438]
>[New Thread 7760.0x494]
>[New Thread 7760.0x3b4c]
>[Thread 7760.0x494 exited with code 0]
>[New Thread 7760.0x1f90]
>[New Thread 7760.0x3bc0]
>[New Thread 7760.0x2ec8]
>[New Thread 7760.0x2b04]
>[New Thread 7760.0x10b8]
>warning: onecore\com\combase\dcomrem\security.cxx(3071)\combase.dll!00007FFDFD2BBF3C: (caller: 00007FFDB579823E) ReturnHr(1) tid(10b8) 80010117 No se puede tener acceso al contexto de llamada después de que se ha completado la llamada.
>[New Thread 7760.0x3158]
>[New Thread 7760.0x39a8]
>[Thread 7760.0x39a8 exited with code 0]
>warning: onecore\com\combase\catalog\catalog.cxx(1027)\combase.dll!00007FFDFD293AD6: (caller: 00007FFDFD323C9E) ReturnHr(2) tid(1c14) 80070716 El nombre de recurso especificado no se encuentra en el archivo de imagen.
>warning: onecore\com\combase\inc\ComCatalogHelpers.hpp(60)\combase.dll!00007FFDFD323D25: (caller: 00007FFDFD2920C0) ReturnHr(3) tid(1c14) 80070716 El nombre de recurso especificado no se encuentra en el archivo de imagen.
>[New Thread 7760.0x2e18]
>[Thread 7760.0x2e18 exited with code 0]
>[New Thread 7760.0x285c]
>[Thread 7760.0x285c exited with code 0]
>[New Thread 7760.0x19fc]
>[Thread 7760.0x19fc exited with code 0]
>[New Thread 7760.0x1b30]
>[Thread 7760.0x1b30 exited with code 0]
>[New Thread 7760.0x13a0]
>[Thread 7760.0x13a0 exited with code 0]
>[Thread 7760.0x2438 exited with code 0]
>gdb: unknown target exception 0xc0000409 at 0x7ffdfb96286e
>Thread 1 received signal ?, Unknown signal.
>0x00007ffdfb96286e in ucrtbase!abort () from C:\Windows\System32\ucrtbase.dll
>(gdb) backtrace
>#0  0x00007ffdfb96286e in ucrtbase!abort () from C:\Windows\System32\ucrtbase.dll
>#1  0x00007ffdb027bc52 in poppler!??0GfxPatchMeshShading@@QEAA@HPEAUGfxPatch@@H$$QEAV?$vector@V?$unique_ptr@VFunction@@U?$default_delete@VFunction@@@std@@@std@@V?$allocator@V?$unique_ptr@VFunction@@U?$default_delete@VFunction@@@std@@@std@@@2@@std@@@Z () from C:\Program Files\Okular\bin\poppler.dll
>#2  0x00007ffdb027c4e4 in poppler!??0GfxPatchMeshShading@@QEAA@HPEAUGfxPatch@@H$$QEAV?$vector@V?$unique_ptr@VFunction@@U?$default_delete@VFunction@@@std@@@std@@V?$allocator@V?$unique_ptr@VFunction@@U?$default_delete@VFunction@@@std@@@std@@@2@@std@@@Z () from C:\Program Files\Okular\bin\poppler.dll
>#3  0x00007ffdb0278c37 in poppler!??0GfxPatchMeshShading@@QEAA@HPEAUGfxPatch@@H$$QEAV?$vector@V?$unique_ptr@VFunction@@U?$default_delete@VFunction@@@std@@@std@@V?$allocator@V?$unique_ptr@VFunction@@U?$default_delete@VFunction@@@std@@@std@@@2@@std@@@Z () from C:\Program Files\Okular\bin\poppler.dll
>#4  0x00007ffdb027ebd5 in poppler!??0GfxPatchMeshShading@@QEAA@HPEAUGfxPatch@@H$$QEAV?$vector@V?$unique_ptr@VFunction@@U?$default_delete@VFunction@@@std@@@std@@V?$allocator@V?$unique_ptr@VFunction@@U?$default_delete@VFunction@@@std@@@std@@@2@@std@@@Z () from C:\Program Files\Okular\bin\poppler.dll
>#5  0x00007ffdb03aa7a9 in poppler!??0GfxPatchMeshShading@@QEAA@HPEAUGfxPatch@@H$$QEAV?$vector@V?$unique_ptr@VFunction@@U?$default_delete@VFunction@@@std@@@std@@V?$allocator@V?$unique_ptr@VFunction@@U?$default_delete@VFunction@@@std@@@std@@@2@@std@@@Z () from C:\Program Files\Okular\bin\poppler.dll
>#6  0x00007ffdb0742e51 in poppler-qt5!?serialNumber@CertificateInfo@Poppler@@QEBA?AVQByteArray@@XZ ()
>   from C:\Program Files\Okular\bin\poppler-qt5.dll
>#7  0x00007ffdb07ef512 in qt_plugin_instance ()
>   from C:\Program Files\Okular\bin\okular\generators\okularGenerator_poppler.dll
>#8  0x00007ffdb10c512b in okularpart!?scrollOverlap@Settings@Okular@@SAIXZ ()
>   from C:\Program Files\Okular\bin\okularpart.dll
>#9  0x00007ffdb10c5a78 in okularpart!?scrollOverlap@Settings@Okular@@SAIXZ ()
>   from C:\Program Files\Okular\bin\okularpart.dll
>#10 0x00007ffdb10e5dcb in okularpart!?scrollOverlap@Settings@Okular@@SAIXZ ()
>   from C:\Program Files\Okular\bin\okularpart.dll
>#11 0x00007ffdb3717902 in Qt5Widgets!?event@QWidget@@MEAA_NPEAVQEvent@@@Z ()
>   from C:\Program Files\Okular\bin\Qt5Widgets.dll
>#12 0x00007ffdb37b8b40 in Qt5Widgets!?event@QFrame@@MEAA_NPEAVQEvent@@@Z ()
>--Type <RET> for more, q to quit, c to continue without paging--c
>   from C:\Program Files\Okular\bin\Qt5Widgets.dll
>#13 0x00007ffdb10ff8b1 in okularpart!?scrollOverlap@Settings@Okular@@SAIXZ () from C:\Program Files\Okular\bin\okularpart.dll
>#14 0x00007ffdb2d8782c in Qt5Core!?sendThroughObjectEventFilters@QCoreApplicationPrivate@@SA_NPEAVQObject@@PEAVQEvent@@@Z () from C:\Program Files\Okular\bin\Qt5Core.dll
>#15 0x00007ffdb36f499d in Qt5Widgets!?notify_helper@QApplicationPrivate@@QEAA_NPEAVQObject@@PEAVQEvent@@@Z () from C:\Program Files\Okular\bin\Qt5Widgets.dll
>#16 0x00007ffdb36f28d0 in Qt5Widgets!?notify@QApplication@@UEAA_NPEAVQObject@@PEAVQEvent@@@Z () from C:\Program Files\Okular\bin\Qt5Widgets.dll
>#17 0x00007ffdb2d8576b in Qt5Core!?notifyInternal2@QCoreApplication@@CA_NPEAVQObject@@PEAVQEvent@@@Z () from C:\Program Files\Okular\bin\Qt5Core.dll
>#18 0x00007ffdb36f5bb5 in Qt5Widgets!?sendMouseEvent@QApplicationPrivate@@SA_NPEAVQWidget@@PEAVQMouseEvent@@00PEAPEAV2@AEAV?$QPointer@VQWidget@@@@_N4@Z () from C:\Program Files\Okular\bin\Qt5Widgets.dll
>#19 0x00007ffdb3740322 in Qt5Widgets!??0QSizePolicy@@QEAA@XZ () from C:\Program Files\Okular\bin\Qt5Widgets.dll
>#20 0x00007ffdb373e2be in Qt5Widgets!??0QSizePolicy@@QEAA@XZ () from C:\Program Files\Okular\bin\Qt5Widgets.dll
>#21 0x00007ffdb36f49b1 in Qt5Widgets!?notify_helper@QApplicationPrivate@@QEAA_NPEAVQObject@@PEAVQEvent@@@Z () from C:\Program Files\Okular\bin\Qt5Widgets.dll
>#22 0x00007ffdb36f3a33 in Qt5Widgets!?notify@QApplication@@UEAA_NPEAVQObject@@PEAVQEvent@@@Z () from C:\Program Files\Okular\bin\Qt5Widgets.dll
>#23 0x00007ffdb2d8576b in Qt5Core!?notifyInternal2@QCoreApplication@@CA_NPEAVQObject@@PEAVQEvent@@@Z () from C:\Program Files\Okular\bin\Qt5Core.dll
>#24 0x00007ffdb30e4743 in Qt5Gui!?processMouseEvent@QGuiApplicationPrivate@@SAXPEAVMouseEvent@QWindowSystemInterfacePrivate@@@Z () from C:\Program Files\Okular\bin\Qt5Gui.dll
>#25 0x00007ffdb30cecd0 in Qt5Gui!?sendWindowSystemEvents@QWindowSystemInterface@@SA_NV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z () from C:\Program Files\Okular\bin\Qt5Gui.dll
>#26 0x00007ffdb2dce2c4 in Qt5Core!?processEvents@QEventDispatcherWin32@@UEAA_NV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z () from C:\Program Files\Okular\bin\Qt5Core.dll
>#27 0x00007ffdb1dc28d9 in qwindows!qt_plugin_query_metadata () from C:\Program Files\Okular\bin\platforms\qwindows.dll
>#28 0x00007ffdb2d81bbf in Qt5Core!?exec@QEventLoop@@QEAAHV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z () from C:\Program Files\Okular\bin\Qt5Core.dll
>#29 0x00007ffdb2d84735 in Qt5Core!?exec@QCoreApplication@@SAHXZ () from C:\Program Files\Okular\bin\Qt5Core.dll
>#30 0x00007ff66487a322 in okular!??0ViewerInterface@Okular@@QEAA@XZ ()
>#31 0x00007ff664897ed7 in okular!??0ViewerInterface@Okular@@QEAA@XZ ()
>#32 0x00007ff6648969a2 in okular!??0ViewerInterface@Okular@@QEAA@XZ ()
>#33 0x00007ffdfc0f7034 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
>#34 0x00007ffdfddc26a1 in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
>#35 0x0000000000000000 in ?? ()
>Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>(gdb) continue
>Continuing.
>[Thread 7760.0x36dc exited with code 3221226505]
>[Thread 7760.0x1608 exited with code 3221226505]
>[Thread 7760.0xe5c exited with code 3221226505]
>[Thread 7760.0x1c14 exited with code 3221226505]
>[Thread 7760.0x30d4 exited with code 3221226505]
>[Thread 7760.0x16c0 exited with code 3221226505]
>[Thread 7760.0x1f08 exited with code 3221226505]
>[Thread 7760.0x3a4 exited with code 3221226505]
>[Thread 7760.0x1dc8 exited with code 3221226505]
>[Thread 7760.0x330c exited with code 3221226505]
>[Thread 7760.0x33a4 exited with code 3221226505]
>[Thread 7760.0x3b4c exited with code 3221226505]
>[Thread 7760.0x3bc0 exited with code 3221226505]
>[Thread 7760.0x2ec8 exited with code 3221226505]
>[Thread 7760.0x3158 exited with code 3221226505]
>[Thread 7760.0x3960 exited with code 3221226505]
>[Thread 7760.0xc1c exited with code 3221226505]
>[Thread 7760.0x35bc exited with code 3221226505]
>[Thread 7760.0x193c exited with code 3221226505]
>[Thread 7760.0x3154 exited with code 3221226505]
>[Thread 7760.0x36e0 exited with code 3221226505]
>[Thread 7760.0x1f90 exited with code 3221226505]
>[Thread 7760.0x2b04 exited with code 3221226505]
>[Inferior 1 (process 7760) exited with code 030000002011]

Thanks.
Comment 1 Lukas ThyWalls 2022-10-29 17:25:37 UTC
Created attachment 153302 [details]
Test Certificate (Password 123456)

Added Test Certificate (from https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1116&id_menu=65) to add to the Firefox database if you haven't any to test. Password is 123456.
Comment 2 Enrico 2022-10-29 20:59:59 UTC
Hello, I can confirm this bug and I'm able to reproduce the crash also on Windows 11 (Okular 22.08.1 from windows store)
Comment 3 Albert Astals Cid 2022-12-12 23:34:32 UTC
poppler bug, will be fixed once Okular uses poppler 23.01.0 release