https://bugs.kde.org/show_bug.cgi?id=477153
John Scott <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #6 from John Scott <[email protected]> --- I am experiencing this problem and have a PDF that can reliably reproduce it, namely this application for a US government program: https://www.ssa.gov/forms/ssa-8000-bk.pdf To correct errors in that PDF and make it more friendly to a free software workflow, I tidy it up with a couple commands: qpdf --decrypt --remove-restrictions ssa-8000-bk.pdf tidy_01.pdf pdftk tidy_01.pdf output tidy_02.pdf drop_xfa eval python $$'<<END\nimport pikepdf\nwith pikepdf.open("tidy_02.pdf", suppress_warnings=False) as pdf:\n\tpikepdf.sanitize.remove_javascript(pdf)\n\tpdf.save("tidy_03.pdf")\nEND\n' In sequence this disables the PDF DRM that inhibits copying and modification (which is really inappropriate to have on a government form that's in the public domain in the US, but hey, I didn't make it), remove the XFA form bits which aren't important anyway, and lastly delete all of the JavaScript which, in practice, is only used to tell you to go download Adobe's software. These tweaks are not imperative but it's what I did before opening this with Okular. As the reporter hinted at, I fill in some text fields of the form and check some checkboxes, and if I make a habit of pressing Ctrl+S frequently, usually after advancing a page or two I will see this crash within Okular 25.04.2 on Debian Trixie. Please note, however, that Okular may crash immediately upon toggling a checkbox, even before saving, and that appears to be this other known bug: https://bugs.kde.org/show_bug.cgi?id=521338 This issue gives me a backtrace like this: #0 0x00007fd97c30f80b in Okular::EditFormButtonsCommand::refreshInternalPageReferences (this=0x55999ca38f60, newPagesVector=...) at ./core/documentcommands.cpp:656 #1 0x00007fd97c2f2756 in Okular::Document::swapBackingFile (this=0x55999c778060, newFileName=..., url=...) at ./core/document.cpp:5071 #2 0x00007fd97c2f3962 in Okular::Document::swapBackingFile (this=<optimized out>, newFileName=<optimized out>, url=<optimized out>) at ./core/document.cpp:5129 #3 0x00007fd96dce5ec1 in Okular::Part::doOpenFile (this=this@entry=0x55999c4c12f0, mimeA=..., fileNameToOpenA=..., isCompressedFile=isCompressedFile@entry=0x7ffc70c18cff) at ./part/part.cpp:1433 #4 0x00007fd96dce6c87 in Okular::Part::openFile (this=0x55999c4c12f0) at ./part/part.cpp:1593 #5 0x00007fd989196025 in KParts::ReadOnlyPartPrivate::openLocalFile (this=this@entry=0x55999c64c9a0) at ./src/readonlypart.cpp:157 #6 0x00007fd989197230 in KParts::ReadOnlyPart::openUrl (this=this@entry=0x55999c4c12f0, url=...) at ./src/readonlypart.cpp:118 #7 0x00007fd96dcd4063 in Okular::Part::openUrl (this=this@entry=0x55999c4c12f0, _url=..., swapInsteadOfOpening=swapInsteadOfOpening@entry=true) at ./part/part.cpp:1819 #8 0x00007fd96dcea6de in Okular::Part::saveAs (this=this@entry=0x55999c4c12f0, saveUrl=..., flags=...) at ./part/part.cpp:2924 #9 0x00007fd96dceb9d3 in Okular::Part::saveAs (this=0x55999c4c12f0, saveUrl=...) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qflags.h:74 #10 Okular::Part::saveFile (this=0x55999c4c12f0) at ./part/part.cpp:2571 #11 0x00007fd9871e4403 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=0x55999c4c12f0, a=0x7ffc70c19560, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:486 #12 doActivate<false> (sender=0x55999c8fa100, signal_index=7, argv=0x7ffc70c19560) at ./src/corelib/kernel/qobject.cpp:4115 #13 0x00007fd987af12a6 in QAction::triggered (this=this@entry=0x55999c8fa100, _t1=<optimized out>) at ./obj-x86_64-linux-gnu/src/gui/Gui_autogen/include/moc_qaction.cpp:479 #14 0x00007fd987af67b9 in QAction::activate (this=0x55999c8fa100, event=<optimized out>) at ./src/gui/kernel/qaction.cpp:1104 #15 0x00007fd987af6900 in QAction::event (this=0x55999c8fa100, e=0x7ffc70c197a0) at ./src/gui/kernel/qaction.cpp:1046 #16 0x00007fd9881b49b5 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55999c8fa100, e=0x7ffc70c197a0) at ./src/widgets/kernel/qapplication.cpp:3296 #17 0x00007fd987196570 in QCoreApplication::notifyInternal2 (receiver=0x55999c8fa100, event=0x7ffc70c197a0) at ./src/corelib/kernel/qcoreapplication.cpp:1172 #18 0x00007fd9871965bd in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at ./src/corelib/kernel/qcoreapplication.cpp:1612 #19 0x00007fd987b05531 in QShortcutMap::dispatchEvent (this=<optimized out>, e=0x7ffc70c19880) at ./src/gui/kernel/qshortcutmap.cpp:606 #20 0x00007fd987b05a4f in QShortcutMap::tryShortcut (this=0x55999c49df58, e=0x7ffc70c19880) at ./src/gui/kernel/qshortcutmap.cpp:310 #21 0x00007fd98783f9b3 in QWindowSystemInterface::handleShortcutEvent (window=<optimized out>, timestamp=<optimized out>, keyCode=83, modifiers=..., nativeScanCode=39, nativeVirtualKey=115, nativeModifiers=20, text=..., autorepeat=false, count=1) at ./src/gui/kernel/qwindowsysteminterface.cpp:449 #22 0x00007fd9877e0eee in QGuiApplicationPrivate::processKeyEvent (e=0x55999c8fb4e0) at ./src/gui/kernel/qguiapplication.cpp:2574 #23 0x00007fd98783945c in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at ./src/gui/kernel/qwindowsysteminterface.cpp:1113 #24 0x00007fd987bba774 in userEventSourceDispatch (source=<optimized out>) at ./src/gui/platform/unix/qeventdispatcher_glib.cpp:38 #25 0x00007fd9862a33c5 in g_main_dispatch (context=context@entry=0x7fd978000f00) at ../../../glib/gmain.c:3398 #26 0x00007fd9862a55f7 in g_main_context_dispatch_unlocked (context=0x7fd978000f00) at ../../../glib/gmain.c:4249 #27 g_main_context_iterate_unlocked (context=context@entry=0x7fd978000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4314 #28 0x00007fd9862a5d60 in g_main_context_iteration (context=0x7fd978000f00, may_block=1) at ../../../glib/gmain.c:4379 #29 0x00007fd9873a6563 in QEventDispatcherGlib::processEvents (this=0x55999c4845a0, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:399 #30 0x00007fd987198853 in QEventLoop::exec (this=this@entry=0x7ffc70c19c90, flags=..., flags@entry=...) at ./src/corelib/global/qflags.h:34 #31 0x00007fd98719a14a in QCoreApplication::exec () at ./src/corelib/global/qflags.h:74 #32 0x00007fd9877d9f60 in QGuiApplication::exec () at ./src/gui/kernel/qguiapplication.cpp:1975 #33 0x00007fd9881b1c79 in QApplication::exec () at ./src/widgets/kernel/qapplication.cpp:2564 #34 0x0000559985da6a23 in main (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:123 -- You are receiving this mail because: You are watching all bug changes.
