Bug 361792 - [frameworks] Crash when closing Okular while form is in edit mode
Summary: [frameworks] Crash when closing Okular while form is in edit mode
Status: RESOLVED WORKSFORME
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords: drkonqi, triaged
Depends on:
Blocks:
 
Reported: 2016-04-15 05:12 UTC by Elias Probst
Modified: 2018-09-28 05:16 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (12.38 KB, text/plain)
2018-08-10 12:08 UTC, don.vhs
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Elias Probst 2016-04-15 05:12:37 UTC
Application: okular (1.0.0)
 (Compiled from sources)
Qt Version: 5.5.1
Frameworks Version: 5.21.0
Operating System: Linux 4.5.0-gentoo x86_64
Distribution: "Gentoo Base System release 2.2"

-- Information about the crash:
- What I was doing when the application crashed:
I managed twice to make Okular crash on closing it while a PDF form was in edit mode.

Okular is built from git/master@8bcfc5d0

The crash can be reproduced sometimes.

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

Thread 2 (Thread 0x7efe83fab700 (LWP 24144)):
#0  0x00007efe94b70d4d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007efe91690ac2 in poll (__timeout=-1, __nfds=1, __fds=0x7efe83faac40) at /usr/include/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x144bac0, cond=cond@entry=0x144bb00, vector=vector@entry=0x0, count=count@entry=0x0) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_conn.c:459
#3  0x00007efe9169272f in xcb_wait_for_event (c=0x144bac0) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_in.c:693
#4  0x00007efe854b2c89 in QXcbEventReader::run (this=0x144b520) at qxcbconnection.cpp:1229
#5  0x00007efe951e14f2 in QThreadPrivate::start (arg=0x144b520) at thread/qthread_unix.cpp:331
#6  0x00007efe9126e444 in start_thread (arg=0x7efe83fab700) at pthread_create.c:334
#7  0x00007efe94b79dad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7efe858c4880 (LWP 24141)):
[KCrash Handler]
#6  0x00007efe94ac32a7 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#7  0x00007efe94ac46fa in __GI_abort () at abort.c:89
#8  0x00007efe77b97d29 in Object::getDict (this=0x19e8398, this=0x19e8398) at /var/tmp/portage/app-text/poppler-0.32.0/work/poppler-0.32.0/poppler/Object.h:209
#9  FormFieldText::setContentCopy (this=0x19e8380, new_content=new_content@entry=0x1a29ec0) at /var/tmp/portage/app-text/poppler-0.32.0/work/poppler-0.32.0/poppler/Form.cc:1053
#10 0x00007efe77b97d57 in FormWidgetText::setContent (this=this@entry=0x19e8450, new_content=new_content@entry=0x1a29ec0) at /var/tmp/portage/app-text/poppler-0.32.0/work/poppler-0.32.0/poppler/Form.cc:310
#11 0x00007efe77f61134 in Poppler::FormFieldText::setText (this=<optimized out>, text=...) at /var/tmp/portage/app-text/poppler-0.32.0/work/poppler-0.32.0/qt5/src/poppler-form.cc:283
#12 0x00007efe81414371 in Okular::EditFormTextCommand::redo (this=0x1a03f70) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/core/documentcommands.cpp:376
#13 0x00007efe95f68e08 in QUndoStack::push (this=0x154c4f0, cmd=cmd@entry=0x1a03f70) at util/qundostack.cpp:579
#14 0x00007efe813f45c4 in Okular::Document::editFormText (this=0x153ba40, pageNumber=0, form=0x19ff6b0, newContents=..., newCursorPos=0, prevCursorPos=0, prevAnchorPos=0) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/core/document.cpp:3727
#15 0x00007efe817473de 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:501
#16 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:520
#17 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/qobject_impl.h:143
#18 0x00007efe953b6313 in QtPrivate::QSlotObjectBase::call (a=0x7ffea877ec30, r=0x153ba40, this=0x1a16df0) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
#19 QMetaObject::activate (sender=0x1a0a430, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffea877ec30) at kernel/qobject.cpp:3698
#20 0x00007efe953b6f87 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7efe81a063e0 <FormWidgetsController::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffea877ec30) at kernel/qobject.cpp:3578
#21 0x00007efe8173e1ca in FormWidgetsController::formTextChangedByWidget (this=<optimized out>, _t1=0, _t2=_t2@entry=0x19ff6b0, _t3=..., _t4=_t4@entry=0, _t5=_t5@entry=0, _t6=0) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999_build/moc_formwidgets.cpp:365
#22 0x00007efe8173ebbb in TextAreaEdit::slotChanged (this=0x1a20d90) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/ui/formwidgets.cpp:624
#23 0x00007efe953b6313 in QtPrivate::QSlotObjectBase::call (a=0x7ffea877ed70, r=0x1a20d90, this=0x1a2a470) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
#24 QMetaObject::activate (sender=0x1a20d90, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3698
#25 0x00007efe953b6f87 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7efe960eb4a0 <QTextEdit::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3578
#26 0x00007efe95d7b9c0 in QTextEdit::textChanged (this=<optimized out>) at .moc/moc_qtextedit.cpp:524
#27 0x00007efe95d81835 in QTextEdit::qt_static_metacall (_o=0x1a20d90, _c=<optimized out>, _id=<optimized out>, _a=0x7ffea877eee0) at .moc/moc_qtextedit.cpp:318
#28 0x00007efe953b6894 in QMetaObject::activate (sender=0x1a25150, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3713
#29 0x00007efe953b6f87 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7efe960ed340 <QWidgetTextControl::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3578
#30 0x00007efe95d99470 in QWidgetTextControl::textChanged (this=<optimized out>) at .moc/moc_qwidgettextcontrol_p.cpp:481
#31 0x00007efe95da1f4d in QWidgetTextControl::qt_static_metacall (_o=_o@entry=0x1a25150, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=0, _a=_a@entry=0x7ffea877f060) at .moc/moc_qwidgettextcontrol_p.cpp:254
#32 0x00007efe95da77fb in QWidgetTextControl::qt_metacall (this=0x1a25150, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7ffea877f060) at .moc/moc_qwidgettextcontrol_p.cpp:451
#33 0x00007efe953b6995 in QMetaObject::activate (sender=0x1a251a0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3728
#34 0x00007efe953b6f87 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7efe95a76ca0 <QTextDocument::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3578
#35 0x00007efe959ad443 in QTextDocument::contentsChanged (this=<optimized out>) at .moc/moc_qtextdocument.cpp:378
#36 0x00007efe9579ea82 in QTextDocumentPrivate::contentsChanged (this=this@entry=0x1a253b0) at text/qtextdocument_p.cpp:1646
#37 0x00007efe957a1e81 in QTextDocumentPrivate::finishEdit (this=0x1a253b0) at text/qtextdocument_p.cpp:1238
#38 0x00007efe957a23cc in QTextDocumentPrivate::endEditBlock (this=<optimized out>) at text/qtextdocument_p.cpp:1193
#39 0x00007efe957a24ae in QTextDocumentPrivate::endEditBlock (this=<optimized out>) at text/qtextdocument_p.cpp:1179
#40 0x00007efe957c921d in QTextCursor::endEditBlock (this=this@entry=0x7ffea877f1a0) at text/qtextcursor.cpp:2504
#41 0x00007efe957e0741 in QSyntaxHighlighter::setDocument (this=this@entry=0x1a66b50, doc=doc@entry=0x0) at text/qsyntaxhighlighter.cpp:333
#42 0x00007efe957e0859 in QSyntaxHighlighter::~QSyntaxHighlighter (this=0x1a66b50, __in_chrg=<optimized out>) at text/qsyntaxhighlighter.cpp:315
#43 0x00007efe8dd57799 in Sonnet::Highlighter::~Highlighter (this=0x1a66b50, __in_chrg=<optimized out>) at /var/tmp/portage/kde-frameworks/sonnet-9999/work/sonnet-9999/src/ui/highlighter.cpp:156
#44 0x00007efe953b7583 in QObjectPrivate::deleteChildren (this=this@entry=0x1a7e580) at kernel/qobject.cpp:1946
#45 0x00007efe953bf0a8 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1024
#46 0x00007efe92e7e6c3 in KTextDecorator::~KTextDecorator (this=0x1a7f7f0, __in_chrg=<optimized out>) at /var/tmp/portage/kde-frameworks/ktextwidgets-9999/work/ktextwidgets-9999/src/widgets/ktextedit.cpp:55
#47 KTextDecorator::~KTextDecorator (this=0x1a7f7f0, __in_chrg=<optimized out>) at /var/tmp/portage/kde-frameworks/ktextwidgets-9999/work/ktextwidgets-9999/src/widgets/ktextedit.cpp:55
#48 0x00007efe92e79d6b in KTextEdit::Private::~Private (this=0x1a28cc0, __in_chrg=<optimized out>) at /var/tmp/portage/kde-frameworks/ktextwidgets-9999/work/ktextwidgets-9999/src/widgets/ktextedit.cpp:92
#49 KTextEdit::~KTextEdit (this=0x1a20d90, __in_chrg=<optimized out>) at /var/tmp/portage/kde-frameworks/ktextwidgets-9999/work/ktextwidgets-9999/src/widgets/ktextedit.cpp:341
#50 0x00007efe8174659e in TextAreaEdit::~TextAreaEdit (this=0x1a20d90, __in_chrg=<optimized out>) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/ui/formwidgets.h:241
#51 TextAreaEdit::~TextAreaEdit (this=0x1a20d90, __in_chrg=<optimized out>) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/ui/formwidgets.h:241
#52 0x00007efe81788f2f in PageViewItem::~PageViewItem (this=0x15a1ec0, __in_chrg=<optimized out>) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/ui/pageviewutils.cpp:56
#53 0x00007efe817706dd in PageView::notifySetup (this=0x1625340, pageSet=..., setupFlags=<optimized out>) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/ui/pageview.cpp:949
#54 0x00007efe8140c228 in Okular::Document::closeDocument (this=0x153ba40) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/core/document.cpp:2613
#55 0x00007efe8170cc04 in Okular::Part::closeUrl (this=0x15284c0, promptToSave=<optimized out>) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/part.cpp:1613
#56 0x0000000000413f28 in Shell::~Shell (this=this@entry=0x14a8220, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/shell/shell.cpp:179
#57 0x0000000000413fe9 in Shell::~Shell (this=0x14a8220, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/shell/shell.cpp:187
#58 0x00007efe953b7988 in QObject::event (this=this@entry=0x14a8220, e=e@entry=0x1aa3710) at kernel/qobject.cpp:1230
#59 0x00007efe95c26247 in QWidget::event (this=this@entry=0x14a8220, event=event@entry=0x1aa3710) at kernel/qwidget.cpp:9105
#60 0x00007efe95d2184b in QMainWindow::event (this=this@entry=0x14a8220, event=event@entry=0x1aa3710) at widgets/qmainwindow.cpp:1495
#61 0x00007efe97578557 in KMainWindow::event (this=this@entry=0x14a8220, ev=ev@entry=0x1aa3710) at /var/tmp/portage/kde-frameworks/kxmlgui-9999/work/kxmlgui-9999/src/kmainwindow.cpp:867
#62 0x00007efe975b3675 in KXmlGuiWindow::event (this=0x14a8220, ev=0x1aa3710) at /var/tmp/portage/kde-frameworks/kxmlgui-9999/work/kxmlgui-9999/src/kxmlguiwindow.cpp:118
#63 0x00007efe95be26bc in QApplicationPrivate::notify_helper (this=this@entry=0x143fd80, receiver=receiver@entry=0x14a8220, e=e@entry=0x1aa3710) at kernel/qapplication.cpp:3716
#64 0x00007efe95be7ba8 in QApplication::notify (this=0x7ffea877fe50, receiver=0x14a8220, e=0x1aa3710) at kernel/qapplication.cpp:3499
#65 0x00007efe9538e65d in QCoreApplication::notifyInternal (this=0x7ffea877fe50, receiver=0x14a8220, event=event@entry=0x1aa3710) at kernel/qcoreapplication.cpp:965
#66 0x00007efe95391423 in QCoreApplication::sendEvent (event=0x1aa3710, receiver=<optimized out>) at kernel/qcoreapplication.h:224
#67 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x14372d0) at kernel/qcoreapplication.cpp:1593
#68 0x00007efe953919e8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1451
#69 0x00007efe953dbfb3 in postEventSourceDispatch (s=0x1479a20) at kernel/qeventdispatcher_glib.cpp:271
#70 0x00007efe8f57bc9d in g_main_dispatch (context=0x7efe7c0016f0) at /var/tmp/portage/dev-libs/glib-2.46.2-r2/work/glib-2.46.2/glib/gmain.c:3154
#71 g_main_context_dispatch (context=context@entry=0x7efe7c0016f0) at /var/tmp/portage/dev-libs/glib-2.46.2-r2/work/glib-2.46.2/glib/gmain.c:3769
#72 0x00007efe8f57bf80 in g_main_context_iterate (context=context@entry=0x7efe7c0016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.46.2-r2/work/glib-2.46.2/glib/gmain.c:3840
#73 0x00007efe8f57c02c in g_main_context_iteration (context=0x7efe7c0016f0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.46.2-r2/work/glib-2.46.2/glib/gmain.c:3901
#74 0x00007efe953dc027 in QEventDispatcherGlib::processEvents (this=0x1486fa0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#75 0x00007efe9538d27a in QEventLoop::exec (this=this@entry=0x7ffea877fd30, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#76 0x00007efe9539464c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#77 0x00007efe956b32fc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1527
#78 0x00007efe95bde2e5 in QApplication::exec () at kernel/qapplication.cpp:2976
#79 0x000000000040b285 in main (argc=2, argv=<optimized out>) at /var/tmp/portage/kde-apps/okular-5.9999/work/okular-5.9999/shell/main.cpp:85

Reported using DrKonqi
Comment 1 Albert Astals Cid 2016-05-11 22:24:32 UTC
Can you reproduce this crash on supported version of Okular (i.e. the kdelibs4-based one)?
Comment 2 don.vhs 2018-08-10 12:08:44 UTC
Created attachment 114390 [details]
New crash information added by DrKonqi

okular (1.4.2) using Qt 5.11.1

- What I was doing when the application crashed:
Crashed when closing Ocular after having edited a document's forms

-- Backtrace (Reduced):
#6  0x00007f49b93ba428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#7  0x00007f49b93bc02a in __GI_abort () at abort.c:89
#8  0x00007f4993da0bb8 in Object::getDict (this=0x35cd2e8, this=0x35cd2e8) at Object.h:209
#9  FormFieldText::setContentCopy (this=0x35cd2d0, new_content=new_content@entry=0x3793cd0) at Form.cc:1053
#10 0x00007f4993da0be7 in FormWidgetText::setContent (this=this@entry=0x35cd380, new_content=new_content@entry=0x3793cd0) at Form.cc:310
Comment 3 Andrew Crouthamel 2018-09-28 03:31:44 UTC
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 set the bug status 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!
Comment 4 don.vhs 2018-09-28 04:46:48 UTC
What information do you need?
Comment 5 Oliver Sander 2018-09-28 05:05:28 UTC
The file, if that is possible.
Comment 6 don.vhs 2018-09-28 05:11:35 UTC
I tested it again and it doesn't crash for me anymore.
Comment 7 Oliver Sander 2018-09-28 05:16:38 UTC
Excellent.  Thanks for the feedback!