Bug 456716 - Okular crash when editing PDF
Summary: Okular crash when editing PDF
Status: RESOLVED UPSTREAM
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 22.04.3
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-07-14 13:36 UTC by Axel Braun
Modified: 2022-10-10 04:04 UTC (History)
2 users (show)

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


Attachments
Form causing the crash (203.62 KB, application/pdf)
2022-07-14 13:37 UTC, Axel Braun
Details
New crash information added by DrKonqi (5.32 KB, text/plain)
2022-10-10 04:04 UTC, ryan9590
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Axel Braun 2022-07-14 13:36:52 UTC
Application: okular (22.04.3)

Qt Version: 5.15.5
Frameworks Version: 5.96.0
Operating System: Linux 5.18.9-2-default x86_64
Windowing System: X11
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.25.2 [KCrashBackend]

-- Information about the crash:
When editing the attached PDF
-> check field 'Anrede'
-> ceck field 'Title'
-> Enter 'Dr.' in title
okular crashes reproducible

The crash can be reproduced every time.

-- Backtrace:
Application: Okular (okular), signal: Segmentation fault

[KCrash Handler]
#4  0x00007faf982b37ba in Form::ensureFontsForAllCharacters (this=0x56288c4d1e00, unicodeText=0x56288c6e0750, pdfFontNameToEmulate=..., fieldResources=<optimized out>) at /usr/src/debug/poppler-22.06.0-1.1.x86_64/poppler/Form.cc:2954
#5  0x00007faf982ab51a in FormFieldText::setContentCopy (this=0x56288c4dc700, new_content=new_content@entry=0x56288c6e0750) at /usr/src/debug/poppler-22.06.0-1.1.x86_64/poppler/Form.cc:1683
#6  0x00007faf982ab795 in FormWidgetText::setContent (this=this@entry=0x56288c4dc810, new_content=new_content@entry=0x56288c6e0750) at /usr/src/debug/poppler-22.06.0-1.1.x86_64/poppler/Form.cc:425
#7  0x00007faf98541767 in Poppler::FormFieldText::setText (this=<optimized out>, text=...) at /usr/src/debug/poppler-qt5-22.06.0-1.1.x86_64/qt5/src/poppler-form.cc:416
#8  0x00007fafa9fc1f5d in Okular::EditFormTextCommand::redo (this=0x7fafac0072a0) at /usr/src/debug/okular-22.04.3-1.1.x86_64/core/documentcommands.cpp:457
#9  0x00007fafb6884625 in QUndoStack::push (this=0x56288bbc6c80, cmd=<optimized out>) at util/qundostack.cpp:639
#10 0x00007fafaa12a8ea in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3, 4, 5>, QtPrivate::List<int, Okular::FormFieldText*, QString const&, int, int, int>, void, void (Okular::Document::*)(int, Okular::FormFieldText*, QString const&, int, int, int)>::call (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#11 QtPrivate::FunctionPointer<void (Okular::Document::*)(int, Okular::FormFieldText*, QString const&, int, int, int)>::call<QtPrivate::List<int, Okular::FormFieldText*, QString const&, int, int, int>, void> (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#12 QtPrivate::QSlotObject<void (Okular::Document::*)(int, Okular::FormFieldText*, QString const&, int, int, int), QtPrivate::List<int, Okular::FormFieldText*, QString const&, int, int, int>, void>::impl (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:418
#13 0x00007fafb58d8e6f in QtPrivate::QSlotObjectBase::call (a=0x7fff08c0ca20, r=0x56288bbe6030, this=0x56288c577de0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#14 doActivate<false> (sender=0x56288c577990, signal_index=8, argv=0x7fff08c0ca20) at kernel/qobject.cpp:3886
#15 0x00007fafb58d222f in QMetaObject::activate (sender=sender@entry=0x56288c577990, m=<optimized out>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7fff08c0ca20) at kernel/qobject.cpp:3946
#16 0x00007fafaa12ec0d in FormWidgetsController::formTextChangedByWidget (_t6=<optimized out>, _t5=<optimized out>, _t4=<optimized out>, _t3=..., _t2=0x56288c54f420, _t1=<optimized out>, this=0x56288c577990) at /usr/src/debug/okular-22.04.3-1.1.x86_64/build/okularpart_autogen/EAH7DXM7NH/moc_formwidgets.cpp:397
#17 FormLineEdit::slotChanged (this=0x56288c590f00) at /usr/src/debug/okular-22.04.3-1.1.x86_64/part/formwidgets.cpp:571
#18 0x00007fafb58d8e6f in QtPrivate::QSlotObjectBase::call (a=0x7fff08c0cb60, r=0x56288c590f00, this=0x56288c591d40) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#19 doActivate<false> (sender=0x56288c590f00, signal_index=8, argv=0x7fff08c0cb60) at kernel/qobject.cpp:3886
#20 0x00007fafb58d222f in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7fafb6a05b20 <QLineEdit::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff08c0cb60) at kernel/qobject.cpp:3946
#21 0x00007fafb662c615 in QLineEdit::textEdited (this=<optimized out>, _t1=...) at .moc/moc_qlineedit.cpp:454
#22 0x00007fafb6629d44 in QLineEditPrivate::_q_textEdited (this=0x56288c590f70, text=...) at widgets/qlineedit_p.cpp:132
#23 0x00007fafb58d8e9c in doActivate<false> (sender=0x56288c484fc0, signal_index=7, argv=0x7fff08c0cc60) at kernel/qobject.cpp:3898
#24 0x00007fafb58d222f in QMetaObject::activate (sender=sender@entry=0x56288c484fc0, m=m@entry=0x7fafb6a05be0 <QWidgetLineControl::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x7fff08c0cc60) at kernel/qobject.cpp:3946
#25 0x00007fafb6633d55 in QWidgetLineControl::textEdited (this=this@entry=0x56288c484fc0, _t1=...) at .moc/moc_qwidgetlinecontrol_p.cpp:280
#26 0x00007fafb663747b in QWidgetLineControl::finishChange (this=0x56288c484fc0, validateFromState=<optimized out>, update=<optimized out>, edited=<optimized out>) at widgets/qwidgetlinecontrol.cpp:735
#27 0x00007fafb663a0a4 in QWidgetLineControl::processKeyEvent (this=0x56288c484fc0, event=event@entry=0x7fff08c0d140) at widgets/qwidgetlinecontrol.cpp:1943
#28 0x00007fafb662c79f in QLineEdit::keyPressEvent (this=0x56288c590f00, event=0x7fff08c0d140) at widgets/qlineedit.cpp:1794
#29 0x00007fafb6528a70 in QWidget::event (this=0x56288c590f00, event=0x7fff08c0d140) at kernel/qwidget.cpp:8692
#30 0x00007fafb64e641e in QApplicationPrivate::notify_helper (this=this@entry=0x56288ba40bd0, receiver=receiver@entry=0x56288c590f00, e=e@entry=0x7fff08c0d140) at kernel/qapplication.cpp:3637
#31 0x00007fafb64ee34f in QApplication::notify (this=<optimized out>, receiver=0x56288c590f00, e=<optimized out>) at kernel/qapplication.cpp:2999
#32 0x00007fafb58a1fb8 in QCoreApplication::notifyInternal2 (receiver=0x56288c590f00, event=0x7fff08c0d140) at kernel/qcoreapplication.cpp:1064
#33 0x00007fafb6544022 in QWidgetWindow::event (this=0x56288c249800, event=0x7fff08c0d140) at kernel/qwidgetwindow.cpp:293
#34 0x00007fafb64e641e in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x56288c249800, e=0x7fff08c0d140) at kernel/qapplication.cpp:3637
#35 0x00007fafb58a1fb8 in QCoreApplication::notifyInternal2 (receiver=0x56288c249800, event=0x7fff08c0d140) at kernel/qcoreapplication.cpp:1064
#36 0x00007fafb5d94619 in QGuiApplicationPrivate::processKeyEvent (e=0x56288c4860b0) at kernel/qguiapplication.cpp:2414
#37 0x00007fafb5d6c33c in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#38 0x00007fafb0ee07fa in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#39 0x00007fafb3e28ea0 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#40 0x00007fafb3e29258 in ?? () from /lib64/libglib-2.0.so.0
#41 0x00007fafb3e292ec in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#42 0x00007fafb58f9456 in QEventDispatcherGlib::processEvents (this=0x56288bb2cb50, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#43 0x00007fafb58a0a2b in QEventLoop::exec (this=this@entry=0x7fff08c0d3d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#44 0x00007fafb58a8b96 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#45 0x00007fafb5d8be0c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#46 0x00007fafb64e6395 in QApplication::exec () at kernel/qapplication.cpp:2829
#47 0x000056288b8691fe in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/okular-22.04.3-1.1.x86_64/shell/main.cpp:105
[Inferior 1 (process 27774) detached]

Reported using DrKonqi
Comment 1 Axel Braun 2022-07-14 13:37:36 UTC
Created attachment 150619 [details]
Form causing the crash
Comment 2 Albert Astals Cid 2022-07-29 23:53:46 UTC
Tell the opensuse folks to update poppler.
Comment 3 ryan9590 2022-10-10 04:04:14 UTC
Created attachment 152681 [details]
New crash information added by DrKonqi

okular (22.04.3) using Qt 5.15.4

On a PDF I created last year in Libre office with forms to type information and check boxes; Okular crashes 100% of the times when I try to edit one of the forms. This PDF worked on Debian 11 Bullseye, I only have encoutered after upgrading to Testing bookworm.

-- Backtrace (Reduced):
#4  0x00007fd0ec56089c in GfxResources::doLookupFont(char const*) const () from /lib/x86_64-linux-gnu/libpoppler.so.123
#5  0x00007fd0ec5609ad in GfxResources::lookupFont(char const*) () from /lib/x86_64-linux-gnu/libpoppler.so.123
#6  0x00007fd0ec546998 in Form::ensureFontsForAllCharacters(GooString const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, GfxResources*) () from /lib/x86_64-linux-gnu/libpoppler.so.123
[...]
#8  0x00007fd0f9712d37 in Poppler::FormFieldText::setText(QString const&) () from /lib/x86_64-linux-gnu/libpoppler-qt5.so.1
[...]
#10 0x00007fd10eb01dc5 in QUndoStack::push(QUndoCommand*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5