Bug#581619: evince: Repeated crashing with various PDFs, fully reproducible

Tom Parker palfrey at tevp.net
Fri May 14 10:47:37 UTC 2010


Package: evince
Version: 2.30.1-2
Severity: normal

Using the pdf at http://bit.ly/9c6Y8Z I can make evince reliably crash.
Open the document, page through the entire thing, and evince typically
crashes after one run through the document...

evince: /tmp/buildd/cairo-1.9.6/src/cairo-pattern.c:831: cairo_pattern_destroy: Assertion `((*&(&pattern->ref_count)->ref_count) > 0)' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffea1de910 (LWP 13406)]
0x00007ffff355df45 in raise () from /lib/libc.so.6
(gdb) bt full
#0  0x00007ffff355df45 in raise () from /lib/libc.so.6
No symbol table info available.
#1  0x00007ffff3560d80 in abort () from /lib/libc.so.6
No symbol table info available.
#2  0x00007ffff355708a in __assert_fail () from /lib/libc.so.6
No symbol table info available.
#3  0x00007ffff607030f in cairo_pattern_destroy () from /usr/lib/libcairo.so.2
No symbol table info available.
#4  0x00007fffe95a6ce8 in CairoOutputDev::updateStrokeColor (this=0x9dec00, state=<value optimized out>) at CairoOutputDev.cc:436
No locals.
#5  0x00007fffe95a6dd7 in CairoOutputDev::restoreState (this=0x9dec00, state=0x7fffe4d0d0c0) at CairoOutputDev.cc:266
        ms = <value optimized out>
#6  0x00007fffe8d246ef in Gfx::go (this=0x7fffe40b8cd0, topLevel=<value optimized out>) at Gfx.cc:663
        timer = {start_time = {tv_sec = 1273833693, tv_usec = 546000}, end_time = {tv_sec = 140737019391984, tv_usec = 140737099749422}, active = 1}
        obj = {type = objCmd, {booln = -468489120, intg = -468489120, real = 6.9533326613970401e-310, string = 0x7fffe4136c60, name = 0x7fffe4136c60 "Q", array = 0x7fffe4136c60, 
            dict = 0x7fffe4136c60, stream = 0x7fffe4136c60, ref = {num = -468489120, gen = 32767}, cmd = 0x7fffe4136c60 "Q"}}
        numArgs = 0
        i = 2
        lastAbortCheck = 0
        args = {{type = objNone, {booln = 1334532238, intg = 1334532238, real = -1.60547, string = 0xbff9b0014f8b588e, name = 0xbff9b0014f8b588e <Address 0xbff9b0014f8b588e out of bounds>, 
              array = 0xbff9b0014f8b588e, dict = 0xbff9b0014f8b588e, stream = 0xbff9b0014f8b588e, ref = {num = 1334532238, gen = -1074155519}, 
              cmd = 0xbff9b0014f8b588e <Address 0xbff9b0014f8b588e out of bounds>}}, {type = objNone, {booln = 2061584302, intg = 2061584302, real = 5239.0799999999999, 
              string = 0x40b477147ae147ae, name = 0x40b477147ae147ae <Address 0x40b477147ae147ae out of bounds>, array = 0x40b477147ae147ae, dict = 0x40b477147ae147ae, 
              stream = 0x40b477147ae147ae, ref = {num = 2061584302, gen = 1085568788}, cmd = 0x40b477147ae147ae <Address 0x40b477147ae147ae out of bounds>}}, {type = objNone, {
              booln = -2043167481, intg = -2043167481, real = 0.69921900000000015, string = 0x3fe660008637bd07, name = 0x3fe660008637bd07 <Address 0x3fe660008637bd07 out of bounds>, 
              array = 0x3fe660008637bd07, dict = 0x3fe660008637bd07, stream = 0x3fe660008637bd07, ref = {num = -2043167481, gen = 1072062464}, 
              cmd = 0x3fe660008637bd07 <Address 0x3fe660008637bd07 out of bounds>}}, {type = objNone, {booln = 206158429, intg = 206158429, real = 203.21899999999997, 
              string = 0x406967020c49ba5d, name = 0x406967020c49ba5d <Address 0x406967020c49ba5d out of bounds>, array = 0x406967020c49ba5d, dict = 0x406967020c49ba5d, 
              stream = 0x406967020c49ba5d, ref = {num = 206158429, gen = 1080649474}, cmd = 0x406967020c49ba5d <Address 0x406967020c49ba5d out of bounds>}}, {type = objNone, {
              booln = -515396076, intg = -515396076, real = 3580.7399999999998, string = 0x40abf97ae147ae14, name = 0x40abf97ae147ae14 <Address 0x40abf97ae147ae14 out of bounds>, 
              array = 0x40abf97ae147ae14, dict = 0x40abf97ae147ae14, stream = 0x40abf97ae147ae14, ref = {num = -515396076, gen = 1085012346}, 
              cmd = 0x40abf97ae147ae14 <Address 0x40abf97ae147ae14 out of bounds>}}, {type = objNone, {booln = 309237646, intg = 309237646, real = 150.89100000000002, 
              string = 0x4062dc83126e978e, name = 0x4062dc83126e978e <Address 0x4062dc83126e978e out of bounds>, array = 0x4062dc83126e978e, dict = 0x4062dc83126e978e, 
              stream = 0x4062dc83126e978e, ref = {num = 309237646, gen = 1080220803}, cmd = 0x4062dc83126e978e <Address 0x4062dc83126e978e 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}}, {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}}, {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}}}
#7  0x00007fffe8d27944 in Gfx::display (this=0x7fffe40b8cd0, obj=0x7fffea1ddda0, topLevel=1) at Gfx.cc:632
        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>
#8  0x00007fffe8d6fc50 in Page::displaySlice (this=0x7fffe40254a0, out=0x9dec00, hDPI=<value optimized out>, vDPI=<value optimized out>, rotate=<value optimized out>, 
    useMediaBox=<value optimized out>, crop=<value optimized out>, sliceX=0, sliceY=0, sliceW=100, sliceH=75, printing=0, catalog=0x7fffe4015780, abortCheckCbk=0, abortCheckCbkData=0x0, 
    annotDisplayDecideCbk=0, annotDisplayDecideCbkData=0x0) at Page.cc:474
        gfx = 0x7fffe40b8cd0
        obj = {type = objStream, {booln = -468088304, intg = -468088304, real = 6.9533326811999817e-310, string = 0x7fffe4198a10, name = 0x7fffe4198a10 "\360J\003\351\377\177", 
            array = 0x7fffe4198a10, dict = 0x7fffe4198a10, stream = 0x7fffe4198a10, ref = {num = -468088304, gen = 32767}, cmd = 0x7fffe4198a10 "\360J\003\351\377\177"}}
        i = <value optimized out>
#9  0x00007fffe959ff29 in _poppler_page_render_to_pixbuf (page=0x93f2c0, src_x=<value optimized out>, src_y=0, src_width=100, src_height=75, scale=<value optimized out>, rotation=0, 
    printing=0, pixbuf=0x9cb540) at poppler-page.cc:778
        data = {
          cairo_data = 0x7fffe4191340 "\270PP\377\267QQ\377\265QQ\377\264PP\377\262PP\377\260QQ\377\257QQ\377\256PP\377\253LL\377\254MM\377\253LL\377\247MM\377\247KK\377\246NN\377\244MM\377\243LL\377\240MM\377\237LL\377\237JJ\377\233HH\377\234II\377\234II\377\231JJ\377\227HH\377\226GG\377\223HH\377\224II\377\221FF\377\217DD\377\217FF\377\214EE\377\213DD\377\210DD\377\210EE\377\210EE\377\204DD\377\205CC\377\204DD\377\200AA\377\200@@\377\177AA\377|AA\377|AA\377z@@\377y??\377x@@\377v@@\377t==\377t==\377q==\377"..., surface = 0x7fffe405ae80, cairo = 0x7ffff62eb640}
#10 0x00007fffe95a0a23 in poppler_page_render_to_pixbuf (page=0x93f2c0, src_x=0, src_y=0, src_width=100, src_height=75, scale=<value optimized out>, rotation=<value optimized out>, 
    pixbuf=0x9cb540) at poppler-page.cc:817
        __PRETTY_FUNCTION__ = "void poppler_page_render_to_pixbuf(PopplerPage*, int, int, int, int, double, int, GdkPixbuf*)"
#11 0x00007fffe97d9672 in make_thumbnail_for_page (poppler_page=0x93f2c0, rc=0x7fffe40adc40, width=100, height=75) at /tmp/buildd/evince-2.30.1/./backend/pdf/ev-poppler.cc:1435
        pixbuf = <value optimized out>
#12 0x00007fffe97d974b in pdf_document_thumbnails_get_thumbnail (document_thumbnails=<value optimized out>, rc=0x7fffe40adc40, border=1)
    at /tmp/buildd/evince-2.30.1/./backend/pdf/ev-poppler.cc:1498
        poppler_page = 0x93f2c0
        pixbuf = <value optimized out>
        border_pixbuf = <value optimized out>
        width = 100
        height = 75
#13 0x00007ffff779580e in ev_job_thumbnail_run (job=0x913de0) at /tmp/buildd/evince-2.30.1/./libview/ev-jobs.c:688
        rc = 0x7fffe40adc40
        page = 0xa7a0d0
#14 0x00007ffff7796860 in ev_job_thread (data=<value optimized out>) at /tmp/buildd/evince-2.30.1/./libview/ev-job-scheduler.c:183
        result = <value optimized out>
#15 ev_job_thread_proxy (data=<value optimized out>) at /tmp/buildd/evince-2.30.1/./libview/ev-job-scheduler.c:213
        job = 0xa5cfa0
#16 0x00007ffff3d80a14 in g_thread_create_proxy (data=0x952f00) at /tmp/buildd/glib2.0-2.25.3/glib/gthread.c:1893
        __PRETTY_FUNCTION__ = "g_thread_create_proxy"
#17 0x00007ffff4aad73a in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#18 0x00007ffff35f769d in clone () from /lib/libc.so.6
No symbol table info available.
#19 0x0000000000000000 in ?? ()
No symbol table info available.


-- System Information:
Debian Release: squeeze/sid
  APT prefers stable
  APT policy: (700, 'stable'), (650, 'testing'), (600, 'unstable'), (500, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages evince depends on:
ii  evince-common          2.30.0-2          Document (postscript, pdf) viewer 
ii  gconf2                 2.31.2-1          GNOME configuration database syste
ii  gnome-icon-theme       2.30.2.1-1        GNOME Desktop icon theme
ii  libatk1.0-0            1.29.4-1          The ATK accessibility toolkit
ii  libc6                  2.10.2-6          Embedded GNU C Library: Shared lib
ii  libcairo2              1.9.6-6           The Cairo 2D vector graphics libra
ii  libdbus-1-3            1.2.20-2          simple interprocess messaging syst
ii  libdbus-glib-1-2       0.84-1            simple interprocess messaging syst
ii  libevince2             2.30.1-2          Document (postscript, pdf) renderi
ii  libfontconfig1         2.8.0-2           generic font configuration library
ii  libfreetype6           2.3.11-1          FreeType 2 font engine, shared lib
ii  libgconf2-4            2.31.2-1          GNOME configuration database syste
ii  libglib2.0-0           2.25.3-1          The GLib library of C routines
ii  libgnome-keyring0      2.30.1-1          GNOME keyring services library
ii  libgtk2.0-0            2.20.0-1          The GTK+ graphical user interface 
ii  libice6                2:1.0.6-1         X11 Inter-Client Exchange library
ii  libnautilus-extension1 2.30.0-1          libraries for nautilus components 
ii  libpango1.0-0          1.28.0-1          Layout and rendering of internatio
ii  libsm6                 2:1.1.1-1         X11 Session Management library
ii  libx11-6               2:1.3.3-1         X11 client-side library
ii  libxml2                2.7.6.dfsg-2+b1   GNOME XML library
ii  shared-mime-info       0.70-1            FreeDesktop.org shared MIME databa
ii  zlib1g                 1:1.2.3.3.dfsg-12 compression library - runtime

Versions of packages evince recommends:
ii  dbus-x11                      1.2.20-2   simple interprocess messaging syst
ii  gvfs                          1.6.1-1    userspace virtual filesystem - ser

Versions of packages evince suggests:
ii  nautilus                      2.30.1-1   file manager and graphical shell f
pn  poppler-data                  <none>     (no description available)
pn  unrar                         <none>     (no description available)

-- no debconf information





More information about the pkg-gnome-maintainers mailing list