Bug 264667 - okular crashed while reloading a pdf file
Summary: okular crashed while reloading a pdf file
Status: RESOLVED UPSTREAM
Alias: None
Product: okular
Classification: Applications
Component: PDF backend (show other bugs)
Version: 0.12
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-28 19:14 UTC by Piotr Mitas
Modified: 2011-01-30 22:29 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
crashing file (221.11 KB, application/pdf)
2011-01-28 19:51 UTC, Piotr Mitas
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Mitas 2011-01-28 19:14:17 UTC
Application: okular (0.12)
KDE Platform Version: 4.6.00 (4.6.0) (Compiled from sources)
Qt Version: 4.7.1
Operating System: Linux 2.6.37-pf2 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:
I was writing a document in latex. I rebuilt the pdf file, Okular tried to reload it and crashed. I tried rebuilding it a few times and was able to reproduce the issue, but it crashed only some of the times. I can upload a pdf file that does this on request. It happens with at least 2 different files (both generated by pdflatex).

The crash can be reproduced some of the time.

-- Backtrace:
Application: Okular (okular), signal: Segmentation fault
82	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[KCrash Handler]
#6  UnicodeMap::mapUnicode (this=0x1b989c0, u=87, buf=0x7fffdfa60fa0 "\r", bufSize=8) at /usr/src/debug/app-text/poppler-0.16.1/poppler-0.16.1/poppler/UnicodeMap.cc:220
#7  0x00007fc7dbbb9ff9 in Poppler::unicodeToQString (u=<value optimized out>, len=5) at /usr/src/debug/app-text/poppler-0.16.1/poppler-0.16.1/qt4/src/poppler-private.cc:91
#8  0x00007fc7dbbbaa5c in Poppler::DocumentData::addTocChildren (this=0x1cf06c0, docSyn=0x1a09930, parent=0x1a09930, items=0x1bcba60) at /usr/src/debug/app-text/poppler-0.16.1/poppler-0.16.1/qt4/src/poppler-private.cc:237
#9  0x00007fc7dbba7410 in Poppler::Document::toc (this=0x1b91660) at /usr/src/debug/app-text/poppler-0.16.1/poppler-0.16.1/qt4/src/poppler-document.cc:429
#10 0x00007fc7dbde4a60 in PDFGenerator::generateDocumentSynopsis (this=0x1805b50) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/generators/poppler/generator_pdf.cpp:592
#11 0x00007fc7e43b3819 in TOC::notifySetup (this=0x19251e0, setupFlags=<value optimized out>) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/ui/toc.cpp:75
#12 0x00007fc7e406f1db in Okular::Document::openDocument (this=0x192ea50, docFile=<value optimized out>, url=<value optimized out>, _mime=<value optimized out>) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/core/document.cpp:1667
#13 0x00007fc7e4347ada in Okular::Part::openFile (this=0x1818de0) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/part.cpp:955
#14 0x00007fc7f24c3650 in KParts::ReadOnlyPartPrivate::openLocalFile (this=0x183e040) at /usr/src/debug/kde-base/kdelibs-4.6.0/kdelibs-4.6.0/kparts/part.cpp:592
#15 0x00007fc7f24c3c96 in KParts::ReadOnlyPart::openUrl (this=<value optimized out>, url=...) at /usr/src/debug/kde-base/kdelibs-4.6.0/kdelibs-4.6.0/kparts/part.cpp:556
#16 0x00007fc7e4343e9e in Okular::Part::slotDoFileDirty (this=0x1818de0) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/part.cpp:1244
#17 0x00007fc7e4350105 in Okular::Part::qt_metacall (this=0x1818de0, _c=QMetaObject::InvokeMetaMethod, _id=58, _a=0x7fffdfa61ea0) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0_build/okular/part.moc:244
#18 0x00007fc7f0504ba7 in QMetaObject::activate (sender=0x1aa97e0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3272
#19 0x00007fc7f05043d9 in QObject::event (this=0x1aa97e0, e=<value optimized out>) at kernel/qobject.cpp:1175
#20 0x00007fc7f0ec4734 in QApplicationPrivate::notify_helper (this=0x17a92b0, receiver=0x1aa97e0, e=0x7fffdfa625e0) at kernel/qapplication.cpp:4445
#21 0x00007fc7f0ec921a in QApplication::notify (this=<value optimized out>, receiver=0x1aa97e0, e=0x7fffdfa625e0) at kernel/qapplication.cpp:4324
#22 0x00007fc7f1bc1ff6 in KApplication::notify (this=0x7fffdfa62920, receiver=0x1aa97e0, event=0x7fffdfa625e0) at /usr/src/debug/kde-base/kdelibs-4.6.0/kdelibs-4.6.0/kdeui/kernel/kapplication.cpp:311
#23 0x00007fc7f04f055b in QCoreApplication::notifyInternal (this=0x7fffdfa62920, receiver=0x1aa97e0, event=0x7fffdfa625e0) at kernel/qcoreapplication.cpp:732
#24 0x00007fc7f051dc6e in sendEvent (this=0x17ad030) at ../../src/corelib/kernel/qcoreapplication.h:215
#25 QTimerInfoList::activateTimers (this=0x17ad030) at kernel/qeventdispatcher_unix.cpp:603
#26 0x00007fc7f051ad18 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#27 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#28 0x00007fc7ecab9262 in g_main_dispatch (context=0x17abd20) at gmain.c:2149
#29 g_main_context_dispatch (context=0x17abd20) at gmain.c:2702
#30 0x00007fc7ecab9a40 in g_main_context_iterate (context=0x17abd20, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2780
#31 0x00007fc7ecab9cdd in g_main_context_iteration (context=0x17abd20, may_block=1) at gmain.c:2843
#32 0x00007fc7f051b3df in QEventDispatcherGlib::processEvents (this=0x178fe60, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#33 0x00007fc7f0f68f2e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x00007fc7f04ef922 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#35 0x00007fc7f04efb64 in QEventLoop::exec (this=0x7fffdfa62870, flags=...) at kernel/qeventloop.cpp:201
#36 0x00007fc7f04f3fcb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#37 0x0000000000408f98 in main (argc=2, argv=0x7fffdfa62f08) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/shell/main.cpp:82

Reported using DrKonqi
Comment 1 Pino Toscano 2011-01-28 19:41:36 UTC
Can you please attach a document showing the issue?
Also, can you try if evince can show the TOC of that document?
Comment 2 Albert Astals Cid 2011-01-28 19:44:58 UTC
I doubt the file is much of use since I understand poppler is crashing while regenerating the file, not with the final file.

What would be useful if you run okular inside valgrind 
 valgrind okular mypdf.pdf
and try to trigger the crash and attach any trace that might contain something related to poppler on it
Comment 3 Piotr Mitas 2011-01-28 19:50:32 UTC
==9636== Memcheck, a memory error detector
==9636== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==9636== Using Valgrind-3.6.0 and LibVEX; rerun with -h for copyright info
==9636== Command: okular latex.pdf
==9636== 
==9636== Invalid read of size 8
==9636==    at 0x5D653F8: qt_blend_argb32_on_argb32_ssse3(unsigned char*, int, unsigned char const*, int, int, int, int) (qdrawhelper_ssse3.cpp:179)
==9636==    by 0x5F29D26: QRasterPaintEngine::drawImage(QPointF const&, QImage const&) (qpaintengine_raster.cpp:2500)
==9636==    by 0x5F3803D: QRasterPaintEngine::drawPixmap(QPointF const&, QPixmap const&) (qpaintengine_raster.cpp:2375)
==9636==    by 0x5EB7A6E: QPainter::drawPixmap(QPointF const&, QPixmap const&) (qpainter.cpp:5263)
==9636==    by 0xEDEEEF7: Oxygen::Style::standardIconImplementation(QStyle::StandardPixmap, QStyleOption const*, QWidget const*) const (qpainter.h:852)
==9636==    by 0xEDE10D3: Oxygen::Style::qt_metacall(QMetaObject::Call, int, void**) (oxygenstyle.moc:92)
==9636==    by 0x6E62104: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:1578)
==9636==    by 0x6E62D36: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1151)
==9636==    by 0x6059BA0: QStyle::standardIcon(QStyle::StandardPixmap, QStyleOption const*, QWidget const*) const (qstyle.cpp:2279)
==9636==    by 0x13FE11A3: PageViewTopMessage::PageViewTopMessage(QWidget*) (pageviewutils.cpp:408)
==9636==    by 0x13F909A9: Okular::Part::Part(QWidget*, QObject*, QList<QVariant> const&) (part.cpp:354)
==9636==    by 0x13F9854E: QObject* KPluginFactory::createPartInstance<Okular::Part>(QWidget*, QObject*, QList<QVariant> const&) (kpluginfactory.h:479)
==9636==  Address 0x17ce7b90 is 896 bytes inside a block of size 900 alloc'd
==9636==    at 0x4C2640E: malloc (vg_replace_malloc.c:236)
==9636==    by 0x5E28B84: QImageData::create(QSize const&, QImage::Format, int) (qimage.cpp:243)
==9636==    by 0x5E29D6A: QImage::QImage(int, int, QImage::Format) (qimage.cpp:843)
==9636==    by 0x5E51523: QRasterPixmapData::fill(QColor const&) (qpixmap_raster.cpp:209)
==9636==    by 0xEE04E35: Oxygen::StyleHelper::windecoButton(QColor const&, bool, int) (oxygenstylehelper.cpp:161)
==9636==    by 0xEDEEEB3: Oxygen::Style::standardIconImplementation(QStyle::StandardPixmap, QStyleOption const*, QWidget const*) const (oxygenstyle.cpp:8079)
==9636==    by 0xEDE10D3: Oxygen::Style::qt_metacall(QMetaObject::Call, int, void**) (oxygenstyle.moc:92)
==9636==    by 0x6E62104: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:1578)
==9636==    by 0x6E62D36: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1151)
==9636==    by 0x6059BA0: QStyle::standardIcon(QStyle::StandardPixmap, QStyleOption const*, QWidget const*) const (qstyle.cpp:2279)
==9636==    by 0x13FE11A3: PageViewTopMessage::PageViewTopMessage(QWidget*) (pageviewutils.cpp:408)
==9636==    by 0x13F909A9: Okular::Part::Part(QWidget*, QObject*, QList<QVariant> const&) (part.cpp:354)
==9636== 
okular(9636)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(9636)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(9636)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(9636)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:                                                                                                                                                                     
okular(9636)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:                                                                                                                                                                     
okular(9636)/kdeui (kdelibs): Attempt to use QAction "" with KXMLGUIFactory!                                                                                                                                                                 
==9636== Conditional jump or move depends on uninitialised value(s)                                                                                                                                                                          
==9636==    at 0x13FD14AF: PageView::resizeEvent(QResizeEvent*) (pageview.cpp:1255)                                                                                                                                                          
==9636==    by 0x5DBECF4: QWidget::event(QEvent*) (qwidget.cpp:8354)                                                                                                                                                                         
==9636==    by 0x6148B55: QFrame::event(QEvent*) (qframe.cpp:557)                                                                                                                                                                            
==9636==    by 0x13FD05DC: PageView::viewportEvent(QEvent*) (pageview.cpp:2315)                                                                                                                                                              
==9636==    by 0x6E596D5: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:847)                                                                                                               
==9636==    by 0x5D6D700: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4441)                                                                                                                                      
==9636==    by 0x5D72219: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4324)                                                                                                                                                    
==9636==    by 0x5781FF5: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:311)                                                                                                                                                     
==9636==    by 0x6E5955A: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:732)                                                                                                                                     
==9636==    by 0x5E08186: QWidgetPrivate::setGeometry_sys(int, int, int, int, bool) (qcoreapplication.h:215)                                                                                                                                 
==9636==    by 0x5DBAC8A: QWidget::setGeometry(QRect const&) (qwidget.cpp:6802)                                                                                                                                                              
==9636==    by 0x61C8BC8: QAbstractScrollAreaPrivate::layoutChildren() (qabstractscrollarea.cpp:480)                                                                                                                                         
==9636==                                                                                                                                                                                                                                     
==9636== Invalid read of size 8                                                                                                                                                                                                              
==9636==    at 0x5D653F8: qt_blend_argb32_on_argb32_ssse3(unsigned char*, int, unsigned char const*, int, int, int, int) (qdrawhelper_ssse3.cpp:179)                                                                                         
==9636==    by 0x5F2B2B7: QRasterPaintEngine::drawImage(QRectF const&, QImage const&, QRectF const&, QFlags<Qt::ImageConversionFlag>) (qpaintengine_raster.cpp:2761)                                                                         
==9636==    by 0x5EB8CA2: QPainter::drawImage(QRectF const&, QImage const&, QRectF const&, QFlags<Qt::ImageConversionFlag>) (qpainter.cpp:5665)                                                                                              
==9636==    by 0x13FC140F: PagePainter::paintCroppedPageOnPainter(QPainter*, Okular::Page const*, int, int, int, int, QRect const&, Okular::NormalizedRect const&) (qpainter.h:927)                                                          
==9636==    by 0x13FCF23E: PageView::drawDocumentOnPainter(QRect const&, QPainter*) (pageview.cpp:2469)                                                                                                                                      
==9636==    by 0x13FCFA53: PageView::paintEvent(QPaintEvent*) (pageview.cpp:1226)                                                                                                                                                            
==9636==    by 0x5DBECC0: QWidget::event(QEvent*) (qwidget.cpp:8346)                                                                                                                                                                         
==9636==    by 0x6148B55: QFrame::event(QEvent*) (qframe.cpp:557)                                                                                                                                                                            
==9636==    by 0x13FD05DC: PageView::viewportEvent(QEvent*) (pageview.cpp:2315)                                                                                                                                                              
==9636==    by 0x6E596D5: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:847)                                                                                                               
==9636==    by 0x5D6D700: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4441)                                                                                                                                      
==9636==    by 0x5D72219: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4324)                                                                                                                                                    
==9636==  Address 0xe0daa08 is 0 bytes after a block of size 25,896 alloc'd                                                                                                                                                                  
==9636==    at 0x4C2640E: malloc (vg_replace_malloc.c:236)
==9636==    by 0x5E28B84: QImageData::create(QSize const&, QImage::Format, int) (qimage.cpp:243)
==9636==    by 0x5E29D6A: QImage::QImage(int, int, QImage::Format) (qimage.cpp:843)
==9636==    by 0x13FC0841: PagePainter::scalePixmapOnImage(QImage&, QPixmap const*, int, int, QRect const&, QImage::Format) (pagepainter.cpp:737)
==9636==    by 0x13FC133B: PagePainter::paintCroppedPageOnPainter(QPainter*, Okular::Page const*, int, int, int, int, QRect const&, Okular::NormalizedRect const&) (pagepainter.cpp:229)
==9636==    by 0x13FCF23E: PageView::drawDocumentOnPainter(QRect const&, QPainter*) (pageview.cpp:2469)
==9636==    by 0x13FCFA53: PageView::paintEvent(QPaintEvent*) (pageview.cpp:1226)
==9636==    by 0x5DBECC0: QWidget::event(QEvent*) (qwidget.cpp:8346)
==9636==    by 0x6148B55: QFrame::event(QEvent*) (qframe.cpp:557)
==9636==    by 0x13FD05DC: PageView::viewportEvent(QEvent*) (pageview.cpp:2315)
==9636==    by 0x6E596D5: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:847)
==9636==    by 0x5D6D700: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4441)
==9636== 
okular(9636)/kdeui (kdelibs): Attempt to use QAction "" with KXMLGUIFactory! 
okular(9636)/kdeui (kdelibs): Attempt to use QAction "" with KXMLGUIFactory! 
==9636== Invalid read of size 4
==9636==    at 0x1A290F24: UnicodeMap::mapUnicode(unsigned int, char*, int) (UnicodeMap.cc:214)
==9636==    by 0x19F5CFF8: Poppler::unicodeToQString(unsigned int*, int) (poppler-private.cc:91)
==9636==    by 0x19F5DA5B: Poppler::DocumentData::addTocChildren(QDomDocument*, QDomNode*, GooList*) (poppler-private.cc:237)
==9636==    by 0x19F4A40F: Poppler::Document::toc() const (poppler-document.cc:429)
==9636==    by 0x19CC3A5F: PDFGenerator::generateDocumentSynopsis() (generator_pdf.cpp:592)
==9636==    by 0x13FFA818: TOC::notifySetup(QVector<Okular::Page*> const&, int) (toc.cpp:75)
==9636==    by 0x142C31DA: Okular::Document::openDocument(QString const&, KUrl const&, KSharedPtr<KMimeType> const&) (document.cpp:1667)
==9636==    by 0x13F8EAD9: Okular::Part::openFile() (part.cpp:955)
==9636==    by 0x4E5664F: KParts::ReadOnlyPartPrivate::openLocalFile() (part.cpp:592)
==9636==    by 0x4E56C95: KParts::ReadOnlyPart::openUrl(KUrl const&) (part.cpp:556)
==9636==    by 0x13F8AE9D: Okular::Part::slotDoFileDirty() (part.cpp:1244)
==9636==    by 0x13F97104: Okular::Part::qt_metacall(QMetaObject::Call, int, void**) (part.moc:244)
==9636==  Address 0x1123c3a8 is 8 bytes inside a block of size 88 free'd
==9636==    at 0x4C2588F: operator delete(void*) (vg_replace_malloc.c:387)
==9636==    by 0x1A26C13E: GlobalParams::~GlobalParams() (GlobalParams.cc:863)
==9636==    by 0x19F4ADE4: Poppler::Document::~Document() (poppler-private.h:121)
==9636==    by 0x19CC72C4: PDFGenerator::doCloseDocument() (generator_pdf.cpp:448)
==9636==    by 0x142CA1C9: Okular::Generator::closeDocument() (generator.cpp:203)
==9636==    by 0x142C0807: Okular::Document::closeDocument() (document.cpp:1782)
==9636==    by 0x13F8F46B: Okular::Part::closeUrl() (part.cpp:1136)
==9636==    by 0x4E56B90: KParts::ReadOnlyPart::openUrl(KUrl const&) (part.cpp:547)
==9636==    by 0x13F8AE9D: Okular::Part::slotDoFileDirty() (part.cpp:1244)
==9636==    by 0x13F97104: Okular::Part::qt_metacall(QMetaObject::Call, int, void**) (part.moc:244)
==9636==    by 0x6E6DBA6: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272)
==9636==    by 0x6E6D3D8: QObject::event(QEvent*) (qobject.cpp:1175)
==9636== 
==9636== Invalid read of size 8
==9636==    at 0x1A291060: UnicodeMap::mapUnicode(unsigned int, char*, int) (UnicodeMap.cc:215)
==9636==    by 0x19F5CFF8: Poppler::unicodeToQString(unsigned int*, int) (poppler-private.cc:91)
==9636==    by 0x19F5DA5B: Poppler::DocumentData::addTocChildren(QDomDocument*, QDomNode*, GooList*) (poppler-private.cc:237)
==9636==    by 0x19F4A40F: Poppler::Document::toc() const (poppler-document.cc:429)
==9636==    by 0x19CC3A5F: PDFGenerator::generateDocumentSynopsis() (generator_pdf.cpp:592)
==9636==    by 0x13FFA818: TOC::notifySetup(QVector<Okular::Page*> const&, int) (toc.cpp:75)
==9636==    by 0x142C31DA: Okular::Document::openDocument(QString const&, KUrl const&, KSharedPtr<KMimeType> const&) (document.cpp:1667)
==9636==    by 0x13F8EAD9: Okular::Part::openFile() (part.cpp:955)
==9636==    by 0x4E5664F: KParts::ReadOnlyPartPrivate::openLocalFile() (part.cpp:592)
==9636==    by 0x4E56C95: KParts::ReadOnlyPart::openUrl(KUrl const&) (part.cpp:556)
==9636==    by 0x13F8AE9D: Okular::Part::slotDoFileDirty() (part.cpp:1244)
==9636==    by 0x13F97104: Okular::Part::qt_metacall(QMetaObject::Call, int, void**) (part.moc:244)
==9636==  Address 0x1123c3b0 is 16 bytes inside a block of size 88 free'd
==9636==    at 0x4C2588F: operator delete(void*) (vg_replace_malloc.c:387)
==9636==    by 0x1A26C13E: GlobalParams::~GlobalParams() (GlobalParams.cc:863)
==9636==    by 0x19F4ADE4: Poppler::Document::~Document() (poppler-private.h:121)
==9636==    by 0x19CC72C4: PDFGenerator::doCloseDocument() (generator_pdf.cpp:448)
==9636==    by 0x142CA1C9: Okular::Generator::closeDocument() (generator.cpp:203)
==9636==    by 0x142C0807: Okular::Document::closeDocument() (document.cpp:1782)
==9636==    by 0x13F8F46B: Okular::Part::closeUrl() (part.cpp:1136)
==9636==    by 0x4E56B90: KParts::ReadOnlyPart::openUrl(KUrl const&) (part.cpp:547)
==9636==    by 0x13F8AE9D: Okular::Part::slotDoFileDirty() (part.cpp:1244)
==9636==    by 0x13F97104: Okular::Part::qt_metacall(QMetaObject::Call, int, void**) (part.moc:244)
==9636==    by 0x6E6DBA6: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272)
==9636==    by 0x6E6D3D8: QObject::event(QEvent*) (qobject.cpp:1175)
==9636== 
okular(9636)/kdeui (kdelibs): Attempt to use QAction "" with KXMLGUIFactory! 
okular(9636)/kdeui (kdelibs): Attempt to use QAction "" with KXMLGUIFactory! 
==9636== Invalid read of size 8
==9636==    at 0x1A290F31: UnicodeMap::mapUnicode(unsigned int, char*, int) (UnicodeMap.cc:220)
==9636==    by 0x19F5CFF8: Poppler::unicodeToQString(unsigned int*, int) (poppler-private.cc:91)
==9636==    by 0x19F5DA5B: Poppler::DocumentData::addTocChildren(QDomDocument*, QDomNode*, GooList*) (poppler-private.cc:237)
==9636==    by 0x19F4A40F: Poppler::Document::toc() const (poppler-document.cc:429)
==9636==    by 0x19CC3A5F: PDFGenerator::generateDocumentSynopsis() (generator_pdf.cpp:592)
==9636==    by 0x13FFA818: TOC::notifySetup(QVector<Okular::Page*> const&, int) (toc.cpp:75)
==9636==    by 0x142C31DA: Okular::Document::openDocument(QString const&, KUrl const&, KSharedPtr<KMimeType> const&) (document.cpp:1667)
==9636==    by 0x13F8EAD9: Okular::Part::openFile() (part.cpp:955)
==9636==    by 0x4E5664F: KParts::ReadOnlyPartPrivate::openLocalFile() (part.cpp:592)
==9636==    by 0x4E56C95: KParts::ReadOnlyPart::openUrl(KUrl const&) (part.cpp:556)
==9636==    by 0x13F8AE9D: Okular::Part::slotDoFileDirty() (part.cpp:1244)
==9636==    by 0x13F97104: Okular::Part::qt_metacall(QMetaObject::Call, int, void**) (part.moc:244)
==9636==  Address 0x1123c3b0 is not stack'd, malloc'd or (recently) free'd
==9636== 
==9636== Invalid read of size 4
==9636==    at 0x1A290F35: UnicodeMap::mapUnicode(unsigned int, char*, int) (UnicodeMap.cc:219)
==9636==    by 0x19F5CFF8: Poppler::unicodeToQString(unsigned int*, int) (poppler-private.cc:91)
==9636==    by 0x19F5DA5B: Poppler::DocumentData::addTocChildren(QDomDocument*, QDomNode*, GooList*) (poppler-private.cc:237)
==9636==    by 0x19F4A40F: Poppler::Document::toc() const (poppler-document.cc:429)
==9636==    by 0x19CC3A5F: PDFGenerator::generateDocumentSynopsis() (generator_pdf.cpp:592)
==9636==    by 0x13FFA818: TOC::notifySetup(QVector<Okular::Page*> const&, int) (toc.cpp:75)
==9636==    by 0x142C31DA: Okular::Document::openDocument(QString const&, KUrl const&, KSharedPtr<KMimeType> const&) (document.cpp:1667)
==9636==    by 0x13F8EAD9: Okular::Part::openFile() (part.cpp:955)
==9636==    by 0x4E5664F: KParts::ReadOnlyPartPrivate::openLocalFile() (part.cpp:592)
==9636==    by 0x4E56C95: KParts::ReadOnlyPart::openUrl(KUrl const&) (part.cpp:556)
==9636==    by 0x13F8AE9D: Okular::Part::slotDoFileDirty() (part.cpp:1244)
==9636==    by 0x13F97104: Okular::Part::qt_metacall(QMetaObject::Call, int, void**) (part.moc:244)
==9636==  Address 0x1123c3b8 is not stack'd, malloc'd or (recently) free'd
==9636== 
==9636== Invalid read of size 4
==9636==    at 0x1A290F39: UnicodeMap::mapUnicode(unsigned int, char*, int) (UnicodeMap.cc:220)
==9636==    by 0x19F5CFF8: Poppler::unicodeToQString(unsigned int*, int) (poppler-private.cc:91)
==9636==    by 0x19F5DA5B: Poppler::DocumentData::addTocChildren(QDomDocument*, QDomNode*, GooList*) (poppler-private.cc:237)
==9636==    by 0x19F4A40F: Poppler::Document::toc() const (poppler-document.cc:429)
==9636==    by 0x19CC3A5F: PDFGenerator::generateDocumentSynopsis() (generator_pdf.cpp:592)
==9636==    by 0x13FFA818: TOC::notifySetup(QVector<Okular::Page*> const&, int) (toc.cpp:75)
==9636==    by 0x142C31DA: Okular::Document::openDocument(QString const&, KUrl const&, KSharedPtr<KMimeType> const&) (document.cpp:1667)
==9636==    by 0x13F8EAD9: Okular::Part::openFile() (part.cpp:955)
==9636==    by 0x4E5664F: KParts::ReadOnlyPartPrivate::openLocalFile() (part.cpp:592)
==9636==    by 0x4E56C95: KParts::ReadOnlyPart::openUrl(KUrl const&) (part.cpp:556)
==9636==    by 0x13F8AE9D: Okular::Part::slotDoFileDirty() (part.cpp:1244)
==9636==    by 0x13F97104: Okular::Part::qt_metacall(QMetaObject::Call, int, void**) (part.moc:244)
==9636==  Address 0xffffff00ffffff is not stack'd, malloc'd or (recently) free'd
==9636== 
KCrash: Application 'okular' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/home/piotrek/.kde4/socket-localhost/kdeinit4__0

[1]+  Stopped                 valgrind okular latex.pdf
==9636== 
==9636== HEAP SUMMARY:
==9636==     in use at exit: 6,300,741 bytes in 54,257 blocks
==9636==   total heap usage: 373,695 allocs, 319,438 frees, 237,580,422 bytes allocated
==9636== 
==9636== LEAK SUMMARY:
==9636==    definitely lost: 3,806 bytes in 12 blocks
==9636==    indirectly lost: 13,444 bytes in 422 blocks
==9636==      possibly lost: 898,688 bytes in 12,099 blocks
==9636==    still reachable: 5,384,803 bytes in 41,724 blocks
==9636==         suppressed: 0 bytes in 0 blocks
==9636== Rerun with --leak-check=full to see details of leaked memory
==9636== 
==9636== For counts of detected and suppressed errors, rerun with: -v
==9636== Use --track-origins=yes to see where uninitialised values come from
==9636== ERROR SUMMARY: 46 errors from 8 contexts (suppressed: 9 from 7)

I'll attach the file just in case.
Comment 4 Piotr Mitas 2011-01-28 19:51:23 UTC
Created attachment 56587 [details]
crashing file
Comment 5 Albert Astals Cid 2011-01-28 21:27:48 UTC
Are you by any chance all running the raster graphicssystem? Can you try with the native one instead and see if that fixes your crashes?
Comment 6 Piotr Mitas 2011-01-28 21:30:55 UTC
I don't even know what that is to be honest. How do I check that?
Comment 7 Albert Astals Cid 2011-01-28 21:34:54 UTC
Gah, commented in the wrong bug. Ignore me :D
Comment 8 Albert Astals Cid 2011-01-28 21:36:27 UTC
About your bug, it is a poppler bug and it will be fixed in the next poppler verison (not sure if it'll be poppler 0.16.2 or 0.16.1.1)
Comment 9 Piotr Mitas 2011-01-28 21:46:19 UTC
Thanks.
Comment 10 Piotr Mitas 2011-01-30 21:44:00 UTC
Hi again,

I upgraded to poppler 0.16.2, which according to it's website fixed this issue. I can still see the crashes however, though they are less frequent. I'm reopening the bug. Here's the backtrace with the new version of poppler.



Application: Okular (okular), signal: Segmentation fault
82	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7fa75a269760 (LWP 13710))]

Thread 3 (Thread 0x7fa748201700 (LWP 13711)):
#0  0x00007fa757517203 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fa757e7af9c in QProcessManager::run (this=0x7fa7581ccf60) at io/qprocess_unix.cpp:245
#2  0x00007fa757db274e in QThreadPrivate::start (arg=0x7fa7581ccf60) at thread/qthread_unix.cpp:285
#3  0x00007fa7558a7d4c in start_thread (arg=0x7fa748201700) at pthread_create.c:301
#4  0x00007fa75751da7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7fa746690700 (LWP 19533)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa757db18a3 in QMutexPrivate::wait (this=0x20cc7a0, timeout=-1) at thread/qmutex_unix.cpp:84
#2  0x00007fa757dae33d in QMutex::lock (this=0x20cd6b0) at thread/qmutex.cpp:204
#3  0x00007fa7477e8b2f in PDFPixmapGeneratorThread::run (this=0x2092c60) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/generators/poppler/generator_pdf.cpp:1836
#4  0x00007fa757db274e in QThreadPrivate::start (arg=0x2092c60) at thread/qthread_unix.cpp:285
#5  0x00007fa7558a7d4c in start_thread (arg=0x7fa746690700) at pthread_create.c:301
#6  0x00007fa75751da7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7fa75a269760 (LWP 13710)):
[KCrash Handler]
#6  UnicodeMap::mapUnicode (this=0x20af0f0, u=101, buf=0x7fff3bcd4a40 "", bufSize=<value optimized out>) at /usr/src/debug/app-text/poppler-0.16.2/poppler-0.16.2/poppler/UnicodeMap.cc:245
#7  0x00007fa747586101 in Poppler::unicodeToQString (u=<value optimized out>, len=6) at /usr/src/debug/app-text/poppler-0.16.2/poppler-0.16.2/qt4/src/poppler-private.cc:93
#8  0x00007fa747586b5c in Poppler::DocumentData::addTocChildren (this=0x1d84860, docSyn=0x2078040, parent=0x2078040, items=0x25c3ab0) at /usr/src/debug/app-text/poppler-0.16.2/poppler-0.16.2/qt4/src/poppler-private.cc:239
#9  0x00007fa7475734c0 in Poppler::Document::toc (this=0x1ff8570) at /usr/src/debug/app-text/poppler-0.16.2/poppler-0.16.2/qt4/src/poppler-document.cc:429
#10 0x00007fa7477e5a60 in PDFGenerator::generateDocumentSynopsis (this=0x2091fa0) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/generators/poppler/generator_pdf.cpp:592
#11 0x00007fa74bd57819 in TOC::notifySetup (this=0x1df0080, setupFlags=<value optimized out>) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/ui/toc.cpp:75
#12 0x00007fa74ba111db in Okular::Document::openDocument (this=0x1df98e0, docFile=<value optimized out>, url=<value optimized out>, _mime=<value optimized out>) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/core/document.cpp:1667
#13 0x00007fa74bcebada in Okular::Part::openFile (this=0x1d13530) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/part.cpp:955
#14 0x00007fa759e6d650 in KParts::ReadOnlyPartPrivate::openLocalFile (this=0x1d35230) at /usr/src/debug/kde-base/kdelibs-4.6.0/kdelibs-4.6.0/kparts/part.cpp:592
#15 0x00007fa759e6dc96 in KParts::ReadOnlyPart::openUrl (this=<value optimized out>, url=...) at /usr/src/debug/kde-base/kdelibs-4.6.0/kdelibs-4.6.0/kparts/part.cpp:556
#16 0x00007fa74bce7e9e in Okular::Part::slotDoFileDirty (this=0x1d13530) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/part.cpp:1244
#17 0x00007fa74bcf4105 in Okular::Part::qt_metacall (this=0x1d13530, _c=QMetaObject::InvokeMetaMethod, _id=58, _a=0x7fff3bcd5940) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0_build/okular/part.moc:244
#18 0x00007fa757eaeba7 in QMetaObject::activate (sender=0x1f76250, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3272
#19 0x00007fa757eae3d9 in QObject::event (this=0x1f76250, e=<value optimized out>) at kernel/qobject.cpp:1175
#20 0x00007fa75886e734 in QApplicationPrivate::notify_helper (this=0x1c712b0, receiver=0x1f76250, e=0x7fff3bcd6080) at kernel/qapplication.cpp:4445
#21 0x00007fa75887321a in QApplication::notify (this=<value optimized out>, receiver=0x1f76250, e=0x7fff3bcd6080) at kernel/qapplication.cpp:4324
#22 0x00007fa75956bff6 in KApplication::notify (this=0x7fff3bcd63c0, receiver=0x1f76250, event=0x7fff3bcd6080) at /usr/src/debug/kde-base/kdelibs-4.6.0/kdelibs-4.6.0/kdeui/kernel/kapplication.cpp:311
#23 0x00007fa757e9a55b in QCoreApplication::notifyInternal (this=0x7fff3bcd63c0, receiver=0x1f76250, event=0x7fff3bcd6080) at kernel/qcoreapplication.cpp:732
#24 0x00007fa757ec7c6e in sendEvent (this=0x1c75030) at ../../src/corelib/kernel/qcoreapplication.h:215
#25 QTimerInfoList::activateTimers (this=0x1c75030) at kernel/qeventdispatcher_unix.cpp:603
#26 0x00007fa757ec4d18 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#27 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#28 0x00007fa75445d262 in g_main_dispatch (context=0x1c73d20) at gmain.c:2149
#29 g_main_context_dispatch (context=0x1c73d20) at gmain.c:2702
#30 0x00007fa75445da40 in g_main_context_iterate (context=0x1c73d20, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2780
#31 0x00007fa75445dcdd in g_main_context_iteration (context=0x1c73d20, may_block=1) at gmain.c:2843
#32 0x00007fa757ec53df in QEventDispatcherGlib::processEvents (this=0x1c57e60, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#33 0x00007fa758912f2e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x00007fa757e99922 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#35 0x00007fa757e99b64 in QEventLoop::exec (this=0x7fff3bcd6310, flags=...) at kernel/qeventloop.cpp:201
#36 0x00007fa757e9dfcb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#37 0x0000000000408f98 in main (argc=2, argv=0x7fff3bcd69a8) at /usr/src/debug/kde-base/okular-4.6.0/okular-4.6.0/okular/shell/main.cpp:82
Comment 11 Pino Toscano 2011-01-30 22:29:10 UTC
Then please move this report (opening a new one) to the poppler's bug tracking system at https://bugs.freedesktop.org, "poppler" product and "qt4 frontend" component.