Application: ark (16.12.3) Qt Version: 5.7.1 Frameworks Version: 5.35.0 Operating System: Linux 4.11.4-300.fc26.x86_64 x86_64 Distribution (Platform): Fedora RPMs -- Information about the crash: - What I was doing when the application crashed: I opened a tar.xz (but this happenes with every archive), opened a PDF with forms using the okular preview, displayed the forms inside this PDF, edited some forms and closed okular. The crash can be reproduced every time. -- Backtrace: Application: Ark (ark), signal: Aborted Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f5407c258c0 (LWP 18013))] Thread 3 (Thread 0x7f53f0a42700 (LWP 18015)): #0 0x00007f540a97d589 in g_mutex_lock () at /lib64/libglib-2.0.so.0 #1 0x00007f540a937b06 in g_main_context_prepare () at /lib64/libglib-2.0.so.0 #2 0x00007f540a9384cb in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #3 0x00007f540a9386ac in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #4 0x00007f54116d6d0b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5 #5 0x00007f5411686b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5 #6 0x00007f54114dbefa in QThread::exec() () at /lib64/libQt5Core.so.5 #7 0x00007f54128b1709 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5 #8 0x00007f54114e01ee in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5 #9 0x00007f540f29636d in start_thread () at /lib64/libpthread.so.0 #10 0x00007f54108c6e9f in clone () at /lib64/libc.so.6 Thread 2 (Thread 0x7f53fc8f4700 (LWP 18014)): #0 0x00007f54108badad in poll () at /lib64/libc.so.6 #1 0x00007f540a02ec97 in _xcb_conn_wait () at /lib64/libxcb.so.1 #2 0x00007f540a030a8a in xcb_wait_for_event () at /lib64/libxcb.so.1 #3 0x00007f5400f93b99 in QXcbEventReader::run() () at /lib64/libQt5XcbQpa.so.5 #4 0x00007f54114e01ee in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5 #5 0x00007f540f29636d in start_thread () at /lib64/libpthread.so.0 #6 0x00007f54108c6e9f in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7f5407c258c0 (LWP 18013)): [KCrash Handler] #6 0x00007f54107ec64b in raise () at /lib64/libc.so.6 #7 0x00007f54107ee450 in abort () at /lib64/libc.so.6 #8 0x00007f53defc15c8 in FormFieldText::setContentCopy(GooString*) () at /lib64/libpoppler.so.66 #9 0x00007f53df3ce2b4 in Poppler::FormFieldText::setText(QString const&) () at /lib64/libpoppler-qt5.so.1 #10 0x00007f53e56c1841 in Okular::EditFormTextCommand::redo() () at /lib64/libOkular5Core.so.7 #11 0x00007f5412249468 in QUndoStack::push(QUndoCommand*) () at /lib64/libQt5Widgets.so.5 #12 0x00007f53e56a147f in Okular::Document::editFormText(int, Okular::FormFieldText*, QString const&, int, int, int) () at /lib64/libOkular5Core.so.7 #13 0x00007f53e59f087d in 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(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) () at /usr/lib64/qt5/plugins/okularpart.so #14 0x00007f54116af4b7 in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5 #15 0x00007f53e59e9110 in TextAreaEdit::slotChanged() () at /usr/lib64/qt5/plugins/okularpart.so #16 0x00007f54116af4b7 in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5 #17 0x00007f5412080345 in QTextEdit::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /lib64/libQt5Widgets.so.5 #18 0x00007f54116af383 in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5 #19 0x00007f54120a3f35 in QWidgetTextControl::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /lib64/libQt5Widgets.so.5 #20 0x00007f54120a5805 in QWidgetTextControl::qt_metacall(QMetaObject::Call, int, void**) () at /lib64/libQt5Widgets.so.5 #21 0x00007f54116af46c in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5 #22 0x00007f5411abee14 in QTextDocumentPrivate::finishEdit() () at /lib64/libQt5Gui.so.5 #23 0x00007f5411afb901 in QSyntaxHighlighter::setDocument(QTextDocument*) () at /lib64/libQt5Gui.so.5 #24 0x00007f5411afba29 in QSyntaxHighlighter::~QSyntaxHighlighter() () at /lib64/libQt5Gui.so.5 #25 0x00007f54123f9c49 in Sonnet::Highlighter::~Highlighter() () at /lib64/libKF5SonnetUi.so.5 #26 0x00007f54116b5a88 in QObjectPrivate::deleteChildren() () at /lib64/libQt5Core.so.5 #27 0x00007f54116b6962 in QObject::~QObject() () at /lib64/libQt5Core.so.5 #28 0x00007f5414595053 in KTextDecorator::~KTextDecorator() () at /lib64/libKF5TextWidgets.so.5 #29 0x00007f541458fe7b in KTextEdit::~KTextEdit() () at /lib64/libKF5TextWidgets.so.5 #30 0x00007f53e59f0392 in non-virtual thunk to TextAreaEdit::~TextAreaEdit() () at /usr/lib64/qt5/plugins/okularpart.so #31 0x00007f53e5a30eef in PageViewItem::~PageViewItem() () at /usr/lib64/qt5/plugins/okularpart.so #32 0x00007f53e5a1e26d in PageView::notifySetup(QVector<Okular::Page*> const&, int) () at /usr/lib64/qt5/plugins/okularpart.so #33 0x00007f53e56b3ef2 in Okular::Document::closeDocument() () at /lib64/libOkular5Core.so.7 #34 0x00007f53e59b515b in Okular::Part::closeUrl(bool) () at /usr/lib64/qt5/plugins/okularpart.so #35 0x00007f53eb3c96d8 in ArkViewer::dialogClosed() () at /usr/lib64/qt5/plugins/arkpart.so #36 0x00007f54116af4b7 in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5 #37 0x00007f54120c690e in QDialog::finished(int) () at /lib64/libQt5Widgets.so.5 #38 0x00007f54120c7168 in QDialog::done(int) () at /lib64/libQt5Widgets.so.5 #39 0x00007f54120c6ae6 in QDialog::closeEvent(QCloseEvent*) () at /lib64/libQt5Widgets.so.5 #40 0x00007f5411f21af0 in QWidget::event(QEvent*) () at /lib64/libQt5Widgets.so.5 #41 0x00007f5411edad9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #42 0x00007f5411ee23d4 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #43 0x00007f5411687b8b in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5 #44 0x00007f5411f1d1f1 in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () at /lib64/libQt5Widgets.so.5 #45 0x00007f5411f3c810 in QWidgetWindow::handleCloseEvent(QCloseEvent*) () at /lib64/libQt5Widgets.so.5 #46 0x00007f5411f3f9a6 in QWidgetWindow::event(QEvent*) () at /lib64/libQt5Widgets.so.5 #47 0x00007f5411edad9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #48 0x00007f5411ee23d4 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #49 0x00007f5411687b8b in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5 #50 0x00007f54119be492 in QGuiApplicationPrivate::processCloseEvent(QWindowSystemInterfacePrivate::CloseEvent*) () at /lib64/libQt5Gui.so.5 #51 0x00007f54119c2b95 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /lib64/libQt5Gui.so.5 #52 0x00007f54119a119b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Gui.so.5 #53 0x00007f5400fc7590 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5XcbQpa.so.5 #54 0x00007f540a938277 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #55 0x00007f540a938618 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #56 0x00007f540a9386ac in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #57 0x00007f54116d6cef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5 #58 0x00007f5411686b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5 #59 0x00007f541168e7dc in QCoreApplication::exec() () at /lib64/libQt5Core.so.5 #60 0x000055dc8ae06fde in main () Reported using DrKonqi
Created attachment 106141 [details] An example zip with pdf with forms
Confirmed with Okular 1.0.3, Ark 16.12.3, in Kubuntu 17.0.4. After editing the form, you just close Okular; don't save first. This also reproduces when bypassing Ark entirely and opening the PDF from within Dolphin, when viewing the archive as a folder. Moving to Okular.
Testing with KDE Applications 17.12 Beta via "okular zip:/home/user/form_english.zip/form_english.pdf", Okular still crashes, but at least we get an error beforehand which makes sense: "Error: 'Writing to zip is not supported.'. Try to save it to another location." I can confirm that saving to another location does work correctly. There are still two problems here: - Okular should not crash afterwards. - Why doesn't Okular support saving to zip:/, isn't this just another kioslave like fish:/ (which works fine with annotations)?
Henrik where did you get a zip ioslave from?
Would "protocol" be a more appropriate terminology? Regardless, let's focus on the crash in this bug.
(In reply to Henrik Fehlauer from comment #5) > Would "protocol" be a more appropriate terminology? No. (Since you said to focus on the bug i won't explain here why, if you're interesed in reasons we can have a private discussion over email/irc/whatever)
So are you going to tell me where i can find the zip ioslave so i can try to fix this bug or what?
Just tried it again on a standard Plasma installation with Okular 1.3.2: - okular zip:/home/user/form_english.zip/form_english.pdf - Entered text into the form - Closed Okular (chose to discard) - Aborted (core dumped)
Ok, since Henrik didn't seem to want to answer my question i'll answer myself, the kio ioslave comes with kio-extras
(OT) > since Henrik didn't seem to want to answer my question What? I always try to answer questions in the best way possible. In fact, I specified where my way of accessing the zip file came from: "a standard Plasma installation". If you are looking for the name of the repository the particular code responsible for that functionality lives in, you should put that in your original (or follow-up) question. Don't just assume I built it from source and then blame me for not getting you the answer you looked for.
(In reply to Henrik Fehlauer from comment #10) > (OT) > > > since Henrik didn't seem to want to answer my question > What? I always try to answer questions in the best way possible. In fact, I > specified where my way of accessing the zip file came from: "a standard > Plasma installation". If you are looking for the name of the repository the > particular code responsible for that functionality lives in, you should put > that in your original (or follow-up) question. Don't just assume I built it > from source and then blame me for not getting you the answer you looked for. Don't be pedantic, it's not smart. I clearly said "So are you going to tell me where i can find the zip ioslave so i can try to fix this bug or what?" and instead of answering "I don't know, I'm not a technical guy, you'll have to find for yourself", you simply ignored my question and didn't answer it at all, probably because you're angry I'm using the proper name of the technology for some reason.
I've just tested this with the attached archived PDF in the preview and I am not experiencing the crash with Okular 1.11.3. Can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved" when you respond, thank you.
Yes this should be fixed now. There is also an alert, that you can't save the document and you have to save it under another location.