Bug 195093 - Okular crashes scrolling fast
Summary: Okular crashes scrolling fast
Status: RESOLVED DOWNSTREAM
Alias: None
Product: okular
Classification: Applications
Component: PDF backend (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-03 13:48 UTC by Julien Humbert
Modified: 2009-06-29 16:34 UTC (History)
2 users (show)

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 Julien Humbert 2009-06-03 13:48:37 UTC
Application that crashed: okular
Version of the application: 0.8.80
KDE Version: 4.2.85 (KDE 4.2.85 (KDE 4.3 Beta1))
Qt Version: 4.5.1
Operating System: Linux 2.6.29.4-167.fc11.x86_64 x86_64
Distribution: "Fedora release 11 (Leonidas)"

What I was doing when the application crashed:
Okular regulary crashes when I'm scrolling fast to the bottom of the PDF document, it is more reproducible when using a large file with many pages. And it seems to happen only when the next pages aren't loaded in memory.

A sample of PDF that can be used (GFDL) : http://www.framasoft.net/IMG/pdf/python_notes-2.pdf

 -- Backtrace:
Application: Okular (okular), signal: Aborted
[Current thread is 1 (Thread 0x7f55cda8e820 (LWP 10466))]

Thread 2 (Thread 0x7f55c498d910 (LWP 10484)):
[KCrash Handler]
#5  0x00000038642332f5 in raise () from /lib64/libc.so.6
#6  0x0000003864234b20 in abort () from /lib64/libc.so.6
#7  0x0000003864275a50 in malloc_printerr () from /lib64/libc.so.6
#8  0x0000003869a10f3f in ft_glyphslot_free_bitmap () from /usr/lib64/freetype-freeworld/libfreetype.so.6
#9  0x0000003869a13a51 in FT_Load_Glyph () from /usr/lib64/freetype-freeworld/libfreetype.so.6
#10 0x0000003877155a00 in SplashFTFont::makeGlyph(int, int, int, SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*) () from /usr/lib64/libpoppler.so.4
#11 0x00000038771570ad in SplashFont::getGlyph(int, int, int, SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*) () from /usr/lib64/libpoppler.so.4
#12 0x000000387714b5cf in Splash::fillChar(double, double, int, SplashFont*) () from /usr/lib64/libpoppler.so.4
#13 0x0000003877087195 in SplashOutputDev::drawChar(GfxState*, double, double, double, double, double, double, unsigned int, int, unsigned int*, int) () from /usr/lib64/libpoppler.so.4
#14 0x00000038770c1f20 in Gfx::doShowText(GooString*) () from /usr/lib64/libpoppler.so.4
#15 0x00000038770c2212 in Gfx::opShowText(Object*, int) () from /usr/lib64/libpoppler.so.4
#16 0x00000038770b903d in Gfx::go(int) () from /usr/lib64/libpoppler.so.4
#17 0x00000038770bcc04 in Gfx::display(Object*, int) () from /usr/lib64/libpoppler.so.4
#18 0x00000038770ffdc0 in Page::displaySlice(OutputDev*, double, double, int, int, int, int, int, int, int, int, Catalog*, int (*)(void*), void*, int (*)(Annot*, void*), void*) ()
   from /usr/lib64/libpoppler.so.4
#19 0x00007f55c49b4cf1 in Poppler::Page::renderToImage(double, double, int, int, int, int, Poppler::Page::Rotation) const () from /usr/lib64/libpoppler-qt4.so.3
#20 0x00007f55c4c40e91 in PDFPixmapGeneratorThread::run (this=0x14985e0) at /root/rpmbuild/BUILD/kdegraphics-4.2.85/okular/generators/poppler/generator_pdf.cpp:1675
#21 0x000000394a059d21 in ?? () from /usr/lib64/libQtCore.so.4
#22 0x0000003864e0686a in start_thread () from /lib64/libpthread.so.0
#23 0x00000038642de25d in clone () from /lib64/libc.so.6
#24 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f55cda8e820 (LWP 10466)):
#0  0x00000038642d4f73 in poll () from /lib64/libc.so.6
#1  0x0000003865e087da in ?? () from /usr/lib64/libxcb.so.1
#2  0x0000003865e08d27 in ?? () from /usr/lib64/libxcb.so.1
#3  0x0000003865e08fd5 in xcb_writev () from /usr/lib64/libxcb.so.1
#4  0x0000003865a4ce9c in _XSend () from /usr/lib64/libX11.so.6
#5  0x0000003865a4d3f5 in _XFlush () from /usr/lib64/libX11.so.6
#6  0x0000003869e06298 in XRenderCompositeTrapezoids () from /usr/lib64/libXrender.so.1
#7  0x000000394bb6e886 in ?? () from /usr/lib64/libQtGui.so.4
#8  0x000000394bb6f112 in ?? () from /usr/lib64/libQtGui.so.4
#9  0x000000394bb6f54d in ?? () from /usr/lib64/libQtGui.so.4
#10 0x000000394bb6959d in ?? () from /usr/lib64/libQtGui.so.4
#11 0x000000394baa861b in QPainter::drawPoints(QPointF const*, int) () from /usr/lib64/libQtGui.so.4
#12 0x00007f55c8530ac9 in QPainter::drawPoint (p=<value optimized out>, this=<value optimized out>) at /usr/include/QtGui/qpainter.h:630
#13 drawAaPoint (p=<value optimized out>, this=<value optimized out>) at /home/julroy67/Apps/QtCurve-KDE4-0.62.9/style/qtcurve.cpp:647
#14 drawDots (p=<value optimized out>, this=<value optimized out>) at /home/julroy67/Apps/QtCurve-KDE4-0.62.9/style/qtcurve.cpp:678
#15 0x00007f55c853aa9f in QtCurveStyle::drawSbSliderHandle (this=0x10d2a00, p=<value optimized out>, rOrig=<value optimized out>, option=<value optimized out>, slider=false)
    at /home/julroy67/Apps/QtCurve-KDE4-0.62.9/style/qtcurve.cpp:8744
#16 0x00007f55c855ad2a in QtCurveStyle::drawControl (this=0x10d2a00, element=QStyle::CE_ScrollBarSlider, option=0x7fffd5ad48e0, painter=0x7fffd5ad50e0, widget=0x1369b90)
    at /home/julroy67/Apps/QtCurve-KDE4-0.62.9/style/qtcurve.cpp:5484
#17 0x00007f55c8546e49 in QtCurveStyle::drawComplexControl (this=0x10d2a00, control=<value optimized out>, option=0x7fffd5ad5060, painter=0x7fffd5ad50e0, widget=0x1369b90)
    at /home/julroy67/Apps/QtCurve-KDE4-0.62.9/style/qtcurve.cpp:6721
#18 0x000000394bdb875f in QScrollBar::paintEvent(QPaintEvent*) () from /usr/lib64/libQtGui.so.4
#19 0x000000394b9dd2e0 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#20 0x000000394b98ea8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#21 0x000000394b995e3e in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#22 0x000000394c6102a6 in KApplication::notify (this=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>)
    at /root/rpmbuild/BUILD/kdelibs-4.2.85/kdeui/kernel/kapplication.cpp:307
#23 0x000000394a13f61c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#24 0x000000394b9e4ae3 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
#25 0x000000394bb81b9e in ?? () from /usr/lib64/libQtGui.so.4
#26 0x000000394b9d6520 in QWidgetPrivate::syncBackingStore() () from /usr/lib64/libQtGui.so.4
#27 0x000000394b9dd0f8 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#28 0x000000394bd7e02b in QMainWindow::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#29 0x000000394c71b6f8 in KXmlGuiWindow::event (this=<value optimized out>, ev=<value optimized out>) at /root/rpmbuild/BUILD/kdelibs-4.2.85/kdeui/xmlgui/kxmlguiwindow.cpp:131
#30 0x000000394b98ea8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#31 0x000000394b995e3e in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#32 0x000000394c6102a6 in KApplication::notify (this=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>)
    at /root/rpmbuild/BUILD/kdelibs-4.2.85/kdeui/kernel/kapplication.cpp:307
#33 0x000000394a13f61c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#34 0x000000394a14011a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQtCore.so.4
#35 0x000000394a168433 in ?? () from /usr/lib64/libQtCore.so.4
#36 0x0000003866e3818e in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#37 0x0000003866e3b8e8 in ?? () from /lib64/libglib-2.0.so.0
#38 0x0000003866e3ba5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#39 0x000000394a1680a6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#40 0x000000394ba2162e in ?? () from /usr/lib64/libQtGui.so.4
#41 0x000000394a13df52 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#42 0x000000394a13e324 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#43 0x000000394a1403c9 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#44 0x0000000000407c04 in main ()
Comment 1 Pino Toscano 2009-06-03 14:03:46 UTC
Which version of the poppler-qt4 and freetype libraries do you have?
Comment 2 Julien Humbert 2009-06-03 14:09:40 UTC
Here are the versions of poppler and freetype (last updates for Fedora 11) :

poppler-qt4.x86_64    0.10.5-1.fc11
freetype.x86_64       2.3.9-3.fc11
Comment 3 Albert Astals Cid 2009-06-03 20:43:58 UTC
Can you try running it in valgrind and see if it crashes and give us the backtrace?
Comment 4 Julien Humbert 2009-06-03 21:17:49 UTC
I can't get it to crash when launching the programm in Valgrind, it is too slow to behave like in a normal run.
Comment 5 Marvin 2009-06-04 14:07:05 UTC
same problem here using kde 4.2.88 (kdemod-unstable on archlinux).
Comment 6 Julien Humbert 2009-06-18 03:34:21 UTC
Still hapening on Okular with KDE (Version 4.2.90 (KDE 4.2.90 (KDE 4.3 Beta2))) from Fedora 11.
Comment 7 Rex Dieter 2009-06-19 13:54:25 UTC
crash confirmed (with or without beta's default MALLOC_CHECK_=2)
Comment 8 Rex Dieter 2009-06-19 13:57:12 UTC
Sorry, misspoke in comment #7 , retested, only reproducible with MALLOC_CHECK_=2
Comment 9 Julien Humbert 2009-06-29 16:18:58 UTC
It seems that latest update of poppler fixes the crash, currently I were not able to reproduce it with it.

Using : poppler-qt4.x86_64    0.10.7-2.fc11 from testing repo on Fedora 11.

The bug might can be closed.
Comment 10 Rex Dieter 2009-06-29 16:34:27 UTC
Thanks for the followup (closing as a downstream issue)