Bug 247300 - Okular crashed on a g3 file produced by Ghostscript
Summary: Okular crashed on a g3 file produced by Ghostscript
Status: RESOLVED FIXED
Alias: None
Product: okular
Classification: Applications
Component: Fax backend (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-10 23:35 UTC by Christopher Yeleighton
Modified: 2010-08-11 01:10 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.5.1


Attachments
the offending file (38.28 KB, image/fax-g3)
2010-08-10 23:37 UTC, Christopher Yeleighton
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher Yeleighton 2010-08-10 23:35:22 UTC
Application that crashed: okular
Version of the application: 0.9.5
KDE Version: 4.3.5 (KDE 4.3.5) "release 0"
Qt Version: 4.5.3
Operating System: Linux 2.6.31.12-0.2-desktop x86_64
Distribution: "openSUSE 11.2 (x86_64)"

What I was doing when the application crashed:
I printed a mail message from KMail to Postscript and converted it to g3 using the command
gs -sDEVICE=dfaxhigh -sOutputFile=/tmp/fax.g3.%d ./print.ps
Then I renamed /tmp/fax.g3.1 to  /tmp/fax.g3 and opened it from Dolphin.

 -- Backtrace:
Application: Okular (okular), signal: Aborted
[KCrash Handler]
#5  0x00007f1c0e77f4e5 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007f1c0e7809b0 in abort () at abort.c:88
#7  0x00007f1c0e7ba66d in __libc_message (do_abort=2, 
    fmt=0x7fff7ad81730 "l_PL.utf8/LC_TELEPHONE\n7f1c11385000-7f1c11386000 r--p 00000000 08:06 133951", ' ' <repeats 21 times>, "/usr/lib/locale/pl_PL.utf8/LC_MEASUREMENT\n7f1c11386000-7f1c1138d000 r--s 00000000 08:06 268542          "...) at ../sysdeps/unix/sysv/linux/libc_fatal.c:170
#8  0x00007f1c0e7bfc76 in malloc_printerr (action=3, str=0x7f1c0e86c6f7 "free(): invalid pointer", ptr=<value optimized out>) at malloc.c:6239
#9  0x00007f1c0e7c496c in __libc_free (mem=<value optimized out>) at malloc.c:3738
#10 0x00007f1c04328e0a in FaxDocument::~FaxDocument (this=0x7fff7ad81f40, __in_chrg=<value optimized out>) at /usr/src/debug/kdegraphics-4.3.5/okular/generators/fax/faxdocument.cpp:255
#11 0x00007f1c04328183 in FaxGenerator::loadDocument (this=0x92e180, fileName=..., pagesVector=<value optimized out>) at /usr/src/debug/kdegraphics-4.3.5/okular/generators/fax/generator_fax.cpp:82
#12 0x00007f1c06e4e1c7 in Okular::DocumentPrivate::openDocumentInternal (this=0x775e90, offer=<value optimized out>, isstdin=false, docFile=..., filedata=...)
    at /usr/src/debug/kdegraphics-4.3.5/okular/core/document.cpp:644
#13 0x00007f1c06e5baa3 in Okular::Document::openDocument (this=0x76e540, docFile=..., url=<value optimized out>, _mime=<value optimized out>)
    at /usr/src/debug/kdegraphics-4.3.5/okular/core/document.cpp:1630
#14 0x00007f1c071103bc in Okular::Part::openFile (this=0x70b2b0) at /usr/src/debug/kdegraphics-4.3.5/okular/part.cpp:924
#15 0x00007f1c10f4bbf7 in KParts::ReadOnlyPart::openUrl(KUrl const&) () from /usr/lib64/libkparts.so.4
#16 0x00007f1c0710484a in Okular::Part::openUrl (this=0x70b2b0, _url=<value optimized out>) at /usr/src/debug/kdegraphics-4.3.5/okular/part.cpp:1043
#17 0x0000000000409caa in Shell::openUrl (this=0x6eeb00, url=...) at /usr/src/debug/kdegraphics-4.3.5/okular/shell/shell.cpp:156
#18 0x000000000040a3fc in Shell::qt_metacall (this=0x6eeb00, _c=InvokeMetaMethod, _id=6, _a=0x7fff7ad82da0) at /usr/src/debug/kdegraphics-4.3.5/build/okular/shell/shell.moc:88
#19 0x00007f1c0fa9dfbc in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#20 0x00007f1c0faa2fff in ?? () from /usr/lib64/libQtCore.so.4
#21 0x00007f1c0fa97f63 in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#22 0x00007f1c0ef542ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#23 0x00007f1c0ef5b57e in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#24 0x00007f1c10674016 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#25 0x00007f1c0fa88ddc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#26 0x00007f1c0fab471d in ?? () from /usr/lib64/libQtCore.so.4
#27 0x00007f1c0fab1654 in ?? () from /usr/lib64/libQtCore.so.4
#28 0x00007f1c0af4fdee in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#29 0x00007f1c0af537b8 in ?? () from /usr/lib64/libglib-2.0.so.0
#30 0x00007f1c0af538e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#31 0x00007f1c0fab13a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#32 0x00007f1c0efe731e in ?? () from /usr/lib64/libQtGui.so.4
#33 0x00007f1c0fa87712 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#34 0x00007f1c0fa87ae4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#35 0x00007f1c0fa89c99 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#36 0x000000000040896c in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdegraphics-4.3.5/okular/shell/main.cpp:81
Warning: the current language does not match this frame.
The current source language is "auto; currently c".

Reported using DrKonqi
Comment 1 Christopher Yeleighton 2010-08-10 23:37:38 UTC
Created attachment 49984 [details]
the offending file
Comment 2 Christopher Yeleighton 2010-08-10 23:39:36 UTC
GIMP has no problem with this file
Comment 3 Pino Toscano 2010-08-10 23:51:53 UTC
Hm, a double free or similar, it'd seem.
Comment 4 Pino Toscano 2010-08-11 01:07:05 UTC
SVN commit 1161849 by pino:

save the original "data" pointer and delete[] the copy
this way, if we move "data" (for ghostscript/PC research faxes -- see FAXMAGIC) we are always sure to free the right memory buffer
CCBUG: 247300


 M  +4 -1      faxdocument.cpp  
 M  +1 -0      faxexpand.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1161849
Comment 5 Pino Toscano 2010-08-11 01:10:25 UTC
SVN commit 1161850 by pino:

save the original "data" pointer and delete[] the copy
this way, if we move "data" (for ghostscript/PC research faxes -- see FAXMAGIC) we are always sure to free the right memory buffer
BUG: 247300
FIXED-IN: 4.5.1


 _M            . (directory)  
 M  +4 -1      generators/fax/faxdocument.cpp  
 M  +1 -0      generators/fax/faxexpand.h  


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