Bug 317183 - okular/poppler crashes when printing a deleted PDF file
Summary: okular/poppler crashes when printing a deleted PDF file
Status: RESOLVED UPSTREAM
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 0.16.1
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-03-22 11:29 UTC by David Faure
Modified: 2013-03-26 12:42 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Faure 2013-03-22 11:29:58 UTC
Application: okular (0.16.1)
KDE Platform Version: 4.10.1 (Compiled from sources)
Qt Version: 4.8.5
Operating System: Linux 3.7.10-1.1-desktop x86_64
Distribution: "openSUSE 12.3 (x86_64)"

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

I opened a PDF that was attached to a mail, in kmail. I.e. okular was showing a temporary file.

Then I switched to another email in kmail -- which deleted the temporary file.

Then I tried to print the PDF -> okular crashed.

(I think it can also crash when just scrolling around the document, I had that before.)

If the PDF is loaded on demand, I guess there's no way to actually make this work. But maybe it could detect this case, and show an error message rather than crash.

-- Backtrace:
Application: Okular (okular), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
#6  _IO_new_fclose (fp=0x0) at iofclose.c:54
#7  0x00007fd341a63e40 in UniqueFileStream::~UniqueFileStream (this=0x2650d50, __in_chrg=<optimized out>) at /d/kde/src/4/poppler/poppler/Stream.cc:764
#8  0x00007fd341a63e59 in UniqueFileStream::~UniqueFileStream (this=0x2650d50, __in_chrg=<optimized out>) at /d/kde/src/4/poppler/poppler/Stream.cc:765
#9  0x00007fd341a6be9e in XRef::~XRef (this=0x25647a0, __in_chrg=<optimized out>) at /d/kde/src/4/poppler/poppler/XRef.cc:403
#10 0x00007fd341dc2cb3 in cleanup (pointer=0x25647a0) at /d/qt/4/qt-for-trunk/include/QtCore/../../src/corelib/tools/qscopedpointer.h:62
#11 ~QScopedPointer (this=<synthetic pointer>, __in_chrg=<optimized out>) at /d/qt/4/qt-for-trunk/include/QtCore/../../src/corelib/tools/qscopedpointer.h:100
#12 Poppler::Document::info (this=<optimized out>, type=...) at /d/kde/src/4/poppler/qt4/src/poppler-document.cc:291
#13 0x00007fd342000c7c in PDFGenerator::metaData (this=0x1593530, key=..., option=...) at /d/kde/src/4/kde/kdegraphics/okular/generators/poppler/generator_pdf.cpp:1233
#14 0x00007fd349349cc6 in Okular::Document::metaData (this=<optimized out>, key=..., option=...) at /d/kde/src/4/kde/kdegraphics/okular/core/document.cpp:2464
#15 0x00007fd34960b998 in Okular::Part::setupPrint (this=this@entry=0x12fd320, printer=...) at /d/kde/src/4/kde/kdegraphics/okular/part.cpp:2512
#16 0x00007fd349616de2 in Okular::Part::slotPrint (this=0x12fd320) at /d/kde/src/4/kde/kdegraphics/okular/part.cpp:2456
#17 0x00007fd349617a2a in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at /d/kde/build/4/kde/kdegraphics/okular/part.moc:231
#18 Okular::Part::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /d/kde/build/4/kde/kdegraphics/okular/part.moc:160
#19 0x00007fd3584736df in QMetaObject::activate (sender=0x1698b50, m=0x7fd35a382760 <QAction::staticMetaObject>, local_signal_index=1, argv=0x7fffc6a0e4e0) at kernel/qobject.cpp:3548
#20 0x00007fd359591b64 in QAction::triggered (this=0x1698b50, _t1=false) at .moc/debug-shared/moc_qaction.cpp:276
#21 0x00007fd359590e16 in QAction::activate (this=0x1698b50, event=QAction::Trigger) at kernel/qaction.cpp:1257
#22 0x00007fd359590b78 in QAction::event (this=0x1698b50, e=0x7fffc6a0ed50) at kernel/qaction.cpp:1183
#23 0x00007fd35a55d4fe in KAction::event (this=0x1698b50, event=0x7fffc6a0ed50) at /d/kde/src/4/kde/kdelibs/kdeui/actions/kaction.cpp:131
#24 0x00007fd3595a17d2 in QApplicationPrivate::notify_helper (this=0xff2070, receiver=0x1698b50, e=0x7fffc6a0ed50) at kernel/qapplication.cpp:4562
#25 0x00007fd35959ecce in QApplication::notify (this=0x7fffc6a10610, receiver=0x1698b50, e=0x7fffc6a0ed50) at kernel/qapplication.cpp:3944
#26 0x00007fd35a66c46a in KApplication::notify (this=0x7fffc6a10610, receiver=0x1698b50, event=0x7fffc6a0ed50) at /d/kde/src/4/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
#27 0x00007fd358454714 in QCoreApplication::notifyInternal (this=0x7fffc6a10610, receiver=0x1698b50, event=0x7fffc6a0ed50) at kernel/qcoreapplication.cpp:949
#28 0x00007fd3595922b3 in QCoreApplication::sendEvent (receiver=0x1698b50, event=0x7fffc6a0ed50) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#29 0x00007fd3595e2cc2 in QShortcutMap::dispatchEvent (this=0xff2190, e=0x7fffc6a0f6c0) at kernel/qshortcutmap.cpp:908
#30 0x00007fd3595e0e2f in QShortcutMap::tryShortcutEvent (this=0xff2190, o=0x161e020, e=0x7fffc6a0f6c0) at kernel/qshortcutmap.cpp:364
#31 0x00007fd35959ef6c in QApplication::notify (this=0x7fffc6a10610, receiver=0x161e020, e=0x7fffc6a0f6c0) at kernel/qapplication.cpp:3986
#32 0x00007fd35a66c46a in KApplication::notify (this=0x7fffc6a10610, receiver=0x161e020, event=0x7fffc6a0f6c0) at /d/kde/src/4/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
#33 0x00007fd358454714 in QCoreApplication::notifyInternal (this=0x7fffc6a10610, receiver=0x161e020, event=0x7fffc6a0f6c0) at kernel/qcoreapplication.cpp:949
#34 0x00007fd3595a4bef in QCoreApplication::sendSpontaneousEvent (receiver=0x161e020, event=0x7fffc6a0f6c0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#35 0x00007fd3595a1b25 in qt_sendSpontaneousEvent (receiver=0x161e020, event=0x7fffc6a0f6c0) at kernel/qapplication.cpp:5560
#36 0x00007fd35967c4c2 in QKeyMapper::sendKeyEvent (keyWidget=0x161e020, grab=false, type=QEvent::KeyPress, code=80, modifiers=..., text=..., autorepeat=false, count=1, nativeScanCode=33, nativeVirtualKey=112, nativeModifiers=20) at kernel/qkeymapper_x11.cpp:1869
#37 0x00007fd35967c1b3 in QKeyMapperPrivate::translateKeyEvent (this=0x10529e0, keyWidget=0x161e020, event=0x7fffc6a0ff80, grab=false) at kernel/qkeymapper_x11.cpp:1839
#38 0x00007fd359642f6c in QApplication::x11ProcessEvent (this=0x7fffc6a10610, event=0x7fffc6a0ff80) at kernel/qapplication_x11.cpp:3533
#39 0x00007fd35967e6e4 in x11EventSourceDispatch (s=0xfec160, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#40 0x00007fd35350a7d5 in g_main_dispatch (context=0xff3500) at gmain.c:2715
#41 g_main_context_dispatch (context=context@entry=0xff3500) at gmain.c:3219
#42 0x00007fd35350ab08 in g_main_context_iterate (context=context@entry=0xff3500, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3290
#43 0x00007fd35350abc4 in g_main_context_iteration (context=0xff3500, may_block=1) at gmain.c:3351
#44 0x00007fd358491e87 in QEventDispatcherGlib::processEvents (this=0xfc9a50, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#45 0x00007fd35967ea92 in QGuiEventDispatcherGlib::processEvents (this=0xfc9a50, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#46 0x00007fd358451a6c in QEventLoop::processEvents (this=0x7fffc6a102f0, flags=...) at kernel/qeventloop.cpp:149
#47 0x00007fd358451c00 in QEventLoop::exec (this=0x7fffc6a102f0, flags=...) at kernel/qeventloop.cpp:204
#48 0x00007fd358454daa in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#49 0x00007fd35959e8b8 in QApplication::exec () at kernel/qapplication.cpp:3823
#50 0x0000000000408a3e in main (argc=<optimized out>, argv=<optimized out>) at /d/kde/src/4/kde/kdegraphics/okular/shell/main.cpp:94

Reported using DrKonqi
Comment 1 Albert Astals Cid 2013-03-23 17:28:45 UTC
Yeah, has to do with the recent multithreaded work on poppler, need to think how to solve it there.
Comment 2 Albert Astals Cid 2013-03-25 22:19:28 UTC
Upstream issue https://bugs.freedesktop.org/show_bug.cgi?id=62735

FWIW this only happens on the unreleased master branch of poppler
Comment 3 David Faure 2013-03-26 12:36:17 UTC
Indeed. kdesrc-build built the master branch of poppler for me.

Some PDFs render completely blank with that branch, BTW.
I reverted to the poppler-0.22 branch for now, thanks.
Comment 4 Albert Astals Cid 2013-03-26 12:42:43 UTC
Blank files shouldn't be happening, do you have a link to any?