Bug 214317 - PDF causes okular to crash
Summary: PDF causes okular to crash
Status: RESOLVED UPSTREAM
Alias: None
Product: okular
Classification: Applications
Component: PDF backend (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-12 23:16 UTC by Ivo Anjo
Modified: 2009-11-13 00:58 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 Ivo Anjo 2009-11-12 23:16:03 UTC
Version:            (using KDE 4.3.3)
OS:                Linux
Installed from:    openSUSE RPMs

The attached pdf causes okular to crash.

Backtrace:
Application: Okular (okular), signal: Segmentation fault
[Current thread is 1 (Thread 0xb56f6700 (LWP 22770))]

Thread 2 (Thread 0xb248fb90 (LWP 22771)):
[KCrash Handler]
#6  0x00000000 in ?? ()
#7  0xb250e728 in DCTStream::getChar() () from /usr/lib/libpoppler.so.4
#8  0xb259709d in ImageStream::getLine() () from /usr/lib/libpoppler.so.4
#9  0xb250a060 in SplashOutputDev::imageSrc(void*, unsigned char*, unsigned char*) () from /usr/lib/libpoppler.so.4
#10 0xb25e4ed8 in Splash::drawImage(int (*)(void*, unsigned char*, unsigned char*), void*, SplashColorMode, int, int, int, double*) () from /usr/lib/libpoppler.so.4
#11 0xb2509988 in SplashOutputDev::drawImage(GfxState*, Object*, Stream*, int, int, GfxImageColorMap*, int*, int) () from /usr/lib/libpoppler.so.4
#12 0xb254fe3d in Gfx::doImage(Object*, Stream*, int) () from /usr/lib/libpoppler.so.4
#13 0xb2555cb5 in Gfx::opXObject(Object*, int) () from /usr/lib/libpoppler.so.4
#14 0xb25466ca in Gfx::execOp(Object*, Object*, int) () from /usr/lib/libpoppler.so.4
#15 0xb2546c8f in Gfx::go(int) () from /usr/lib/libpoppler.so.4
#16 0xb254972f in Gfx::display(Object*, int) () from /usr/lib/libpoppler.so.4
#17 0xb259038d in Page::displaySlice(OutputDev*, double, double, int, int, int, int, int, int, int, int, Catalog*, int (*)(void*), void*, int (*)(Annot*, void*), void*) ()
   from /usr/lib/libpoppler.so.4
#18 0xb2593bf0 in PDFDoc::displayPageSlice(OutputDev*, int, double, double, int, int, int, int, int, int, int, int, int (*)(void*), void*, int (*)(Annot*, void*), void*) ()
   from /usr/lib/libpoppler.so.4
#19 0xb26915b5 in Poppler::Page::renderToImage (this=0x816bf78, xres=87.48886434094716, yres=87.446454669152843, x=-1, y=-1, w=-1, h=-1, rotate=Poppler::Page::Rotate0) at poppler-page.cc:205
#20 0xb54ecbb0 in PDFPixmapGeneratorThread::run (this=0x821e3f0) at /usr/src/debug/kdegraphics-4.3.3/okular/generators/poppler/generator_pdf.cpp:1700
#21 0xb6aa0592 in QThreadPrivate::start (arg=0x821e3f0) at thread/qthread_unix.cpp:188
#22 0xb6a3e1b5 in start_thread () from /lib/libpthread.so.0
#23 0xb5ef43ae in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb56f6700 (LWP 22770)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb6a41c35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6a9fc42 in QMutexPrivate::wait (this=0x8263e58, timeout=-1) at thread/qmutex_unix.cpp:80
#3  0xb6a9b215 in QMutex::lock (this=0x8263e48) at thread/qmutex.cpp:207
#4  0xb54e9348 in PDFGenerator::embeddedFiles (this=0x82562d0) at /usr/src/debug/kdegraphics-4.3.3/okular/generators/poppler/generator_pdf.cpp:691
#5  0xb3fa1220 in Okular::Document::embeddedFiles (this=0x81243b0) at /usr/src/debug/kdegraphics-4.3.3/okular/core/document.cpp:2040
#6  0xb405313c in Okular::Part::openFile (this=0x80c1af0) at /usr/src/debug/kdegraphics-4.3.3/okular/part.cpp:937
#7  0xb77a6c7a in KParts::ReadOnlyPart::openUrl (this=0x80c1af0, url=@0xbf856018) at /usr/src/debug/kdelibs-4.3.3/kparts/part.cpp:557
#8  0xb4045e07 in Okular::Part::openUrl (this=0x80c1af0, _url=@0x80b01a4) at /usr/src/debug/kdegraphics-4.3.3/okular/part.cpp:1043
#9  0x0805029e in Shell::openUrl (this=0x80b0158, url=@0x80b01a4) at /usr/src/debug/kdegraphics-4.3.3/okular/shell/shell.cpp:156
#10 0x08050398 in Shell::delayedOpen (this=0x80b0158) at /usr/src/debug/kdegraphics-4.3.3/okular/shell/shell.cpp:139
#11 0x080519eb in Shell::qt_metacall (this=0x80b0158, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbf856128) at /usr/src/debug/kdegraphics-4.3.3/build/okular/shell/shell.moc:88
#12 0xb6ba9ee8 in QMetaObject::activate (sender=0x8237b38, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3113
#13 0xb6baab72 in QMetaObject::activate (sender=0x8237b38, m=0xb6c8a908, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3187
#14 0xb6bafd17 in QSingleShotTimer::timeout (this=0x8237b38) at .moc/release-shared/qtimer.moc:76
#15 0xb6bafe3c in QSingleShotTimer::timerEvent (this=0x8237b38) at kernel/qtimer.cpp:298
#16 0xb6ba4e8f in QObject::event (this=0x8237b38, e=0xbf8565d0) at kernel/qobject.cpp:1075
#17 0xb61cb76c in QApplicationPrivate::notify_helper (this=0x8070860, receiver=0x8237b38, e=0xbf8565d0) at kernel/qapplication.cpp:4065
#18 0xb61d3a5e in QApplication::notify (this=0xbf8568f4, receiver=0x8237b38, e=0xbf8565d0) at kernel/qapplication.cpp:3605
#19 0xb718182d in KApplication::notify (this=0xbf8568f4, receiver=0x8237b38, event=0xbf8565d0) at /usr/src/debug/kdelibs-4.3.3/kdeui/kernel/kapplication.cpp:302
#20 0xb6b948fb in QCoreApplication::notifyInternal (this=0xbf8568f4, receiver=0x8237b38, event=0xbf8565d0) at kernel/qcoreapplication.cpp:610
#21 0xb6bc4066 in QTimerInfoList::activateTimers (this=0x807379c) at kernel/qcoreapplication.h:213
#22 0xb6bc0314 in timerSourceDispatch (source=0x8073768) at kernel/qeventdispatcher_glib.cpp:184
#23 0xb5a7a9c8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0xb5a7e083 in ?? () from /usr/lib/libglib-2.0.so.0
#25 0xb5a7e241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0xb6bc0071 in QEventDispatcherGlib::processEvents (this=0x805ae48, flags={i = -1081776264}) at kernel/qeventdispatcher_glib.cpp:407
#27 0xb626bcc5 in QGuiEventDispatcherGlib::processEvents (this=0x805ae48, flags={i = -1081776216}) at kernel/qguieventdispatcher_glib.cpp:202
#28 0xb6b92f1a in QEventLoop::processEvents (this=0xbf856820, flags={i = -1081776152}) at kernel/qeventloop.cpp:149
#29 0xb6b93362 in QEventLoop::exec (this=0xbf856820, flags={i = -1081776088}) at kernel/qeventloop.cpp:201
#30 0xb6b95809 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#31 0xb61cb5e7 in QApplication::exec () at kernel/qapplication.cpp:3525
#32 0x0804e91f in main (argc=) at /usr/src/debug/kdegraphics-4.3.3/okular/shell/main.cpp:81

I am using okular 0.9.3, with poppler 0.10.1.
At first I thought my bug was the same as bug #208389, and I upgraded my freetype to 2.3.9, which did not solve the issue (and the pdf in that bug does not crash for me).
Comment 1 Ivo Anjo 2009-11-12 23:22:36 UTC
The document I took this from was kind of quirky, even on acrobat reader, but if it is invalid, okular should reject it, instead of crashing.

It seems the pdf is too big to be attached, so here is a link for it:
http://knuckles.googlepages.com/crash.pdf
Comment 2 Albert Astals Cid 2009-11-13 00:58:59 UTC
This is actually a bug in the poppler library.

I would tell you to report the bug there but it happens that i'm also a poppler developer and i just fixed the problem so no need to report a bug there.

Will be fixed with poppler >= 0.12.2