[Poppler-bugs] [Bug 20587] New: pdftotext crashed with SIGSEGV in OCGs:: optContentIsVisible()

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Mar 10 14:42:53 PDT 2009


http://bugs.freedesktop.org/show_bug.cgi?id=20587

           Summary: pdftotext crashed with SIGSEGV in
                    OCGs::optContentIsVisible()
           Product: poppler
           Version: unspecified
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: general
        AssignedTo: poppler-bugs at lists.freedesktop.org
        ReportedBy: seb128 at ubuntu.com


the bug has been opened on https://bugs.launchpad.net/bugs/339160

"pdftotext crashes when being used by beagle for indexing.

poppler-utils 0.10.4-0ubuntu1

pdftotext -q -nopgbrk -enc UTF-8 /home/username/Library/Random\ Mixture\ -\
Some\ Good/The\ Cambridge\ Companion\ to\ the\ Gospels.pdf -

#0  OCGs::optContentIsVisible (this=0x0, dictRef=0x7fff1a2954b0)
    at OptionalContent.cc:174
        dictObj = {type = 19838504, {booln = 0, intg = 0, real = 0, 
    string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {
      num = 0, gen = 0}, cmd = 0x0}}
        dict = <value optimized out>
        dictType = {type = objNone, {booln = 0, intg = 0, real = 0, 
    string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {
      num = 0, gen = 0}, cmd = 0x0}}
        ocg = {type = objNone, {booln = 0, intg = 0, real = 0, string = 0x0, 
    name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, 
      gen = 0}, cmd = 0x0}}
        policy = {type = objNone, {booln = 0, intg = 0, real = 0, 
    string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {
      num = 0, gen = 0}, cmd = 0x0}}
        result = <value optimized out>
#1  0x00007f9411d55a1b in Gfx::opXObject (this=0x1307b00, 
    args=<value optimized out>, numArgs=<value optimized out>) at Gfx.cc:3506
        name = 0x12eb530 "Fm0"
        obj1 = {type = objStream, {booln = 20215744, intg = 20215744, 
    real = 9.9879046155213048e-317, string = 0x13477c0, 
    name = 0x13477c0 "\020õ\004\022\224\177", array = 0x13477c0, 
    dict = 0x13477c0, stream = 0x13477c0, ref = {num = 20215744, gen = 0}, 
    cmd = 0x13477c0 "\020õ\004\022\224\177"}}
        obj2 = {type = objRef, {booln = 170, intg = 170, 
    real = 8.3991159793011913e-322, string = 0xaa, 
    name = 0xaa <Address 0xaa out of bounds>, array = 0xaa, dict = 0xaa, 
    stream = 0xaa, ref = {num = 170, gen = 0}, 
    cmd = 0xaa <Address 0xaa out of bounds>}}
        obj3 = {type = objNone, {booln = 0, intg = 0, real = 0, string = 0x0, 
    name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, 
      gen = 0}, cmd = 0x0}}
        refObj = {type = objNone, {booln = 0, intg = 0, real = 0, 
    string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {
      num = 0, gen = 0}, cmd = 0x0}}
        opiDict = {type = objNone, {booln = 0, intg = 0, real = 0, 
    string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {
      num = 0, gen = 0}, cmd = 0x0}}
#2  0x00007f9411d45a8d in Gfx::go (this=0x1307b00, topLevel=1) at Gfx.cc:642
        timer = {start_time = {tv_sec = 1236432205, tv_usec = 922358}, 
  end_time = {tv_sec = 140273907096064, tv_usec = 19203440}, active = 1}
        obj = {type = objCmd, {booln = 18979728, intg = 18979728, 
    real = 9.3772315722111906e-317, string = 0x1219b90, 
    name = 0x1219b90 "Do", array = 0x1219b90, dict = 0x1219b90, 
    stream = 0x1219b90, ref = {num = 18979728, gen = 0}, 
    cmd = 0x1219b90 "Do"}}
        args = {{type = objName, {booln = 19838256, intg = 19838256, 
      real = 9.8014007630039843e-317, string = 0x12eb530, 
      name = 0x12eb530 "Fm0", array = 0x12eb530, dict = 0x12eb530, 
      stream = 0x12eb530, ref = {num = 19838256, gen = 0}, 
      cmd = 0x12eb530 "Fm0"}}, {type = objNone, {booln = 0, intg = 0, 
      real = 0, string = 0x0, name = 0x0, array = 0x0, dict = 0x0, 
      stream = 0x0, ref = {num = 0, gen = 0}, cmd = 0x0}}, {type = objNone, {
      booln = 0, intg = 0, real = 0, string = 0x0, name = 0x0, array = 0x0, 
      dict = 0x0, stream = 0x0, ref = {num = 0, gen = 0}, cmd = 0x0}}, {
    type = objNone, {booln = 1, intg = 1, real = 4.9406564584124654e-324, 
      string = 0x1, name = 0x1 <Address 0x1 out of bounds>, array = 0x1, 
      dict = 0x1, stream = 0x1, ref = {num = 1, gen = 0}, 
      cmd = 0x1 <Address 0x1 out of bounds>}}, {type = objNone, {
      booln = 400717015, intg = 400717015, real = -0.023010300000000008, 
      string = 0xbf97900317e274d7, 
      name = 0xbf97900317e274d7 <Address 0xbf97900317e274d7 out of bounds>, 
      array = 0xbf97900317e274d7, dict = 0xbf97900317e274d7, 
      stream = 0xbf97900317e274d7, ref = {num = 400717015, 
        gen = -1080586237}, 
      cmd = 0xbf97900317e274d7 <Address 0xbf97900317e274d7 out of bounds>}}, {
    type = objNone, {booln = 16272772, intg = 16272772, real = 13.7055054, 
      string = 0x402b693800f84d84, 
      name = 0x402b693800f84d84 <Address 0x402b693800f84d84 out of bounds>, 
      array = 0x402b693800f84d84, dict = 0x402b693800f84d84, 
      stream = 0x402b693800f84d84, ref = {num = 16272772, gen = 1076586808}, 
      cmd = 0x402b693800f84d84 <Address 0x402b693800f84d84 out of bounds>}}, {
    type = objNone, {booln = 0, intg = 0, real = 0, string = 0x0, name = 0x0, 
      array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, gen = 0}, 
      cmd = 0x0}}, {type = objNone, {booln = 0, intg = 0, real = 0, 
      string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {
        num = 0, gen = 0}, cmd = 0x0}}, {type = objNone, {booln = 0, 
      intg = 0, real = 0, string = 0x0, name = 0x0, array = 0x0, dict = 0x0, 
      stream = 0x0, ref = {num = 0, gen = 0}, cmd = 0x0}}, {type = objNone, {
      booln = 0, intg = 0, real = 0, string = 0x0, name = 0x0, array = 0x0, 
      dict = 0x0, stream = 0x0, ref = {num = 0, gen = 0}, cmd = 0x0}}, {
    type = objNone, {booln = 0, intg = 0, real = 0, string = 0x0, name = 0x0, 
      array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, gen = 0}, 
      cmd = 0x0}}, {type = objNone, {booln = 0, intg = 0, real = 0, 
      string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {
        num = 0, gen = 0}, cmd = 0x0}}, {type = objNone, {booln = 0, 
      intg = 0, real = 0, string = 0x0, name = 0x0, array = 0x0, dict = 0x0, 
      stream = 0x0, ref = {num = 0, gen = 0}, cmd = 0x0}}, {type = objNone, {
      booln = 0, intg = 0, real = 0, string = 0x0, name = 0x0, array = 0x0, 
      dict = 0x0, stream = 0x0, ref = {num = 0, gen = 0}, cmd = 0x0}}, {
    type = objNone, {booln = 0, intg = 0, real = 0, string = 0x0, name = 0x0, 
      array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, gen = 0}, 
      cmd = 0x0}}, {type = objNone, {booln = 0, intg = 0, real = 0, 
      string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {
        num = 0, gen = 0}, cmd = 0x0}}, {type = objNone, {booln = 0, 
      intg = 0, real = 0, string = 0x0, name = 0x0, array = 0x0, dict = 0x0, 
      stream = 0x0, ref = {num = 0, gen = 0}, cmd = 0x0}}, {type = objNone, {
      booln = 0, intg = 0, real = 0, string = 0x0, name = 0x0, array = 0x0, 
      dict = 0x0, stream = 0x0, ref = {num = 0, gen = 0}, 
      cmd = 0x0}} <repeats 16 times>}
        numArgs = 1
        i = 1
        lastAbortCheck = 0
#3  0x00007f9411d49fb6 in Gfx::display (this=0x1307b00, obj=0x7fff1a295870, 
    topLevel=1) at Gfx.cc:611
        obj2 = {type = objNone, {booln = 0, intg = 0, real = 0, string = 0x0, 
    name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, 
      gen = 0}, cmd = 0x0}}
        i = <value optimized out>
#4  0x00007f9411d8c7b0 in Page::displaySlice (this=0x121dd80, out=0x12191b0, 
    hDPI=72, vDPI=72, rotate=<value optimized out>, 
    useMediaBox=<value optimized out>, crop=0, sliceX=-1, sliceY=-1, 
    sliceW=-1, sliceH=-1, printing=0, catalog=0x1218bf0, abortCheckCbk=0, 
    abortCheckCbkData=0x0, annotDisplayDecideCbk=0, 
    annotDisplayDecideCbkData=0x0) at Page.cc:442
        gfx = (Gfx *) 0x1307b00
        obj = {type = objStream, {booln = 19954704, intg = 19954704, 
    real = 9.8589337193309058e-317, string = 0x1307c10, 
    name = 0x1307c10 "Ðî\004\022\224\177", array = 0x1307c10, 
    dict = 0x1307c10, stream = 0x1307c10, ref = {num = 19954704, gen = 0}, 
    cmd = 0x1307c10 "Ðî\004\022\224\177"}}
        annotList = <value optimized out>
        i = <value optimized out>
#5  0x00007f9411d8c84d in Page::display (this=0x0, out=0x7fff1a2954b0, 
    hDPI=0, vDPI=0.010000000000000002, rotate=299841000, useMediaBox=-1, 
    crop=20214336, printing=<value optimized out>, catalog=0x1218bf0, 
    abortCheckCbk=0, abortCheckCbkData=0x0, annotDisplayDecideCbk=0, 
    annotDisplayDecideCbkData=0x0) at Page.cc:371
No locals.
#6  0x00007f9411d8fab2 in PDFDoc::displayPages (this=0x1218750, 
    out=0x12191b0, firstPage=<value optimized out>, lastPage=300, hDPI=72, 
    vDPI=72, rotate=0, useMediaBox=1, crop=0, printing=0, abortCheckCbk=0, 
    abortCheckCbkData=0x0, annotDisplayDecideCbk=0, 
    annotDisplayDecideCbkData=0x0) at PDFDoc.cc:406
        page = 13
#7  0x000000000040229a in main (argc=3, argv=<value optimized out>)
    at pdftotext.cc:276
        doc = (PDFDoc *) 0x1218750
        fileName = <value optimized out>
        textFileName = <value optimized out>
        ownerPW = <value optimized out>
        userPW = <value optimized out>
        textOut = (class TextOutputDev *) 0x12191b0
        f = <value optimized out>
        uMap = (UnicodeMap *) 0x1218500
        info = {type = objNone, {booln = 0, intg = 0, real = 0, string = 0x0, 
    name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, 
      gen = 0}, cmd = 0x0}}
        ok = <value optimized out>
        p = <value optimized out>
        exitCode = <value optimized out>

http://launchpadlibrarian.net/23734732/The%20Cambridge%20Companion%20to%20the%20Gospels.pdf

As requested the pdf that caused the crash. This actually happened with a
couple of other files too, but I didn't keep a record of which. If I get time
I'll re-index with beagle to see if the same thing happens and which additional
files caused it."


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Poppler-bugs mailing list