Summary: | Okular (chm file is open) crahsed when quit | ||
---|---|---|---|
Product: | [Applications] okular | Reporter: | julee <julee.vv> |
Component: | CHM backend | Assignee: | Okular developers <okular-devel> |
Status: | RESOLVED INTENTIONAL | ||
Severity: | crash | CC: | aacid, fabiodurso, julee.vv |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
julee
2011-09-28 11:23:51 UTC
Is this okular from git master? (In reply to comment #1) > Is this okular from git master? Yeah,i got okular's source from git today. The old version seems don't have this bug. Can you post a valgrind trace? valgrind okular myfile.chm (In reply to comment #3) > Can you post a valgrind trace? > valgrind okular myfile.chm Okular crashed when chm file is more larger.That chm file cause okular crash is 13.5M.For small chm file such as 300K,okular doesn't crash. This is valgrind okular large_file.chm 's output: ==9059== Memcheck, a memory error detector ==9059== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. ==9059== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info ==9059== Command: okular C++\ GUI\ Programming\ with\ Qt\ 4,\ Second\ Edition.chm ==9059== ==9059== Conditional jump or move depends on uninitialised value(s) ==9059== at 0x5F39D19: inflateReset2 (in /lib/i386-linux-gnu/libz.so.1.2.3.4) ==9059== by 0x5F39E0C: inflateInit2_ (in /lib/i386-linux-gnu/libz.so.1.2.3.4) ==9059== by 0x5F39E92: inflateInit_ (in /lib/i386-linux-gnu/libz.so.1.2.3.4) ==9059== by 0x61F97A4: png_create_read_struct_2 (in /lib/i386-linux-gnu/libpng12.so.0.44.0) ==9059== by 0x61F9989: png_create_read_struct (in /lib/i386-linux-gnu/libpng12.so.0.44.0) ==9059== by 0x4B1F8E3: QPngHandlerPrivate::readPngHeader() (qpnghandler.cpp:368) ==9059== by 0x4B2067F: QPngHandlerPrivate::readPngImage(QImage*) (qpnghandler.cpp:439) ==9059== by 0x4AECA47: QImageReader::read(QImage*) (qimagereader.cpp:1205) ==9059== by 0x4AED086: QImageReader::read() (qimagereader.cpp:1155) ==9059== by 0x4AE14BA: operator>>(QDataStream&, QImage&) (qimage.cpp:5204) ==9059== by 0x4AFD5B3: operator>>(QDataStream&, QPixmap&) (qpixmap.cpp:1329) ==9059== by 0x46B5FC7: KIconLoaderPrivate::findCachedPixmapWithPath(QString const&, QPixmap&, QString&) (kiconloader.cpp:876) ==9059== okular(9059) KXMLGUI::ActionList::plug: Index 15 is not within range (0 - 12 --9059-- WARNING: unhandled syscall: 340 --9059-- You may be able to write your own handler. --9059-- Read the file README_MISSING_SYSCALL_OR_IOCTL. --9059-- Nevertheless we consider this a bug. Please report --9059-- it at http://valgrind.org/support/bug_reports.html. --9059-- WARNING: unhandled syscall: 340 --9059-- You may be able to write your own handler. --9059-- Read the file README_MISSING_SYSCALL_OR_IOCTL. --9059-- Nevertheless we consider this a bug. Please report --9059-- it at http://valgrind.org/support/bug_reports.html. ==9059== Use of uninitialised value of size 4 ==9059== at 0xD6D68B0: LZXdecompress (in /usr/lib/libchm.so.1.0.0) ==9059== by 0xD6D39FF: chm_retrieve_object (in /usr/lib/libchm.so.1.0.0) ==9059== by 0xD706998: LCHMFileImpl::RetrieveObject(chmUnitInfo const*, unsigned char*, unsigned long long, long long) const (libchmfileimpl.cpp:549) ==9059== by 0xD711B63: LCHMFileImpl::getInfoFromWindows() (libchmfileimpl.cpp:692) ==9059== by 0xD712C75: LCHMFileImpl::loadFile(QString const&) (libchmfileimpl.cpp:102) ==9059== by 0xD705985: LCHMFile::loadFile(QString const&) (libchmfile.cpp:40) ==9059== by 0xD71A73B: CHMGenerator::loadDocument(QString const&, QVector<Okular::Page*>&) (generator_chm.cpp:88) ==9059== by 0x9D1F309: Okular::DocumentPrivate::openDocumentInternal(KSharedPtr<KService> const&, bool, QString const&, QByteArray const&) (document.cpp:675) ==9059== by 0x9D292C5: Okular::Document::openDocument(QString const&, KUrl const&, KSharedPtr<KMimeType> const&) (document.cpp:1632) ==9059== by 0x9C13452: Okular::Part::openFile() (part.cpp:971) ==9059== by 0x406D873: KParts::ReadOnlyPartPrivate::openLocalFile() (part.cpp:592) ==9059== by 0x406DF41: KParts::ReadOnlyPart::openUrl(KUrl const&) (part.cpp:556) ==9059== ==9059== Use of uninitialised value of size 4 ==9059== at 0xD6D6DA0: LZXdecompress (in /usr/lib/libchm.so.1.0.0) ==9059== by 0xD6D39FF: chm_retrieve_object (in /usr/lib/libchm.so.1.0.0) ==9059== by 0xD706998: LCHMFileImpl::RetrieveObject(chmUnitInfo const*, unsigned char*, unsigned long long, long long) const (libchmfileimpl.cpp:549) ==9059== by 0xD711FC9: LCHMFileImpl::getInfoFromWindows() (libchmfileimpl.cpp:719) ==9059== by 0xD712C75: LCHMFileImpl::loadFile(QString const&) (libchmfileimpl.cpp:102) ==9059== by 0xD705985: LCHMFile::loadFile(QString const&) (libchmfile.cpp:40) ==9059== by 0xD71A73B: CHMGenerator::loadDocument(QString const&, QVector<Okular::Page*>&) (generator_chm.cpp:88) ==9059== by 0x9D1F309: Okular::DocumentPrivate::openDocumentInternal(KSharedPtr<KService> const&, bool, QString const&, QByteArray const&) (document.cpp:675) ==9059== by 0x9D292C5: Okular::Document::openDocument(QString const&, KUrl const&, KSharedPtr<KMimeType> const&) (document.cpp:1632) ==9059== by 0x9C13452: Okular::Part::openFile() (part.cpp:971) ==9059== by 0x406D873: KParts::ReadOnlyPartPrivate::openLocalFile() (part.cpp:592) ==9059== by 0x406DF41: KParts::ReadOnlyPart::openUrl(KUrl const&) (part.cpp:556) ==9059== ==9059== Use of uninitialised value of size 4 ==9059== at 0xD6D68B0: LZXdecompress (in /usr/lib/libchm.so.1.0.0) ==9059== by 0xD6D373B: chm_retrieve_object (in /usr/lib/libchm.so.1.0.0) ==9059== by 0xD706998: LCHMFileImpl::RetrieveObject(chmUnitInfo const*, unsigned char*, unsigned long long, long long) const (libchmfileimpl.cpp:549) ==9059== by 0xD712540: LCHMFileImpl::fillTopicsUrlMap() (libchmfileimpl.cpp:1257) ==9059== by 0xD712D9B: LCHMFileImpl::loadFile(QString const&) (libchmfileimpl.cpp:113) ==9059== by 0xD705985: LCHMFile::loadFile(QString const&) (libchmfile.cpp:40) ==9059== by 0xD71A73B: CHMGenerator::loadDocument(QString const&, QVector<Okular::Page*>&) (generator_chm.cpp:88) ==9059== by 0x9D1F309: Okular::DocumentPrivate::openDocumentInternal(KSharedPtr<KService> const&, bool, QString const&, QByteArray const&) (document.cpp:675) ==9059== by 0x9D292C5: Okular::Document::openDocument(QString const&, KUrl const&, KSharedPtr<KMimeType> const&) (document.cpp:1632) ==9059== by 0x9C13452: Okular::Part::openFile() (part.cpp:971) ==9059== by 0x406D873: KParts::ReadOnlyPartPrivate::openLocalFile() (part.cpp:592) ==9059== by 0x406DF41: KParts::ReadOnlyPart::openUrl(KUrl const&) (part.cpp:556) ==9059== ==9059== Use of uninitialised value of size 4 ==9059== at 0xD6D68B0: LZXdecompress (in /usr/lib/libchm.so.1.0.0) ==9059== by 0xD6D39FF: chm_retrieve_object (in /usr/lib/libchm.so.1.0.0) ==9059== by 0xD706998: LCHMFileImpl::RetrieveObject(chmUnitInfo const*, unsigned char*, unsigned long long, long long) const (libchmfileimpl.cpp:549) ==9059== by 0xD7077FA: LCHMFileImpl::getFileContentAsBinary(QByteArray*, QString const&) const (libchmfileimpl.cpp:1126) ==9059== by 0xD707868: LCHMFileImpl::getFileContentAsString(QString*, QString const&, bool) (libchmfileimpl.cpp:1137) ==9059== by 0xD7104E0: LCHMFileImpl::parseFileAndFillArray(QString const&, QVector<LCHMParsedEntry>*, bool) (libchmfileimpl.cpp:947) ==9059== by 0xD705C45: LCHMFile::parseTableOfContents(QVector<LCHMParsedEntry>*) const (libchmfile.cpp:76) ==9059== by 0xD71A79F: CHMGenerator::loadDocument(QString const&, QVector<Okular::Page*>&) (generator_chm.cpp:96) ==9059== by 0x9D1F309: Okular::DocumentPrivate::openDocumentInternal(KSharedPtr<KService> const&, bool, QString const&, QByteArray const&) (document.cpp:675) ==9059== by 0x9D292C5: Okular::Document::openDocument(QString const&, KUrl const&, KSharedPtr<KMimeType> const&) (document.cpp:1632) ==9059== by 0x9C13452: Okular::Part::openFile() (part.cpp:971) ==9059== by 0x406D873: KParts::ReadOnlyPartPrivate::openLocalFile() (part.cpp:592) ==9059== okular(9059)/okular (app) Okular::DocumentPrivate::sendGeneratorRequest: Running out of memory on page 124 (1052x22407 px); okular(9059)/okular (app) Okular::DocumentPrivate::sendGeneratorRequest: this message will be reported only once. okular(9059)/kdeui (kdelibs) KXMLGUIClient::~KXMLGUIClient: 0x987ca14 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes. ==9059== ==9059== HEAP SUMMARY: ==9059== in use at exit: 609,844 bytes in 11,833 blocks ==9059== total heap usage: 17,257,922 allocs, 17,246,089 frees, 2,602,343,798 bytes allocated ==9059== ==9059== LEAK SUMMARY: ==9059== definitely lost: 11,956 bytes in 1,227 blocks ==9059== indirectly lost: 164,704 bytes in 1,242 blocks ==9059== possibly lost: 4,952 bytes in 26 blocks ==9059== still reachable: 428,232 bytes in 9,338 blocks ==9059== suppressed: 0 bytes in 0 blocks ==9059== Rerun with --leak-check=full to see details of leaked memory ==9059== ==9059== For counts of detected and suppressed errors, rerun with: -v ==9059== Use --track-origins=yes to see where uninitialised values come from ==9059== ERROR SUMMARY: 78 errors from 5 contexts (suppressed: 285 from 15) Did it crash when running thorugh valgrind? The log seems to indicate it did not (In reply to comment #5) > Did it crash when running thorugh valgrind? The log seems to indicate it did > not No,it doesn't crash thorugh valgrind. But for the same file,it doesn't run throught valgrind,okular crash every time. Works fine here when using file with md5sum 4fd80c7f20fba9ca03e00d06be39570c C++ GUI Programming with Qt 4, Second Edition.chm Are you closing Okular after or before the first page is displayed? (In reply to comment #7) > Works fine here when using file with md5sum > 4fd80c7f20fba9ca03e00d06be39570c C++ GUI Programming with Qt 4, Second > Edition.chm > > Are you closing Okular after or before the first page is displayed? I close Okular after the first page is displayed.I alse viewed the file for some time. I alse tried some other chm file ,one file 13.5M (crahed),one file 8.6M(crahed),one file 2.2M(doesn't crash). I removed all config-related file in .kde,the result is the same. Without being able to reproduce it and valgrind giving no info about it, it is quite difficult or almost impossible to think, also your build seems to be somewhat broken since there are things like #18 0x03de21f8 in Okular::Part::~Part (this=0x825f438, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /home/uli/bin/kde4/okular/part.cpp:655 #19 0x03de2272 in Okular::Part::~Part (this=0x825f438, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /home/uli/bin/kde4/okular/part.cpp:680 In the backtrace implying that part.cpp line 680 calls line 655 of part.cpp which is totally impossible. Which compile options do you use for compiling okular? (In reply to comment #9) > Without being able to reproduce it and valgrind giving no info about it, it is > quite difficult or almost impossible to think, also your build seems to be > somewhat broken since there are things like > > #18 0x03de21f8 in Okular::Part::~Part (this=0x825f438, __in_chrg=<value > optimized out>, __vtt_parm=<value optimized out>) at > /home/uli/bin/kde4/okular/part.cpp:655 > #19 0x03de2272 in Okular::Part::~Part (this=0x825f438, __in_chrg=<value > optimized out>, __vtt_parm=<value optimized out>) at > /home/uli/bin/kde4/okular/part.cpp:680 > > In the backtrace implying that part.cpp line 680 calls line 655 of part.cpp > which is totally impossible. > > Which compile options do you use for compiling okular? just cmake .. -DCMAKE_INSTALL_PREFIX=$(kde4-config --prefix) make sudo make install Can you try with Okular >= 0.19.0 (KDE >= 4.13.0), can you still reproduce this issue? Thanks for caring about Okular :) No answer from reporter |