Bug 302372 - Okular crash on specific pdf
Summary: Okular crash on specific pdf
Status: RESOLVED FIXED
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-22 21:35 UTC by Evgeny Brazgin
Modified: 2012-06-24 21:45 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
document causing crash (344.58 KB, application/pdf)
2012-06-24 18:30 UTC, Evgeny Brazgin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Evgeny Brazgin 2012-06-22 21:35:23 UTC
Application: okular (0.14.90)
KDE Platform Version: 4.8.90 (4.8.90)
Qt Version: 4.8.2
Operating System: Linux 3.5.0-1-generic x86_64
Distribution: Ubuntu quantal (development branch)

-- Information about the crash:
Okular opens pdf normally, but crashes when I scroll to another page.
Document causing crash is here: http://iopscience.iop.org/0031-9120/4/3/312/

The crash can be reproduced every time.

-- Backtrace:
Application: Okular (okular), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4eff9f5780 (LWP 9861))]

Thread 2 (Thread 0x7f4ef1ecc700 (LWP 9874)):
[KCrash Handler]
#6  0x00007f4f06e3446b in QDBusAdaptorConnector::relaySlot (this=this@entry=0x95fb50, argv=argv@entry=0x7f4ef1ecacc0) at qdbusabstractadaptor.cpp:270
#7  0x00007f4f06e347f5 in QDBusAdaptorConnector::qt_metacall (this=0x95fb50, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7f4ef1ecacc0) at qdbusabstractadaptor.cpp:366
#8  0x00007f4f071f9533 in QMetaObject::activate (sender=sender@entry=0x96fe00, m=m@entry=0x7f4f07534b40, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7f4ef1ecacc0) at kernel/qobject.cpp:3566
#9  0x00007f4f071f9daf in QObject::destroyed (this=this@entry=0x96fe00, _t1=_t1@entry=0x96fe00) at .moc/release-shared/moc_qobject.cpp:149
#10 0x00007f4f071f9ea3 in QObject::~QObject (this=0x96fe00, __in_chrg=<optimized out>) at kernel/qobject.cpp:844
#11 0x00007f4f08e98663 in ~KBookmarkManagerAdaptor (this=0x96fe00, __in_chrg=<optimized out>) at ../../kio/bookmarks/kbookmarkmanageradaptor_p.h:27
#12 KBookmarkManagerAdaptor::~KBookmarkManagerAdaptor (this=0x96fe00, __in_chrg=<optimized out>) at ../../kio/bookmarks/kbookmarkmanageradaptor_p.h:27
#13 0x00007f4f071f6592 in QObjectPrivate::deleteChildren (this=this@entry=0x981b20) at kernel/qobject.cpp:1908
#14 0x00007f4f071fa3d6 in QObject::~QObject (this=0x8ef900, __in_chrg=<optimized out>) at kernel/qobject.cpp:927
#15 0x00007f4f08e96523 in KBookmarkManager::~KBookmarkManager (this=0x8ef900, __in_chrg=<optimized out>) at ../../kio/bookmarks/kbookmarkmanager.cc:308
#16 0x00007f4f08e966e9 in KBookmarkManager::~KBookmarkManager (this=0x8ef900, __in_chrg=<optimized out>) at ../../kio/bookmarks/kbookmarkmanager.cc:315
#17 0x00007f4f08e963fe in qDeleteAll<QList<KBookmarkManager*>::iterator> (end=..., begin=...) at /usr/include/qt4/QtCore/qalgorithms.h:322
#18 ~KBookmarkManagerList (this=0x8fcfa0, __in_chrg=<optimized out>) at ../../kio/bookmarks/kbookmarkmanager.cc:53
#19 destroy () at ../../kio/bookmarks/kbookmarkmanager.cc:59
#20 0x00007f4f0676c921 in __run_exit_handlers (status=1, listp=0x7f4f06ae7688, run_list_atexit=true) at exit.c:78
#21 0x00007f4f0676c9a5 in __GI_exit (status=<optimized out>) at exit.c:100
#22 0x00007f4ef318cb9c in gmallocn () from /usr/lib/x86_64-linux-gnu/libpoppler.so.26
#23 0x00007f4ef31b3a93 in SplashBitmap::SplashBitmap(int, int, int, SplashColorMode, bool, bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.26
#24 0x00007f4ef31a9dde in Splash::scaleImage(bool (*)(void*, unsigned char*, unsigned char*), void*, SplashColorMode, int, bool, int, int, int, int) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.26
#25 0x00007f4ef31aace5 in Splash::arbitraryTransformImage(bool (*)(void*, unsigned char*, unsigned char*), void*, SplashColorMode, int, bool, int, int, double*) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.26
#26 0x00007f4ef31ad8cb in Splash::drawImage(bool (*)(void*, unsigned char*, unsigned char*), void*, SplashColorMode, bool, int, int, double*) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.26
#27 0x00007f4ef30cb550 in SplashOutputDev::drawImage(GfxState*, Object*, Stream*, int, int, GfxImageColorMap*, bool, int*, bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.26
#28 0x00007f4ef3114dc8 in Gfx::doImage(Object*, Stream*, bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.26
#29 0x00007f4ef3115b41 in Gfx::opXObject(Object*, int) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.26
#30 0x00007f4ef3111834 in Gfx::go(bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.26
#31 0x00007f4ef3111ca0 in Gfx::display(Object*, bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.26
#32 0x00007f4ef3151f64 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.26
#33 0x00007f4ef349c864 in Poppler::Page::renderToImage(double, double, int, int, int, int, Poppler::Page::Rotation) const () from /usr/lib/x86_64-linux-gnu/libpoppler-qt4.so.4
#34 0x00007f4ef371639b in ?? () from /usr/lib/kde4/okularGenerator_poppler.so
#35 0x00007f4ef749d4b1 in ?? () from /usr/lib/libokularcore.so.1abi1
#36 0x00007f4f070e89eb in QThreadPrivate::start (arg=0xedb9d0) at thread/qthread_unix.cpp:307
#37 0x00007f4f03b1ae9a in start_thread (arg=0x7f4ef1ecc700) at pthread_create.c:308
#38 0x00007f4f068234bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#39 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4eff9f5780 (LWP 9861)):
[KCrash Handler]
#6  QThreadStorageData::get (this=0x0) at thread/qthreadstorage.cpp:125
#7  0x00007f4f07de290e in qThreadStorage_localData<QFontCache> (d=...) at ../../include/QtCore/../../src/corelib/thread/qthreadstorage.h:76
#8  localData (this=0x0) at ../../include/QtCore/../../src/corelib/thread/qthreadstorage.h:150
#9  QFontCache::instance () at text/qfont.cpp:2788
#10 0x00007f4f07de2ab7 in QFontPrivate::engineForScript (this=0x8b3820, script=0) at text/qfont.cpp:299
#11 0x00007f4f07e18336 in QTextEngine::fontEngine (this=this@entry=0x7fff32eb5680, si=..., ascent=ascent@entry=0x79a4bc, descent=descent@entry=0x79a4b8, leading=leading@entry=0x79a4c0) at text/qtextengine.cpp:1929
#12 0x00007f4f07e195d8 in QTextEngine::shapeTextWithHarfbuzz (this=this@entry=0x7fff32eb5680, item=item@entry=0) at text/qtextengine.cpp:1195
#13 0x00007f4f07e1a532 in QTextEngine::shapeText (this=this@entry=0x7fff32eb5680, item=item@entry=0) at text/qtextengine.cpp:935
#14 0x00007f4f07e1a863 in QTextEngine::shape (this=this@entry=0x7fff32eb5680, item=0) at text/qtextengine.cpp:1450
#15 0x00007f4f07e20894 in QTextEngine::shapeLine (this=0x7fff32eb5680, line=...) at text/qtextengine.cpp:875
#16 0x00007f4f07d1cb71 in QPainter::drawText (this=0x7fff32eb8db0, p=..., str=..., tf=<optimized out>, justificationPadding=0) at painting/qpainter.cpp:6138
#17 0x00007f4ef779b8e0 in ?? () from /usr/lib/kde4/okularpart.so
#18 0x00007f4f07c13642 in QWidget::event (this=0xce6460, event=0x7fff32eb96c0) at kernel/qwidget.cpp:8517
#19 0x00007f4f07bc3d9c in QApplicationPrivate::notify_helper (this=this@entry=0x75b1e0, receiver=receiver@entry=0xce6460, e=e@entry=0x7fff32eb96c0) at kernel/qapplication.cpp:4556
#20 0x00007f4f07bc820a in QApplication::notify (this=0x7fff32ebb960, receiver=0xce6460, e=0x7fff32eb96c0) at kernel/qapplication.cpp:4417
#21 0x00007f4f088ccf76 in KApplication::notify (this=0x7fff32ebb960, receiver=0xce6460, event=0x7fff32eb96c0) at ../../kdeui/kernel/kapplication.cpp:311
#22 0x00007f4f071e397e in QCoreApplication::notifyInternal (this=0x7fff32ebb960, receiver=0xce6460, event=0x7fff32eb96c0) at kernel/qcoreapplication.cpp:915
#23 0x00007f4f07c0f364 in sendSpontaneousEvent (event=0x7fff32eb96c0, receiver=0xce6460) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#24 QWidgetPrivate::drawWidget (this=this@entry=0x9b43c0, pdev=pdev@entry=0xdac180, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0xd67720) at kernel/qwidget.cpp:5594
#25 0x00007f4f07c0fe5f in QWidgetPrivate::paintSiblingsRecursive (this=0xce10d0, pdev=0xdac180, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xd67720) at kernel/qwidget.cpp:5803
#26 0x00007f4f07c0eef5 in QWidgetPrivate::drawWidget (this=this@entry=0xce10d0, pdev=pdev@entry=0xdac180, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0xd67720) at kernel/qwidget.cpp:5647
#27 0x00007f4f07c0fe5f in QWidgetPrivate::paintSiblingsRecursive (this=0x9bff50, pdev=0xdac180, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xd67720) at kernel/qwidget.cpp:5803
#28 0x00007f4f07c0eef5 in QWidgetPrivate::drawWidget (this=this@entry=0x9bff50, pdev=pdev@entry=0xdac180, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0xd67720) at kernel/qwidget.cpp:5647
#29 0x00007f4f07c0fe5f in QWidgetPrivate::paintSiblingsRecursive (this=0x98a030, pdev=0xdac180, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xd67720) at kernel/qwidget.cpp:5803
#30 0x00007f4f07c0eef5 in QWidgetPrivate::drawWidget (this=this@entry=0x98a030, pdev=pdev@entry=0xdac180, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0xd67720) at kernel/qwidget.cpp:5647
#31 0x00007f4f07c0fe5f in QWidgetPrivate::paintSiblingsRecursive (this=0x996350, pdev=0xdac180, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xd67720) at kernel/qwidget.cpp:5803
#32 0x00007f4f07c0eef5 in QWidgetPrivate::drawWidget (this=this@entry=0x996350, pdev=pdev@entry=0xdac180, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0xd67720) at kernel/qwidget.cpp:5647
#33 0x00007f4f07c0fe5f in QWidgetPrivate::paintSiblingsRecursive (this=0x8b54c0, pdev=0xdac180, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xd67720) at kernel/qwidget.cpp:5803
#34 0x00007f4f07c0eef5 in QWidgetPrivate::drawWidget (this=0x8b54c0, pdev=0xdac180, rgn=..., offset=..., flags=<optimized out>, sharedPainter=0x0, backingStore=0xd67720) at kernel/qwidget.cpp:5647
#35 0x00007f4f07ddd238 in QWidgetBackingStore::sync (this=0xd67720) at painting/qbackingstore.cpp:1373
#36 0x00007f4f07c04630 in QWidgetPrivate::syncBackingStore (this=this@entry=0x8b54c0) at kernel/qwidget.cpp:1892
#37 0x00007f4f07c13c8c in QWidget::event (this=0x88b850, event=0x1058650) at kernel/qwidget.cpp:8664
#38 0x00007f4f07fdbc5b in QMainWindow::event (this=0x88b850, event=0x1058650) at widgets/qmainwindow.cpp:1478
#39 0x00007f4f089bde08 in KXmlGuiWindow::event (this=0x88b850, ev=0x1058650) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:126
#40 0x00007f4f07bc3d9c in QApplicationPrivate::notify_helper (this=this@entry=0x75b1e0, receiver=receiver@entry=0x88b850, e=e@entry=0x1058650) at kernel/qapplication.cpp:4556
#41 0x00007f4f07bc820a in QApplication::notify (this=0x7fff32ebb960, receiver=0x88b850, e=0x1058650) at kernel/qapplication.cpp:4417
#42 0x00007f4f088ccf76 in KApplication::notify (this=0x7fff32ebb960, receiver=0x88b850, event=0x1058650) at ../../kdeui/kernel/kapplication.cpp:311
#43 0x00007f4f071e397e in QCoreApplication::notifyInternal (this=0x7fff32ebb960, receiver=receiver@entry=0x88b850, event=event@entry=0x1058650) at kernel/qcoreapplication.cpp:915
#44 0x00007f4f071e7801 in sendEvent (event=0x1058650, receiver=0x88b850) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#45 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x72f670) at kernel/qcoreapplication.cpp:1539
#46 0x00007f4f07211f03 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#47 postEventSourceDispatch (s=0x75c380) at kernel/qeventdispatcher_glib.cpp:279
#48 0x00007f4f0364d7d5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007f4f0364db08 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#50 0x00007f4f0364dbc4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#51 0x00007f4f07212096 in QEventDispatcherGlib::processEvents (this=0x730b30, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#52 0x00007f4f07c68a5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#53 0x00007f4f071e26cf in QEventLoop::processEvents (this=this@entry=0x7fff32ebb710, flags=...) at kernel/qeventloop.cpp:149
#54 0x00007f4f071e2958 in QEventLoop::exec (this=0x7fff32ebb710, flags=...) at kernel/qeventloop.cpp:204
#55 0x00007f4f071e7b18 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#56 0x00000000004079ce in ?? ()
#57 0x00007f4f0675276d in __libc_start_main (main=0x407640, argc=2, ubp_av=0x7fff32ebba98, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff32ebba88) at libc-start.c:226
#58 0x00000000004081fd in _start ()

Possible duplicates by query: bug 270164, bug 256644, bug 248852, bug 248567, bug 243990.

Reported using DrKonqi
Comment 1 Albert Astals Cid 2012-06-24 17:46:40 UTC
Document is inaccessible, meaning can't code a fix for it.

Please attach a document that has this problem or give us a way to obtain it.
Comment 2 Evgeny Brazgin 2012-06-24 18:30:28 UTC
Created attachment 72101 [details]
document causing crash

I just found out, that if a width of okular window is less, than 1600px, it doesn't crash.

But when I widen the window to 1600px or more and try to open page other than first, it crashes.
Comment 3 Albert Astals Cid 2012-06-24 21:45:19 UTC
This is a problem in poppler, the underlying library we use to render pdf files in Okular. I've commited a fix to the poppler code and it will be available with poppler >= 0.20.2

Thanks for caring about Okular :-)