Bug 396807 - Okular shutdown crash after editing a PDF form
Summary: Okular shutdown crash after editing a PDF form
Status: RESOLVED FIXED
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 1.4.3
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2018-07-24 08:31 UTC by Philipp Wagner
Modified: 2018-07-28 20:41 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Wagner 2018-07-24 08:31:59 UTC
Application: okular (1.4.3)

Qt Version: 5.11.1
Frameworks Version: 5.47.0
Operating System: Linux 4.17.6-1-default x86_64
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:

I edited a PDF form, saved it, and then closed Okular. On the shutdown Okular crashed.

-- Backtrace:
Application: Okular (okular), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f95dde13180 (LWP 6901))]

Thread 3 (Thread 0x7f95b39c4700 (LWP 6907)):
#0  0x00007f95d6ae04dc in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f95b464c78b in  () at /usr/lib64/dri/i965_dri.so
#2  0x00007f95b464c4b7 in  () at /usr/lib64/dri/i965_dri.so
#3  0x00007f95d6ada554 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f95d9b55ccf in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f95c299c700 (LWP 6905)):
#0  0x00007f95d9b4b2c9 in poll () at /lib64/libc.so.6
#1  0x00007f95d44be2c6 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f95d44be3ec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f95da458b3b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f95da408b3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f95da267326 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f95da8a9f45 in  () at /usr/lib64/libQt5DBus.so.5
#7  0x00007f95da2708ec in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007f95d6ada554 in start_thread () at /lib64/libpthread.so.0
#9  0x00007f95d9b55ccf in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f95dde13180 (LWP 6901)):
[KCrash Handler]
#6  0x00007f95d9a9308b in raise () at /lib64/libc.so.6
#7  0x00007f95d9a7c4e9 in abort () at /lib64/libc.so.6
#8  0x00007f95b2971260 in FormFieldText::setContentCopy(GooString*) () at /usr/lib64/libpoppler.so.74
#9  0x00007f95b2d67aa4 in Poppler::FormFieldText::setText(QString const&) () at /usr/lib64/libpoppler-qt5.so.1
#10 0x00007f95c0a77fe4 in  () at /usr/lib64/libOkular5Core.so.9
#11 0x00007f95db9ea5d6 in QUndoStack::push(QUndoCommand*) () at /usr/lib64/libQt5Widgets.so.5
#12 0x00007f95c0a64f0f in Okular::Document::editFormText(int, Okular::FormFieldText*, QString const&, int, int, int) () at /usr/lib64/libOkular5Core.so.9
#13 0x00007f95c0dbe78d in  () at /usr/lib64/qt5/plugins/okularpart.so
#14 0x00007f95da431ce0 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#15 0x00007f95c0db7694 in  () at /usr/lib64/qt5/plugins/okularpart.so
#16 0x00007f95da431ce0 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#17 0x00007f95db856b6d in  () at /usr/lib64/libQt5Widgets.so.5
#18 0x00007f95da431b83 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#19 0x00007f95db879d35 in  () at /usr/lib64/libQt5Widgets.so.5
#20 0x00007f95db87a11b in QWidgetTextControl::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Widgets.so.5
#21 0x00007f95da431c5c in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#22 0x00007f95dafe752c in QTextDocumentPrivate::finishEdit() () at /usr/lib64/libQt5Gui.so.5
#23 0x00007f95db023a91 in QSyntaxHighlighter::setDocument(QTextDocument*) () at /usr/lib64/libQt5Gui.so.5
#24 0x00007f95db023c39 in QSyntaxHighlighter::~QSyntaxHighlighter() () at /usr/lib64/libQt5Gui.so.5
#25 0x00007f95d3083d19 in Sonnet::Highlighter::~Highlighter() () at /usr/lib64/libKF5SonnetUi.so.5
#26 0x00007f95da42fc2b in QObjectPrivate::deleteChildren() () at /usr/lib64/libQt5Core.so.5
#27 0x00007f95da4383a4 in QObject::~QObject() () at /usr/lib64/libQt5Core.so.5
#28 0x00007f95d7cc0453 in  () at /usr/lib64/libKF5TextWidgets.so.5
#29 0x00007f95d7cba53b in KTextEdit::~KTextEdit() () at /usr/lib64/libKF5TextWidgets.so.5
#30 0x00007f95c0dbe2d2 in  () at /usr/lib64/qt5/plugins/okularpart.so
#31 0x00007f95c0e01fcf in  () at /usr/lib64/qt5/plugins/okularpart.so
#32 0x00007f95c0defc0e in  () at /usr/lib64/qt5/plugins/okularpart.so
#33 0x00007f95c0a687fe in Okular::Document::closeDocument() () at /usr/lib64/libOkular5Core.so.9
#34 0x00007f95c0d82eaa in Okular::Part::closeUrl(bool) () at /usr/lib64/qt5/plugins/okularpart.so
#35 0x000055d6307e74a6 in  ()
#36 0x000055d6307e75b9 in  ()
#37 0x00007f95da432418 in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#38 0x00007f95db6e9acb in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#39 0x00007f95db7e76e4 in QMainWindow::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#40 0x00007f95dcf74b8b in KMainWindow::event(QEvent*) () at /usr/lib64/libKF5XmlGui.so.5
#41 0x00007f95dcfbdb45 in KXmlGuiWindow::event(QEvent*) () at /usr/lib64/libKF5XmlGui.so.5
#42 0x00007f95db6adc11 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#43 0x00007f95db6b4df0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#44 0x00007f95da409d29 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#45 0x00007f95da40cbdb in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5
#46 0x00007f95da4594a3 in  () at /usr/lib64/libQt5Core.so.5
#47 0x00007f95d44be0be in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#48 0x00007f95d44be358 in  () at /usr/lib64/libglib-2.0.so.0
#49 0x00007f95d44be3ec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#50 0x00007f95da458b23 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#51 0x00007f95ced9e641 in  () at /usr/lib64/libQt5XcbQpa.so.5
#52 0x00007f95da408b3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#53 0x00007f95da4108be in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#54 0x000055d6307dd345 in  ()
#55 0x00007f95d9a7dfeb in __libc_start_main () at /lib64/libc.so.6
#56 0x000055d6307de96a in _start ()

Reported using DrKonqi
Comment 1 Albert Astals Cid 2018-07-28 20:41:07 UTC
Git commit aed8e5ac28a6d4f0947d6a96545fe50eb7101214 by Albert Astals Cid.
Committed on 28/07/2018 at 20:39.
Pushed by aacid into branch 'Applications/18.08'.

Fix crash on shutdown when having edited text forms

This fixes the same crash as bug 393334 but in a better way
the old way was setting a variable on destruction and then trying
to use that variable in a slot, but that's obviously wrong since
we were already mid destructing the object.

M  +8    -5    ui/formwidgets.cpp
M  +1    -0    ui/formwidgets.h

https://commits.kde.org/okular/aed8e5ac28a6d4f0947d6a96545fe50eb7101214