Bug 168678

Summary: okular crashes while opening an odt-document
Product: [Applications] okular Reporter: Felix Michel <felix_michel>
Component: generalAssignee: Okular developers <okular-devel>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, bradh, Regnaron
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Slackware   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: my cv

Description Felix Michel 2008-08-08 00:20:06 UTC
Version:            (using KDE 4.1.0)
Installed from:    Slackware Packages
OS:                Linux

it is very odd. Okular opens some odf-files perfectly, but with two files (by now) there seem to be a problem. If I try to open them, okular crashes immediatly. no probelm with openoffice to open the files, though.

here my backtrace:

#0  0xb8041424 in __kernel_vsyscall ()     
#1  0xb68eb740 in raise () from /lib/libc.so.6
#2  0xb68ed078 in abort () from /lib/libc.so.6
#3  0xb75c6c8e in qt_message_output () from /usr/lib/libQtCore.so.4
#4  0xb75c6d2e in qFatal () from /usr/lib/libQtCore.so.4           
#5  0xb75c6db9 in qt_assert () from /usr/lib/libQtCore.so.4
#6  0xb4e49796 in Okular::TextDocumentGeneratorPrivate::generateTitleInfos (
    this=0x85ce230) at /usr/include/QtCore/qstack.h:69
#7  0xb4e49ad1 in Okular::TextDocumentGenerator::loadDocument (this=0x85b0498,
    fileName=@0xbf95d3f8, pagesVector=@0x8358fe0)
    at /home/jan/Source/packages/kdemod41-usr/work/kdegraphics/src/kdegraphics-4.1.0/okular/core/textdocumentgenerator.cpp:271
#8  0xb4e2f438 in Okular::Document::openDocument (this=0x8363278,
    docFile=@0xbf95d3f8, url=@0xbf95d378, _mime=@0xbf95d418)
    at /home/jan/Source/packages/kdemod41-usr/work/kdegraphics/src/kdegraphics-4.1.0/okular/core/document.cpp:1468
#9  0xb4eb2707 in Part::openFile (this=0x82bcce8)
    at /home/jan/Source/packages/kdemod41-usr/work/kdegraphics/src/kdegraphics-4.1.0/okular/part.cpp:839
Comment 1 Pino Toscano 2008-08-08 00:27:20 UTC
Can you please attach a sample document showing the issue?
Comment 2 Felix Michel 2008-08-09 00:07:12 UTC
Created attachment 26743 [details]
my cv
Comment 3 Dario Andres 2008-08-09 19:58:15 UTC
Version 0.7 Using KDE 4.1.1 (KDE 4.1.0 (4.1 >= 20080722)) (KDEmod) in ArchLinux i686:
I can reproduce this bug (same backtrace)

Here is the shell output:

okular(14756)/KZip KZip::openArchive: trying to seek for next PK78                                                        
okular(14756)/KZip KZip::openArchive: trying to seek for next PK78                                                        
okular(14756)/KZip KZip::openArchive: trying to seek for next PK78                                                        
okular(14756)/KZip KZip::openArchive: trying to seek for next PK78                                                        
okular(14756)/KZip KZip::openArchive: trying to seek for next PK78                                                        
okular(14756)/KZip KZip::openArchive: trying to seek for next PK78                                                        
okular(14756)/KZip KZip::openArchive: trying to seek for next PK78                                                        
okular(14756)/KZip KZip::openArchive: trying to seek for next PK78                                                        
unknown tag graphic-properties                                                                                            
unknown tag table-properties                                                                                              
unknown tag table-row-properties                                                                                          
unknown tag graphic-properties                                                                                            
unknown tag graphic-properties                                                                                            
unknown tag graphic-properties                                                                                            
unknown tag outline-style
unknown tag notes-configuration
unknown tag notes-configuration
unknown tag linenumbering-configuration
unknown tag default-page-layout
ASSERT: "!this->isEmpty()" in file /usr/include/QtCore/qstack.h, line 69
Comment 4 Oliver Putz 2008-08-09 21:06:23 UTC
Confirming with the following backtrace:

Application: Okular (okular), signal SIGABRT
[Thread debugging using libthread_db enabled]
[New Thread 0xb62fc700 (LWP 2505)]
[KCrash handler]
#6  0xffffe424 in __kernel_vsyscall ()
#7  0xb65aeb91 in *__GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#8  0xb65b0378 in *__GI_abort () at abort.c:88
#9  0xb74d6097 in qt_message_output (msgType=QtFatalMsg, 
    buf=0xbfc3b3cc "ASSERT: \"!this->isEmpty()\" in file /usr/include/qt4/QtCore/qstack.h, line 69") at global/qglobal.cpp:2058
#10 0xb74d614f in qFatal (msg=0xb7629ab4 "ASSERT: \"%s\" in file %s, line %d")
    at global/qglobal.cpp:2260
#11 0xb74d65cb in qt_assert (assertion=0xb4d357ff "!this->isEmpty()", 
    file=0xb4d357d0 "/usr/include/qt4/QtCore/qstack.h", line=69)
    at global/qglobal.cpp:1828
#12 0xb4d18059 in QStack<QDomNode>::pop (this=0xbfc3d4a8)
    at /usr/include/qt4/QtCore/qstack.h:69
#13 0xb4d14769 in Okular::TextDocumentGeneratorPrivate::generateTitleInfos (
    this=0x808d7d0)
    at /var/tmp/portage/kde-base/okular-4.1.0/work/okular-4.1.0/okular/core/textdocumentgenerator.cpp:204
#14 0xb4d14a98 in Okular::TextDocumentGenerator::loadDocument (
    this=0x8097ac0, fileName=@0xbfc3da48, pagesVector=@0x81698d0)
    at /var/tmp/portage/kde-base/okular-4.1.0/work/okular-4.1.0/okular/core/textdocumentgenerator.cpp:271
#15 0xb4cfb26a in Okular::Document::openDocument (this=0x816c1c0, 
    docFile=@0xbfc3da48, url=@0xbfc3d9c0, _mime=@0xbfc3da68)
    at /var/tmp/portage/kde-base/okular-4.1.0/work/okular-4.1.0/okular/core/document.cpp:1468
#16 0xb4d732e5 in Part::openFile (this=0x81609c8)
    at /var/tmp/portage/kde-base/okular-4.1.0/work/okular-4.1.0/okular/part.cpp:839
#17 0xb7457668 in KParts::ReadOnlyPartPrivate::_k_slotJobFinished (
    this=0x8160b00, job=0x81a43d8)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kparts/part.cpp:636
#18 0xb7458540 in KParts::ReadOnlyPart::qt_metacall (this=0x81609c8, 
    _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xbfc3dc0c)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kparts/part.moc:162
#19 0xb4d74bac in Part::qt_metacall (this=0x81609c8, 
    _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0xbfc3dc0c)
    at /var/tmp/portage/kde-base/okular-4.1.0/work/okular_build/okular/part.moc:161
#20 0xb75e9530 in QMetaObject::activate (sender=0x81a43d8, 
    from_signal_index=<value optimized out>, to_signal_index=7, 
    argv=<value optimized out>) at kernel/qobject.cpp:3001
#21 0xb75e9c92 in QMetaObject::activate (sender=0x81a43d8, m=0xb78e02e8, 
    local_signal_index=3, argv=0xbfc3dc0c) at kernel/qobject.cpp:3071
#22 0xb77ec84b in KJob::result (this=0x81a43d8, _t1=0x81a43d8)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kdecore/kjob.moc:186
#23 0xb77eccd8 in KJob::emitResult (this=0x81a43d8)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kdecore/jobs/kjob.cpp:290
#24 0xb7dbb93a in KIO::FileCopyJob::slotResult (this=0x81a43d8, job=0x82a6660)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/job.cpp:2191
#25 0xb7dbc638 in KIO::FileCopyJob::qt_metacall (this=0x81a43d8, 
    _c=QMetaObject::InvokeMetaMethod, _id=32, _a=0xbfc3dd8c)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/jobclasses.moc:658
#26 0xb75e9530 in QMetaObject::activate (sender=0x82a6660, 
    from_signal_index=<value optimized out>, to_signal_index=7, 
    argv=<value optimized out>) at kernel/qobject.cpp:3001
#27 0xb75e9c92 in QMetaObject::activate (sender=0x82a6660, m=0xb78e02e8, 
    local_signal_index=3, argv=0xbfc3dd8c) at kernel/qobject.cpp:3071
#28 0xb77ec84b in KJob::result (this=0x82a6660, _t1=0x82a6660)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kdecore/kjob.moc:186
#29 0xb77eccd8 in KJob::emitResult (this=0x82a6660)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kdecore/jobs/kjob.cpp:290
#30 0xb7db5fed in KIO::SimpleJob::slotFinished (this=0x82a6660)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/job.cpp:498
#31 0xb7db636e in KIO::TransferJob::slotFinished (this=0x82a6660)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/job.cpp:967
#32 0xb7dbc9cd in KIO::TransferJob::qt_metacall (this=0x82a6660, 
    _c=QMetaObject::InvokeMetaMethod, _id=47, _a=0xbfc3e008)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/jobclasses.moc:336
#33 0xb75e9530 in QMetaObject::activate (sender=0x82a2150, 
    from_signal_index=<value optimized out>, to_signal_index=8, 
    argv=<value optimized out>) at kernel/qobject.cpp:3001
#34 0xb75e9c92 in QMetaObject::activate (sender=0x82a2150, m=0xb7f18f44, 
    local_signal_index=4, argv=0x0) at kernel/qobject.cpp:3071
#35 0xb7e549ff in KIO::SlaveInterface::finished (this=0x82a2150)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/slaveinterface.moc:161
#36 0xb7e564ce in KIO::SlaveInterface::dispatch (this=0x82a2150, _cmd=104, 
    rawdata=@0xbfc3e1a4)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/slaveinterface.cpp:175
#37 0xb7e56f9b in KIO::SlaveInterface::dispatch (this=0x82a2150)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/slaveinterface.cpp:90
#38 0xb7e4a115 in KIO::Slave::gotInput (this=0x82a2150)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/slave.cpp:319
#39 0xb7e4b585 in KIO::Slave::qt_metacall (this=0x82a2150, 
    _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfc3e2a8)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/slave.moc:75
#40 0xb75e9530 in QMetaObject::activate (sender=0x82a2700, 
    from_signal_index=<value optimized out>, to_signal_index=4, 
    argv=<value optimized out>) at kernel/qobject.cpp:3001
#41 0xb75e9c92 in QMetaObject::activate (sender=0x82a2700, m=0xb7f15ba0, 
    local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3071
#42 0xb7d8ab6d in KIO::Connection::readyRead (this=0x82a2700)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/connection.moc:84
#43 0xb7d8b81d in KIO::ConnectionPrivate::dequeue (this=0x82a23c8)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/connection.cpp:82
#44 0xb7d8c595 in KIO::Connection::qt_metacall (this=0x82a2700, 
    _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x826ccc0)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/connection.moc:72
#45 0xb75e3249 in QMetaCallEvent::placeMetaCall (this=0x82a2408, 
    object=0x82a2700) at kernel/qobject.cpp:535
#46 0xb75e5309 in QObject::event (this=0x82a2700, e=0x82a2408)
    at kernel/qobject.cpp:1131
#47 0xb69288a4 in QApplicationPrivate::notify_helper (this=0x805efb8, 
    receiver=0x82a2700, e=0x82a2408) at kernel/qapplication.cpp:3772
#48 0xb692ca75 in QApplication::notify (this=0xbfc3ea44, receiver=0x82a2700, 
    e=0x82a2408) at kernel/qapplication.cpp:3366
#49 0xb7ba06c3 in KApplication::notify (this=0xbfc3ea44, receiver=0x82a2700, 
    event=0x82a2408)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kdeui/kernel/kapplication.cpp:311
#50 0xb75d3d59 in QCoreApplication::notifyInternal (this=0xbfc3ea44, 
    receiver=0x82a2700, event=0x82a2408) at kernel/qcoreapplication.cpp:587
#51 0xb75d5006 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, 
    event_type=0, data=0x8055808) at kernel/qcoreapplication.h:215
#52 0xb75d535d in QCoreApplication::sendPostedEvents (receiver=0x0, 
    event_type=0) at kernel/qcoreapplication.cpp:1091
#53 0xb69b8d7e in QEventDispatcherX11::processEvents (this=0x805f070, 
    flags=@0xbfc3e978)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#54 0xb75d30d3 in QEventLoop::processEvents (this=0xbfc3e9f0, 
    flags=@0xbfc3e9b8) at kernel/qeventloop.cpp:149
#55 0xb75d3246 in QEventLoop::exec (this=0xbfc3e9f0, flags=@0xbfc3e9f8)
    at kernel/qeventloop.cpp:200
#56 0xb75d5401 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#57 0xb692823f in QApplication::exec () at kernel/qapplication.cpp:3304
#58 0x0804ec26 in main (argc=)
    at /var/tmp/portage/kde-base/okular-4.1.0/work/okular-4.1.0/okular/shell/main.cpp:58
#0  0xffffe424 in __kernel_vsyscall ()
Comment 5 Brad Hards 2008-11-29 05:54:06 UTC
OK, the problem is that we assume that we assume Heading level X doesn't occur without intermediate level 1 through X-1 headings.
This one has
Level 1
Level 4
Level 2
Level 2
Level 3
Level 3
Level 3

Comment 6 Brad Hards 2008-11-29 06:34:36 UTC
SVN commit 890395 by bhards:

Don't crash when setting up the document synopsis for 
ODTs with strange heading ordering.

This may still cause the synopsis to look different
to the way the user expected. Will take another
look at that.

BUG: 168678


 M  +9 -4      textdocumentgenerator.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=890395
Comment 7 Brad Hards 2008-11-29 08:45:29 UTC
SVN commit 890398 by bhards:

Improve handling of document synopsis with
strange entry ordering.

CCBUG:168678


 M  +17 -23    textdocumentgenerator.cpp  


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