Bug 195308 - Okular doesn't open or crashes with a particular odt file.
Summary: Okular doesn't open or crashes with a particular odt file.
Status: RESOLVED FIXED
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 0.8.4
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-05 11:05 UTC by Diego
Modified: 2009-07-02 11:29 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
File that could not be opened or that causes a crash. (4.24 KB, application/vnd.oasis.opendocument.text; charset=binary)
2009-06-05 11:07 UTC, Diego
Details
bt full log for crash from bug 195308 (11.39 KB, text/plain)
2009-06-06 08:26 UTC, Oliver Putz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Diego 2009-06-05 11:05:14 UTC
Version:           0.8.4 (using 4.2.4 (KDE 4.2.4), Arch Linux)
Compiler:          gcc
OS:                Linux (i686) release 2.6.29-ARCH

Opening the following file results in a crash in Fedora 10 with KDE 4.2.3 and in an error message (could not open the file) when opened in Arch Linux with KDE 4.2.4.

The file is saved with KOffice KWord 2.0 so the bug itself could be in the wrong file format.
Comment 1 Diego 2009-06-05 11:07:46 UTC
Created attachment 34284 [details]
File that could not be opened or that causes a crash.
Comment 2 Oliver Putz 2009-06-06 00:22:26 UTC
backtraces for KDE-4.2.3

bt:

#0  Okular::TextDocumentGenerator::loadDocument (this=<value optimized out>, fileName=<value optimized out>, pagesVector=@0x7f3ba8) at /usr/include/qt4/QtCore/qbasicatomic.h:89
#1  0x00007f700f836520 in Okular::DocumentPrivate::openDocumentInternal (this=0x7f3a70, offer=@0x0, isstdin=false, docFile=@0x7fff2149cfb0, filedata=@0x7fff2149cb40)
    at /var/tmp/portage/kde-base/okular-4.2.3/work/okular-4.2.3/okular/core/document.cpp:643
#2  0x00007f700f83a99c in Okular::Document::openDocument (this=0x7f09d0, docFile=@0x7fff2149cfb0, url=<value optimized out>, _mime=<value optimized out>)
    at /var/tmp/portage/kde-base/okular-4.2.3/work/okular-4.2.3/okular/core/document.cpp:1593
#3  0x00007f700fad37ee in Part::openFile (this=0x6f8f60) at /var/tmp/portage/kde-base/okular-4.2.3/work/okular-4.2.3/okular/part.cpp:877
#4  0x00007f7019064484 in KParts::ReadOnlyPart::openUrl (this=0x6f8f60, url=@0x6ecd28) at /var/tmp/portage/kde-base/kdelibs-4.2.3/work/kdelibs-4.2.3/kparts/part.cpp:558
#5  0x00007f700fad497e in Part::openUrl (this=0x7f70080008b0, url=@0x20750) at /var/tmp/portage/kde-base/okular-4.2.3/work/okular-4.2.3/okular/part.cpp:974
#6  0x0000000000409825 in _start ()


bt full:

#0  Okular::TextDocumentGenerator::loadDocument (this=<value optimized out>, fileName=<value optimized out>, pagesVector=@0x7f3ba8) at /usr/include/qt4/QtCore/qbasicatomic.h:89
	d = (class Okular::TextDocumentGeneratorPrivate * const) 0xd83390
	objects = {{p = 0x0, d = 0x0}}
	annots = {{p = 0x7f3a70, d = 0x7f3a70}}
#1  0x00007f700f836520 in Okular::DocumentPrivate::openDocumentInternal (this=0x7f3a70, offer=@0x0, isstdin=false, docFile=@0x7fff2149cfb0, filedata=@0x7fff2149cb40)
    at /var/tmp/portage/kde-base/okular-4.2.3/work/okular-4.2.3/okular/core/document.cpp:643
	propName = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 6621}, alloc = 0, size = 0, data = 0x60d8da, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, 
    capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 68}, alloc = 0, size = 0, data = 0x7f70178fa7fa, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, 
    capacity = 0, reserved = 0, array = {0}}, d = 0xd7d730, static codecForCStrings = 0x0}
	catalogName = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 6621}, alloc = 0, size = 0, data = 0x60d8da, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, 
    capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 68}, alloc = 0, size = 0, data = 0x7f70178fa7fa, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, 
    capacity = 0, reserved = 0, array = {0}}, d = 0xc789f0, static codecForCStrings = 0x0}
	openOk = false
#2  0x00007f700f83a99c in Okular::Document::openDocument (this=0x7f09d0, docFile=@0x7fff2149cfb0, url=<value optimized out>, _mime=<value optimized out>)
    at /var/tmp/portage/kde-base/okular-4.2.3/work/okular-4.2.3/okular/core/document.cpp:1593
	mime = {d = 0x7824c0}
	filedata = {static shared_null = {ref = {_q_value = 800}, alloc = 0, size = 0, data = 0x60d938 "", array = ""}, static shared_empty = {ref = {_q_value = 4}, alloc = 0, size = 0, 
    data = 0x7f70178fa6b8 "", array = ""}, d = 0x60d920}
	document_size = 4342
	isstdin = false
	loadingMimeByContent = false
	constraint = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 6621}, alloc = 0, size = 0, data = 0x60d8da, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, 
    capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 68}, alloc = 0, size = 0, data = 0x7f70178fa7fa, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, 
    capacity = 0, reserved = 0, array = {0}}, d = 0xbf7690, static codecForCStrings = 0x0}
	offers = {{p = {static shared_null = {ref = {_q_value = 7846}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0xd7dcd0}, d = 0xd7dcd0}}
	hRank = 0
	offercount = 1
	offer = {d = 0xd23170}
	openOk = <value optimized out>
	loadedViewport = {pageNumber = 7900784, rePos = {enabled = 206, normalizedX = 6.9531712010103794e-310, normalizedY = 7.2911220323474317e-304, pos = 4}, autoFit = {enabled = 192, width = 200, 
    height = 73}}
	docScripts = {<QList<QString>> = {{p = {static shared_null = {ref = {_q_value = 7846}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x0}, d = 0x0}}, <No data fields>}
	__PRETTY_FUNCTION__ = "bool Okular::Document::openDocument(const QString&, const KUrl&, const KSharedPtr<KMimeType>&)"
#3  0x00007f700fad37ee in Part::openFile (this=0x6f8f60) at /var/tmp/portage/kde-base/okular-4.2.3/work/okular-4.2.3/okular/part.cpp:877
	mime = {d = 0x7824c0}
	isCompressedFile = false
	uncompressOk = <value optimized out>
	fileNameToOpen = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 6621}, alloc = 0, size = 0, data = 0x60d8da, clean = 0, simpletext = 0, righttoleft = 0, 
    asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 68}, alloc = 0, size = 0, data = 0x7f70178fa7fa, clean = 0, simpletext = 0, righttoleft = 0, 
    asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x6ece40, static codecForCStrings = 0x0}
	compressedMime = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 6621}, alloc = 0, size = 0, data = 0x60d8da, clean = 0, simpletext = 0, righttoleft = 0, 
    asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 68}, alloc = 0, size = 0, data = 0x7f70178fa7fa, clean = 0, simpletext = 0, righttoleft = 0, 
    asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x60d8c0, static codecForCStrings = 0x0}
	ok = <value optimized out>
	canSearch = <value optimized out>
	hasEmbeddedFiles = <value optimized out>
#4  0x00007f7019064484 in KParts::ReadOnlyPart::openUrl (this=0x6f8f60, url=@0x6ecd28) at /var/tmp/portage/kde-base/kdelibs-4.2.3/work/kdelibs-4.2.3/kparts/part.cpp:558
	ret = <value optimized out>
	args = {d = {d = 0x6f7880}}
#5  0x00007f700fad497e in Part::openUrl (this=0x7f70080008b0, url=@0x20750) at /var/tmp/portage/kde-base/okular-4.2.3/work/okular-4.2.3/okular/part.cpp:974
	openOk = <value optimized out>
#6  0x0000000000409825 in _start ()
No symbol table info available.
Comment 3 Brad Hards 2009-06-06 01:59:28 UTC
Thanks for reporting this bug. It does look similar to a previously reported bug (193542) which Pino fixed about 10 days ago.

The fix is in 4.2.4 (also in 4.2 branch) and in trunk. Can you try again with a more recent version of Okular, and see if still occurs for you?

Thanks again.

Brad
Comment 4 Oliver Putz 2009-06-06 08:24:22 UTC
Hi, its not trunk, but here is the backtrace for the crash from KDE-4.2.4. As the document from bug 193542 does not crash okular for me, this seems to really be another problem...

Starting program: /usr/bin/okular /home/oliver/tmp/scaletta_kde4.odt
[Thread debugging using libthread_db enabled]
[New Thread 0x7faa34f7a750 (LWP 21805)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7faa34f7a750 (LWP 21805)]
QBasicAtomicInt::operator= (this=0x0, value=1) at /usr/include/qt4/QtCore/qbasicatomic.h:87
87	        _q_value = value;
#0  QBasicAtomicInt::operator= (this=0x0, value=1) at /usr/include/qt4/QtCore/qbasicatomic.h:87
warning: (Internal error: pc 0x7faa28957814 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0x7faa28957814 in read in psymtab, but not in symtab.)

#1  0x00007faa28957815 in QVector (this=warning: (Internal error: pc 0x7faa289577f6 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0x7faa28957814 in read in psymtab, but not in symtab.)

0x7fff3cfb91e0, asize=-2147483648) at /usr/include/qt4/QtCore/qvector.h:389
#2  0x00007faa28955c78 in Okular::TextDocumentGenerator::loadDocument (this=<value optimized out>, fileName=<value optimized out>, pagesVector=@0x791ef8)
    at /var/tmp/portage/kde-base/okular-4.2.4/work/okular-4.2.4/okular/core/textdocumentgenerator.cpp:283
#3  0x00007faa2893caa7 in Okular::DocumentPrivate::openDocumentInternal (this=0x791dc0, offer=<value optimized out>, isstdin=false, docFile=@0x7fff3cfb9bd0, filedata=@0x7fff3cfb9770)
    at /var/tmp/portage/kde-base/okular-4.2.4/work/okular-4.2.4/okular/core/document.cpp:643
#4  0x00007faa28940d3c in Okular::Document::openDocument (this=0x798070, docFile=@0x7fff3cfb9bd0, url=<value optimized out>, _mime=<value optimized out>)
    at /var/tmp/portage/kde-base/okular-4.2.4/work/okular-4.2.4/okular/core/document.cpp:1593
#5  0x00007faa28bedf62 in Part::openFile (this=0x766280) at /var/tmp/portage/kde-base/okular-4.2.4/work/okular-4.2.4/okular/part.cpp:877
#6  0x00007faa34b7ac46 in KParts::ReadOnlyPart::openUrl (this=0x766280, url=@0x757b68) at /var/tmp/portage/kde-base/kdelibs-4.2.4/work/kdelibs-4.2.4/kparts/part.cpp:558
#7  0x00007faa28bef062 in Part::openUrl (this=0x0, url=@0x1) at /var/tmp/portage/kde-base/okular-4.2.4/work/okular-4.2.4/okular/part.cpp:974
#8  0x0000000000409856 in Shell::openUrl (this=0x757ad0, url=@0x757b68, page=0) at /var/tmp/portage/kde-base/okular-4.2.4/work/okular-4.2.4/okular/shell/shell.cpp:131
#9  0x0000000000409da2 in Shell::delayedOpen (this=0x757ad0) at /var/tmp/portage/kde-base/okular-4.2.4/work/okular-4.2.4/okular/shell/shell.cpp:114
#10 0x0000000000409e46 in Shell::qt_metacall (this=0x757ad0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff3cfba010)
    at /var/tmp/portage/kde-base/okular-4.2.4/work/okular-4.2.4_build/okular/shell/shell.moc:91
#11 0x00007faa3303c2d5 in QMetaObject::activate (sender=0xa18120, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3108
#12 0x00007faa33041d7f in QSingleShotTimer::timerEvent (this=0xa18120) at kernel/qtimer.cpp:298
#13 0x00007faa33036b43 in QObject::event (this=0xa18120, e=0x1) at kernel/qobject.cpp:1073
#14 0x00007faa322f234d in QApplicationPrivate::notify_helper (this=0x62b130, receiver=0xa18120, e=0x7fff3cfba6e0) at kernel/qapplication.cpp:4057
#15 0x00007faa322faf8e in QApplication::notify (this=0x7fff3cfba9b0, receiver=0xa18120, e=0x7fff3cfba6e0) at kernel/qapplication.cpp:4022
#16 0x00007faa33dafe7d in KApplication::notify (this=0x7fff3cfba9b0, receiver=0xa18120, event=0x7fff3cfba6e0)
    at /var/tmp/portage/kde-base/kdelibs-4.2.4/work/kdelibs-4.2.4/kdeui/kernel/kapplication.cpp:307
#17 0x00007faa3302692b in QCoreApplication::notifyInternal (this=0x7fff3cfba9b0, receiver=0xa18120, event=0x7fff3cfba6e0) at kernel/qcoreapplication.cpp:606
#18 0x00007faa33051f76 in QTimerInfoList::activateTimers (this=0x62e870) at kernel/qcoreapplication.h:213
#19 0x00007faa3304eb9d in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:164
#20 0x00007faa2ed0c614 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#21 0x00007faa2ed0e4d7 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#22 0x00007faa2ed0e5bd in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#23 0x00007faa3304eaff in QEventDispatcherGlib::processEvents (this=0x617800, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:324
#24 0x00007faa3238021f in QGuiEventDispatcherGlib::processEvents (this=0x0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#25 0x00007faa33025592 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 1023125792}) at kernel/qeventloop.cpp:149
#26 0x00007faa33025725 in QEventLoop::exec (this=0x7fff3cfba960, flags={i = 1023125872}) at kernel/qeventloop.cpp:196
#27 0x00007faa3302a3ee in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#28 0x0000000000408a84 in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/kde-base/okular-4.2.4/work/okular-4.2.4/okular/shell/main.cpp:81
Comment 5 Oliver Putz 2009-06-06 08:26:26 UTC
Created attachment 34314 [details]
bt full log for crash from bug 195308

A "bt full" log for this crash. If you want a valgrind log or anything else, just tell me...
Comment 6 Tobias Koenig 2009-06-06 11:34:31 UTC
Hej,

this bug has been fixed yesterday, should work now in trunk.
Okular does not always crash depending on whether debug mode is
enabled or not.
If enabled, an Q_ASSERT in QVector fails and terminates the
application, if debug is disabled Okular shows a white page or
throws a segfault.

Ciao,
Tobias
Comment 7 Diego 2009-07-02 11:29:12 UTC
I can confirm the fix as comment #6. Tested on KDE 4.3 RC1 on Fedora 10.