Bug 157090

Summary: Not correct document makes Okular crash
Product: [Applications] okular Reporter: Ian Ventura-Whiting <ian>
Component: PDF backendAssignee: Okular developers <okular-devel>
Status: RESOLVED FIXED    
Severity: crash CC: Regnaron
Priority: NOR    
Version: 0.6   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ian Ventura-Whiting 2008-02-01 17:28:41 UTC
Version:           0.6 (using KDE 4.0.0)
Installed from:    Gentoo Packages
Compiler:          gcc version 4.2.2 (Gentoo 4.2.2 p1.0) -O2 -march=nocona -fomit-frame-pointer -pipe
OS:                Linux

I think the description says it all. An example document would be:

ftp://ftp.hp.com/pub/networking/software/6200-5400-3500-CLI-k1201-Feb2007.pdf
Comment 1 Oliver Putz 2008-02-01 20:06:05 UTC
I can confirm this bug. My backtrace is:

Starting program: /usr/kde/svn/bin/okular /home/kdesvn/6200-5400-3500-CLI-k1201-Feb2007.pdf
[Thread debugging using libthread_db enabled]
[New Thread 0xb6500990 (LWP 12537)]
[New Thread 0xb35d8b90 (LWP 14125)]
[Thread 0xb35d8b90 (LWP 14125) exited]
[New Thread 0xb35d8b90 (LWP 14138)]
[New Thread 0xb2dbbb90 (LWP 14142)]
[New Thread 0xb25bab90 (LWP 14143)]
[Thread 0xb2dbbb90 (LWP 14142) exited]
[Thread 0xb35d8b90 (LWP 14138) exited]
[New Thread 0xb35d8b90 (LWP 14145)]
[Thread 0xb25bab90 (LWP 14143) exited]
[Thread 0xb35d8b90 (LWP 14145) exited]
[New Thread 0xb35d8b90 (LWP 17108)]
[New Thread 0xb25bab90 (LWP 17109)]
[Thread 0xb35d8b90 (LWP 17108) exited]
[Thread 0xb25bab90 (LWP 17109) exited]
[New Thread 0xb25bab90 (LWP 17110)]
[New Thread 0xb35d8b90 (LWP 17111)]
[Thread 0xb25bab90 (LWP 17110) exited]

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb35d8b90 (LWP 17111)]
0xffffe410 in __kernel_vsyscall ()
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb672c1f1 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb672d9b8 in *__GI_abort () at abort.c:88
#3  0xb6768b78 in malloc_printerr (action=2, str=0xb6814ee4 "free(): invalid pointer", ptr=0x42d7) at malloc.c:5892
#4  0xb676a7e5 in *__GI___libc_free (mem=0x87f7438) at malloc.c:3586
#5  0xb6919011 in operator delete () from /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6
#6  0xb691906d in operator delete[] () from /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6
#7  0xb387b820 in GfxCIDFont::getCodeToGIDMap (this=0x8594e40, ff=0x87e6fe8, mapsizep=0xb35d7bd0) at GfxFont.cc:1783
#8  0xb3853e86 in SplashOutputDev::doUpdateFont (this=0x87985f8, state=0x867e298) at SplashOutputDev.cc:1124
#9  0xb3853fda in SplashOutputDev::drawChar (this=0x87985f8, state=0x867e298, x=36, y=50.640000000000001, 
    dx=6.0781279999999995, dy=0, originX=0, originY=0, code=139, nBytes=2, u=0xb35d7d54, uLen=1) at SplashOutputDev.cc:1277
#10 0xb3874c37 in Gfx::doShowText (this=0x8597698, s=0x8539498) at Gfx.cc:3290
#11 0xb387509f in Gfx::opShowText (this=0x8597698, args=0xb35d7ea4, numArgs=1) at Gfx.cc:3077
#12 0xb3872e39 in Gfx::execOp (this=0x8597698, cmd=0xb35d8030, args=0xb35d7ea4, numArgs=<value optimized out>) at Gfx.cc:726
#13 0xb3872f6e in Gfx::go (this=0x8597698, topLevel=1) at Gfx.cc:594
#14 0xb38733c7 in Gfx::display (this=0x8597698, obj=0xb35d80bc, topLevel=1) at Gfx.cc:557
#15 0xb38a5d8c in Page::displaySlice (this=0x825f4e8, out=0x87985f8, hDPI=5.7647058823529411, vDPI=5.7272727272727275, 
    rotate=0, useMediaBox=0, crop=1, sliceX=-1, sliceY=-1, sliceW=-1, sliceH=-1, printing=0, catalog=0x825d1a8, 
    abortCheckCbk=0, abortCheckCbkData=0x0, annotDisplayDecideCbk=0, annotDisplayDecideCbkData=0x0) at Page.cc:406
#16 0xb38a7bd1 in PDFDoc::displayPageSlice (this=0x825c838, out=0x87985f8, page=4, hDPI=5.7647058823529411, 
    vDPI=5.7272727272727275, rotate=0, useMediaBox=0, crop=1, printing=0, sliceX=-1, sliceY=-1, sliceW=-1, sliceH=-1, 
    abortCheckCbk=0, abortCheckCbkData=0x0, annotDisplayDecideCbk=0, annotDisplayDecideCbkData=0x0) at PDFDoc.cc:396
#17 0xb37d2a92 in Poppler::Page::renderToImage () from /usr/lib/libpoppler-qt4.so.2
#18 0xb398c7c1 in PDFPixmapGeneratorThread::run (this=0x81083f8)
    at /var/tmp/portage/kde-base/kdegraphics-9999.4/work/kdegraphics-9999.4/okular/generators/poppler/generator_pdf.cpp:1769
#19 0xb7dcb5de in QThreadPrivate::start (arg=0x81083f8) at thread/qthread_unix.cpp:179
#20 0xb7d5b18b in start_thread (arg=0xb35d8b90) at pthread_create.c:296
#21 0xb67c435e in clone () from /lib/libc.so.6

The last thing okular prints to the console is:
[New Thread 0xb35d8b90 (LWP 17111)]
[Thread 0xb25bab90 (LWP 17110) exited]
Error: Unknown character collection Adobe-
Comment 2 Albert Astals Cid 2008-02-01 22:57:32 UTC
nothing to do with page size, the document is just not technically correct, we just need to add some more guards
Comment 3 Albert Astals Cid 2008-02-01 23:42:47 UTC
Will be fixed on next poppler release (what okular uses to render pdf)