Bug 202213

Summary: Okular suddenly crashed while viewing a PDF
Product: [Applications] okular Reporter: c0der
Component: generalAssignee: Okular developers <okular-devel>
Status: RESOLVED FIXED    
Severity: crash CC: bmorrinho, bugs, till2.schaefer
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: New crash information added by DrKonqi

Description c0der 2009-08-01 17:05:10 UTC
Application that crashed: okular
Version of the application: 0.9
KDE Version: 4.2.98 (KDE 4.2.98 (KDE 4.3 RC3))
Qt Version: 4.5.0
Operating System: Linux 2.6.28-14-generic x86_64
Distribution: Ubuntu 9.04

What I was doing when the application crashed:
I viewed the PDF http://www.khronos.org/registry/cl/specs/opencl-1.0.43.pdf and suddenly Okular crashed. This happened only once and is not reproducable.

 -- Backtrace:
Application: Okular (okular), signal: Segmentation fault
[KCrash Handler]
#5  0x00007fb3aaeb4e0b in ThumbnailList::keyPressEvent (this=0x15630f0, keyEvent=0x7fffbd7f4ae0) at /build/buildd/kdegraphics-4.2.98/okular/ui/thumbnaillist.cpp:99
#6  0x00007fb3b2bbf7ba in QWidget::event (this=0x15630f0, event=0x7fffbd7f4ae0) at kernel/qwidget.cpp:7551
#7  0x00007fb3b2f5940b in QFrame::event (this=0x15630f0, e=0x7fffbd7f4ae0) at widgets/qframe.cpp:559
#8  0x00007fb3b2fea949 in QAbstractScrollArea::event (this=0x15630f0, e=0x7fffbd7f4ae0) at widgets/qabstractscrollarea.cpp:918
#9  0x00007fb3b2b6e78d in QApplicationPrivate::notify_helper (this=0x141d040, receiver=0x15630f0, e=0x7fffbd7f4ae0) at kernel/qapplication.cpp:4084
#10 0x00007fb3b2b778bf in QApplication::notify (this=<value optimized out>, receiver=0x15630f0, e=0x7fffbd7f4ae0) at kernel/qapplication.cpp:3690
#11 0x00007fb3b457371b in KApplication::notify (this=0x7fffbd7f5c80, receiver=0x1531bc0, event=0x7fffbd7f4ae0) at /build/buildd/kde4libs-4.2.98a/kdeui/kernel/kapplication.cpp:302
#12 0x00007fb3b372b75c in QCoreApplication::notifyInternal (this=0x7fffbd7f5c80, receiver=0x1531bc0, event=0x7fffbd7f4ae0) at kernel/qcoreapplication.cpp:602
#13 0x00007fb3b2c036b4 in QKeyMapper::sendKeyEvent (keyWidget=0x1531bc0, grab=<value optimized out>, type=QEvent::KeyPress, code=16777235, modifiers={i = -1115730672}, text=@0x7fffbd7f4d00, 
    autorepeat=false, count=1, nativeScanCode=111, nativeVirtualKey=65362, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1675
#14 0x00007fb3b2c05a12 in QKeyMapperPrivate::translateKeyEvent (this=0x1453a10, keyWidget=0x1531bc0, event=0x7fffbd7f58d0, grab=224) at kernel/qkeymapper_x11.cpp:1645
#15 0x00007fb3b2bde5bd in QApplication::x11ProcessEvent (this=0x7fffbd7f5c80, event=0x7fffbd7f58d0) at kernel/qapplication_x11.cpp:3436
#16 0x00007fb3b2c07464 in x11EventSourceDispatch (s=0x1420ce0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#17 0x00007fb3aeac220a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#18 0x00007fb3aeac58e0 in ?? () from /usr/lib/libglib-2.0.so.0
#19 0x00007fb3aeac5a7c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#20 0x00007fb3b3754e6f in QEventDispatcherGlib::processEvents (this=0x1403b50, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:323
#21 0x00007fb3b2c06bef in QGuiEventDispatcherGlib::processEvents (this=0x15630f0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#22 0x00007fb3b372a002 in QEventLoop::processEvents (this=<value optimized out>, flags={i = -1115726912}) at kernel/qeventloop.cpp:149
#23 0x00007fb3b372a3cd in QEventLoop::exec (this=0x7fffbd7f5c00, flags={i = -1115726832}) at kernel/qeventloop.cpp:200
#24 0x00007fb3b372c694 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#25 0x000000000040821c in main (argc=<value optimized out>, argv=<value optimized out>) at /build/buildd/kdegraphics-4.2.98/okular/shell/main.cpp:81

Reported using DrKonqi
Comment 1 Pino Toscano 2009-08-22 15:27:31 UTC
*** Bug 204493 has been marked as a duplicate of this bug. ***
Comment 2 Dario Andres 2009-10-14 16:40:45 UTC
*** Bug 210556 has been marked as a duplicate of this bug. ***
Comment 3 Till Schäfer 2010-06-14 13:44:18 UTC
Created attachment 47993 [details]
New crash information added by DrKonqi

this bug is reproducable when you open a pdf document that you opened before. the document scrolls automatical to the last position. when you have the thumbnail sidebar open and the frame you can see is overlapping two pages and you are scrolling up inside the sidebar a crash occurs. this is allways reproducable.
Comment 4 Albert Astals Cid 2010-06-14 20:29:49 UTC
Can you please attach the log you get if you run okular inside valgrind i.e.
valgrind okular /path/to/my/pdffile.pdf
Comment 5 Till Schäfer 2010-06-15 13:48:21 UTC
valgrind output:

$ valgrind okular /home/till/data/uni/vorlesungen/wissensentdeckung/folien/10_05_18_L03_Klassifikation_I.pdf 
==4222== Memcheck, a memory error detector
==4222== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==4222== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==4222== Command: okular /home/till/data/uni/vorlesungen/wissensentdeckung/folien/10_05_18_L03_Klassifikation_I.pdf
==4222== 
okular(4222)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(4222)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(4222)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
failed to look up Navigation2
failed to look up Navigation17
failed to look up Navigation30
failed to look up Navigation71
failed to look up Navigation135
failed to look up Navigation170
failed to look up Navigation196
failed to look up Navigation1
==4222== Conditional jump or move depends on uninitialised value(s)
==4222==    at 0x745599D: PtsToRegion(int, int, _POINTBLOCK*, QRegionPrivate*) (qregion.cpp:3527)
==4222==    by 0x7456475: PolygonRegion(QPoint const*, int, int) (qregion.cpp:3750)
==4222==    by 0x7456A9D: QRegion::QRegion(QPolygon const&, Qt::FillRule) (qregion.cpp:3871)
==4222==    by 0x74BF42D: QX11PaintEngine::updateState(QPaintEngineState const&) (qpaintengine_x11.cpp:1087)
==4222==    by 0x740B5E2: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:892)
==4222==    by 0x740B6C1: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:920)
==4222==    by 0x7410448: QPainter::setClipRegion(QRegion const&, Qt::ClipOperation) (qpainter.cpp:2825)
==4222==    by 0x73174B7: QWidgetPrivate::paintBackground(QPainter*, QRegion const&, int) const (qwidget.cpp:2197)
==4222==    by 0x73183A4: QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (qwidget.cpp:5317)
==4222==    by 0x74CF04B: QWidgetBackingStore::sync() (qbackingstore.cpp:1291)
==4222==    by 0x730988F: QWidgetPrivate::syncBackingStore() (qwidget.cpp:1672)
==4222==    by 0x730FFF1: QWidget::event(QEvent*) (qwidget.cpp:8291)
==4222== 
==4222== Conditional jump or move depends on uninitialised value(s)
==4222==    at 0x745599D: PtsToRegion(int, int, _POINTBLOCK*, QRegionPrivate*) (qregion.cpp:3527)
==4222==    by 0x7456475: PolygonRegion(QPoint const*, int, int) (qregion.cpp:3750)
==4222==    by 0x7456A9D: QRegion::QRegion(QPolygon const&, Qt::FillRule) (qregion.cpp:3871)
==4222==    by 0x74BF6D1: QX11PaintEngine::updateState(QPaintEngineState const&) (qpaintengine_x11.cpp:1105)
==4222==    by 0x740B5E2: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:892)
==4222==    by 0x740B6C1: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:920)
==4222==    by 0x7410448: QPainter::setClipRegion(QRegion const&, Qt::ClipOperation) (qpainter.cpp:2825)
==4222==    by 0x73174B7: QWidgetPrivate::paintBackground(QPainter*, QRegion const&, int) const (qwidget.cpp:2197)
==4222==    by 0x73183A4: QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (qwidget.cpp:5317)
==4222==    by 0x74CF04B: QWidgetBackingStore::sync() (qbackingstore.cpp:1291)
==4222==    by 0x730988F: QWidgetPrivate::syncBackingStore() (qwidget.cpp:1672)
==4222==    by 0x730FFF1: QWidget::event(QEvent*) (qwidget.cpp:8291)
==4222== 
failed to look up Navigation2
failed to look up Navigation17
failed to look up Navigation30
failed to look up Navigation71
failed to look up Navigation135
failed to look up Navigation170
failed to look up Navigation196
failed to look up Navigation1
failed to look up Navigation2
failed to look up Navigation17
failed to look up Navigation30
failed to look up Navigation71
failed to look up Navigation135
failed to look up Navigation170
failed to look up Navigation196
failed to look up Navigation1
failed to look up Navigation2
failed to look up Navigation17
failed to look up Navigation30
failed to look up Navigation71
failed to look up Navigation135
failed to look up Navigation170
failed to look up Navigation196
failed to look up Navigation1
==4222== Conditional jump or move depends on uninitialised value(s)
==4222==    at 0x10634EB2: ThumbnailList::keyPressEvent(QKeyEvent*) (thumbnaillist.cpp:459)
==4222==    by 0x730F9BC: QWidget::event(QEvent*) (qwidget.cpp:8033)
==4222==    by 0x76B0E05: QFrame::event(QEvent*) (qframe.cpp:557)
==4222==    by 0x773BD4A: QAbstractScrollArea::event(QEvent*) (qabstractscrollarea.cpp:989)
==4222==    by 0x72B9C1B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==4222==    by 0x72C1A17: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3763)
==4222==    by 0x5CDDC25: KApplication::notify(QObject*, QEvent*) (in /usr/lib64/libkdeui.so.5.4.0)
==4222==    by 0x6BCC32A: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib64/qt4/libQtCore.so.4.6.2)
==4222==    by 0x7362F89: QKeyMapper::sendKeyEvent(QWidget*, bool, QEvent::Type, int, QFlags<Qt::KeyboardModifier>, QString const&, bool, int, unsigned int, unsigned int, unsigned int, bool*) (qkeymapper_x11.cpp:1861)
==4222==    by 0x73654C0: QKeyMapperPrivate::translateKeyEvent(QWidget*, _XEvent const*, bool) (qkeymapper_x11.cpp:1831)
==4222==    by 0x733E383: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3394)
==4222==    by 0x7368641: x11EventSourceDispatch(_GSource*, int (*)(void*), void*) (qguieventdispatcher_glib.cpp:146)
==4222== 
==4222== 
==4222== HEAP SUMMARY:
==4222==     in use at exit: 1,669,206 bytes in 7,573 blocks
==4222==   total heap usage: 821,217 allocs, 813,644 frees, 234,742,193 bytes allocated
==4222== 
==4222== LEAK SUMMARY:
==4222==    definitely lost: 18,188 bytes in 7 blocks
==4222==    indirectly lost: 1,232,187 bytes in 3,792 blocks
==4222==      possibly lost: 174,097 bytes in 1,513 blocks
==4222==    still reachable: 244,734 bytes in 2,261 blocks
==4222==         suppressed: 0 bytes in 0 blocks
==4222== Rerun with --leak-check=full to see details of leaked memory
==4222== 
==4222== For counts of detected and suppressed errors, rerun with: -v
==4222== Use --track-origins=yes to see where uninitialised values come from
==4222== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 11 from 8)
Comment 6 Albert Astals Cid 2010-06-15 20:18:50 UTC
SVN commit 1138341 by aacid:

properly initialize m_vectorIndex
BUGS: 202213


 M  +1 -1      thumbnaillist.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1138341
Comment 7 Albert Astals Cid 2010-06-15 20:26:23 UTC
SVN commit 1138343 by aacid:

backport r1138341 | aacid | 2010-06-15 19:27:44 +0100 (Tue, 15 Jun 2010) | 3 lines

properly initialize m_vectorIndex
BUGS: 202213


 M  +1 -1      thumbnaillist.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1138343