Application: okular (23.08.4) Qt Version: 5.15.11 Frameworks Version: 5.113.0 Operating System: Linux 6.2.0-37-generic x86_64 Windowing System: Wayland Distribution: KDE neon 5.27 DrKonqi: 5.27.10 [KCrashBackend] -- Information about the crash: Every time I open a certain digitally signed PDF, Okular exits without warning. This happens with Okular on KDE Neon and on Windows 10. Acrobat Pro and PDF-XChange on Windows 10 open it as normal and display the digital signature info banner. Master PDF on Windows 10, and Atril and Evince on Debian Sid open it but they seem to be unaware of the digital signature, even in the document Properties. I can't locate another digitally signed PDF to compare, and can't provide the PDF above because of confidentiality. The crash can be reproduced every time. -- Backtrace: Application: Okular (okular), signal: Segmentation fault [KCrash Handler] #4 0x00007f0d6de45059 in NSSSignatureVerification::NSSSignatureVerification (p7data=..., this=0x559979344660) at ./poppler/NSSCryptoSignBackend.cc:779 #5 std::make_unique<NSSSignatureVerification, std::vector<unsigned char, std::allocator<unsigned char> > > () at /usr/include/c++/11/bits/unique_ptr.h:962 #6 NSSCryptoSignBackend::createVerificationHandler (this=<optimized out>, pkcs7=...) at ./poppler/NSSCryptoSignBackend.cc:1189 #7 0x00007f0d6dd2963e in FormFieldSignature::validateSignature (this=0x559978f22ea0, doVerifyCert=doVerifyCert@entry=true, forceRevalidation=forceRevalidation@entry=false, validationTime=-1, ocspRevocationCheck=<optimized out>, enableAIA=enableAIA@entry=false) at ./poppler/Form.cc:2387 #8 0x00007f0d6dd29b9c in FormWidgetSignature::validateSignature (this=this@entry=0x559979338fa0, doVerifyCert=doVerifyCert@entry=true, forceRevalidation=forceRevalidation@entry=false, validationTime=<optimized out>, ocspRevocationCheck=<optimized out>, enableAIA=enableAIA@entry=false) at ./poppler/Form.cc:579 #9 0x00007f0d740bfa6a in Poppler::FormFieldSignature::validate (this=this@entry=0x55997933e020, opt=opt@entry=1, validationTime=...) at ./qt5/src/poppler-form.cc:1044 #10 0x00007f0d740bff14 in Poppler::FormFieldSignature::validate (this=0x55997933e020, opt=Poppler::FormFieldSignature::ValidateVerifyCertificate) at ./qt5/src/poppler-form.cc:978 #11 0x00007f0d7413e5cb in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/okular/generators/okularGenerator_poppler.so #12 0x00007f0d7414504c in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/okular/generators/okularGenerator_poppler.so #13 0x00007f0d7413472d in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/okular/generators/okularGenerator_poppler.so #14 0x00007f0d940d1fa2 in ?? () from /lib/x86_64-linux-gnu/libOkular5Core.so.11 #15 0x00007f0d940db71e in Okular::Document::openDocument(QString const&, QUrl const&, QMimeType const&, QString const&) () from /lib/x86_64-linux-gnu/libOkular5Core.so.11 #16 0x00007f0d8cee7995 in Okular::Part::doOpenFile(QMimeType const&, QString const&, bool*) () from /usr/lib/x86_64-linux-gnu/qt5/plugins/okularpart.so #17 0x00007f0d8cee91c3 in Okular::Part::openFile() () from /usr/lib/x86_64-linux-gnu/qt5/plugins/okularpart.so #18 0x00007f0d9c99ac65 in ?? () from /lib/x86_64-linux-gnu/libKF5Parts.so.5 #19 0x00007f0d9c9a0b27 in KParts::ReadOnlyPart::openUrl(QUrl const&) () from /lib/x86_64-linux-gnu/libKF5Parts.so.5 #20 0x00007f0d8cee5dcb in Okular::Part::openUrl(QUrl const&, bool) () from /usr/lib/x86_64-linux-gnu/qt5/plugins/okularpart.so #21 0x000055997693263b in ?? () #22 0x0000559976934289 in ?? () #23 0x00007f0d9aef4394 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #24 0x00007f0d9aef4394 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #25 0x00007f0d9bc62a06 in QAbstractButton::clicked(bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #26 0x00007f0d9bc62c8e in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #27 0x00007f0d9bc648b4 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #28 0x00007f0d9bc64ad7 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #29 0x00007f0d9bbaf95e in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #30 0x00007f0d9bb6c763 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #31 0x00007f0d9bb743a4 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #32 0x00007f0d9aebc8ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #33 0x00007f0d9bb72e87 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #34 0x00007f0d9bbc91db in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #35 0x00007f0d9bbcc535 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #36 0x00007f0d9bb6c763 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #37 0x00007f0d9aebc8ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #38 0x00007f0d9b343197 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #39 0x00007f0d9b316dbc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #40 0x00007f0d99403c74 in ?? () from /lib/x86_64-linux-gnu/libQt5WaylandClient.so.5 #41 0x00007f0d995c7d3b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #42 0x00007f0d9961d258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #43 0x00007f0d995c53e3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #44 0x00007f0d9af15dd8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #45 0x00007f0d9aebb20b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #46 0x00007f0d9aec37b4 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #47 0x000055997692bec8 in ?? () #48 0x00007f0d9a429d90 in __libc_start_call_main (main=main@entry=0x55997692a850, argc=argc@entry=1, argv=argv@entry=0x7fff3d7b75e8) at ../sysdeps/nptl/libc_start_call_main.h:58 #49 0x00007f0d9a429e40 in __libc_start_main_impl (main=0x55997692a850, argc=1, argv=0x7fff3d7b75e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff3d7b75d8) at ../csu/libc-start.c:392 #50 0x000055997692c8f5 in ?? () [Inferior 1 (process 2398) detached] Reported using DrKonqi
Would it be possible for us to have access to that file?
(In reply to Albert Astals Cid from comment #1) > Would it be possible for us to have access to that file? The file is technically confidential even though there is nothing particularly exciting in there. Would the file still be useful if I redacted identifying info? The digital signature would then fail but the file may still reveal the problem. If I could locate more digitally signed PDFs I could try them out.
(In reply to meso5 from comment #2) > (In reply to Albert Astals Cid from comment #1) > > Would it be possible for us to have access to that file? > > The file is technically confidential even though there is nothing > particularly exciting in there. Would the file still be useful if I redacted > identifying info? The digital signature would then fail but the file may > still reveal the problem. If I could locate more digitally signed PDFs I > could try them out. If it crashes it's useful, but be careful redacting most of the times doesn't really hide the text and tools like pdftotext can still extract it.
As it turns out, Acrobat Pro won't let me redact anything because the file is signed, which makes sense. As I said, there is nothing important or interesting in the file and I wouldn't mind sending it to you somehow for debugging as long as it's not publicly available on the web and you commit to discarding it afterwards, but I can't find a way to submit a file confidentially.
You can send it to me via email to aacid@kde.org
I just emailed it to you.
(In reply to meso5 from comment #6) > I just emailed it to you. I'll probably end up reviewing Albert's fix, if not helping implementing it; any chance I can get a copy as well ? sune@kde.org It looks like I touched the crashing code in question last.
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
https://gitlab.freedesktop.org/poppler/poppler/-/merge_requests/1480