After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 761643 - Evince segfault with another PDF
Evince segfault with another PDF
Status: RESOLVED DUPLICATE of bug 697471
Product: evince
Classification: Core
Component: PDF
3.18.x
Other Linux
: Normal normal
: ---
Assigned To: Evince Maintainers
Evince Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-02-06 15:10 UTC by xyzdragon
Modified: 2016-02-24 20:37 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description xyzdragon 2016-02-06 15:10:36 UTC
When trying to scroll to page 8 in this PDF http://arxiv.org/abs/1510.08470 evince crashes. Here is the output of my gdb session

    (gdb) r
    Starting program: /usr/bin/evince 
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
    [New Thread 0x7fffea882700 (LWP 25369)]
    [New Thread 0x7fffea081700 (LWP 25370)]
    [New Thread 0x7fffe9880700 (LWP 25371)]
    [New Thread 0x7fffe8c9c700 (LWP 25374)]
    [New Thread 0x7fffdbd44700 (LWP 25375)]
    [New Thread 0x7fffdb543700 (LWP 25376)]
    [New Thread 0x7fffdad42700 (LWP 25377)]
    [New Thread 0x7fffda541700 (LWP 25378)]
    [New Thread 0x7fffd968e700 (LWP 25379)]
    namespace error : Failed to parse QName 'pdfx:'
      <pdfx:#DCTMObjectTitle>1</pdfx:#DCTMObjectTitle>
            ^
    Entity: line 22: parser error : error parsing attribute name
      <pdfx:#DCTMObjectTitle>1</pdfx:#DCTMObjectTitle>
            ^
    Entity: line 22: parser error : attributes construct error
      <pdfx:#DCTMObjectTitle>1</pdfx:#DCTMObjectTitle>
            ^
    Entity: line 22: parser error : Couldn't find end of Start Tag pdfx: line 22
      <pdfx:#DCTMObjectTitle>1</pdfx:#DCTMObjectTitle>
            ^
    namespace error : Failed to parse QName 'pdfx:'
      <pdfx:#DCTMObjectTitle>1</pdfx:#DCTMObjectTitle>
                                     ^
    Entity: line 22: parser error : expected '>'
      <pdfx:#DCTMObjectTitle>1</pdfx:#DCTMObjectTitle>
                                     ^
    Entity: line 22: parser error : Opening and ending tag mismatch: Description line 18 and pdfx:
      <pdfx:#DCTMObjectTitle>1</pdfx:#DCTMObjectTitle>
                                     ^
    namespace error : Failed to parse QName 'pdfx:'
      <pdfx:#DCTMRequestedBy>svcdmprod</pdfx:#DCTMRequestedBy>
            ^
    Entity: line 23: parser error : error parsing attribute name
      <pdfx:#DCTMRequestedBy>svcdmprod</pdfx:#DCTMRequestedBy>
            ^
    Entity: line 23: parser error : attributes construct error
      <pdfx:#DCTMRequestedBy>svcdmprod</pdfx:#DCTMRequestedBy>
            ^
    Entity: line 23: parser error : Couldn't find end of Start Tag pdfx: line 23
      <pdfx:#DCTMRequestedBy>svcdmprod</pdfx:#DCTMRequestedBy>
            ^
    namespace error : Failed to parse QName 'pdfx:'
      <pdfx:#DCTMRequestedBy>svcdmprod</pdfx:#DCTMRequestedBy>
                                             ^
    Entity: line 23: parser error : expected '>'
      <pdfx:#DCTMRequestedBy>svcdmprod</pdfx:#DCTMRequestedBy>
                                             ^
    Entity: line 23: parser error : Opening and ending tag mismatch: RDF line 3 and pdfx:
      <pdfx:#DCTMRequestedBy>svcdmprod</pdfx:#DCTMRequestedBy>
                                             ^
    Entity: line 23: parser error : Extra content at the end of the document
      <pdfx:#DCTMRequestedBy>svcdmprod</pdfx:#DCTMRequestedBy>
                                             ^
    [Thread 0x7fffdbd44700 (LWP 25375) exited]
    [Thread 0x7fffdb543700 (LWP 25376) exited]
    [Thread 0x7fffe9880700 (LWP 25371) exited]
    [Thread 0x7fffda541700 (LWP 25378) exited]

    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7fffd968e700 (LWP 25379)]
    0x00007ffff63ee811 in _cairo_gstate_set_dash (gstate=0x7fffc4f645e0, dash=0x0, num_dashes=2, 
        offset=6.9533068833306661e-310) at ../../../../src/cairo-gstate.c:542
    542	../../../../src/cairo-gstate.c: No such file or directory.
    (gdb) b
    Breakpoint 1 at 0x7ffff63ee811: file ../../../../src/cairo-gstate.c, line 542.
    (gdb) bt
    #0  0x00007ffff63ee811 in _cairo_gstate_set_dash (gstate=0x7fffc4f645e0, dash=0x0, num_dashes=2, 
        offset=6.9533068833306661e-310) at ../../../../src/cairo-gstate.c:542
    #1  0x00007ffff63e1af2 in cairo_set_dash (cr=0x5555564b38e0, dashes=<optimized out>, num_dashes=<optimized out>, 
        offset=<optimized out>) at ../../../../src/cairo.c:1080
    #2  0x00007fffd8a315ec in CairoOutputDev::fillToStrokePathClip(GfxState*) ()
       from /usr/lib/x86_64-linux-gnu/libpoppler-glib.so.8
    #3  0x00007fffd8a31815 in CairoOutputDev::fill(GfxState*) () from /usr/lib/x86_64-linux-gnu/libpoppler-glib.so.8
    #4  0x00007fffd8674b9c in Gfx::doAxialShFill(GfxAxialShading*) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #5  0x00007fffd867a846 in Gfx::opShFill(Object*, int) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #6  0x00007fffd867b66e in Gfx::go(bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #7  0x00007fffd867bb10 in Gfx::display(Object*, bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #8  0x00007fffd867beca in Gfx::drawForm(Object*, Dict*, double*, double*, bool, bool, GfxColorSpace*, bool, bool, bool, Function*, GfxColor*) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #9  0x00007fffd867c533 in Gfx::doSoftMask(Object*, bool, GfxColorSpace*, bool, bool, Function*, GfxColor*) ()
       from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #10 0x00007fffd867db2a in Gfx::opSetExtGState(Object*, int) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #11 0x00007fffd867b66e in Gfx::go(bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #12 0x00007fffd867bb10 in Gfx::display(Object*, bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #13 0x00007fffd867beca in Gfx::drawForm(Object*, Dict*, double*, double*, bool, bool, GfxColorSpace*, bool, bool, bool, Function*, GfxColor*) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #14 0x00007fffd8680e7e in Gfx::doForm(Object*) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #15 0x00007fffd86813eb in Gfx::opXObject(Object*, int) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #16 0x00007fffd867b66e in Gfx::go(bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #17 0x00007fffd867bb10 in Gfx::display(Object*, bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #18 0x00007fffd86c1985 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    #19 0x00007fffd8a1dca2 in ?? () from /usr/lib/x86_64-linux-gnu/libpoppler-glib.so.8
    #20 0x00007fffd8c83051 in ?? () from /usr/lib/evince/4/backends/libpdfdocument.so
    #21 0x00007fffd8c83291 in ?? () from /usr/lib/evince/4/backends/libpdfdocument.so
    ---Type <return> to continue, or q <return> to quit---
    #22 0x00007ffff7965d02 in ?? () from /usr/lib/libevview3.so.3
    #23 0x00007ffff7967c5a in ?? () from /usr/lib/libevview3.so.3
    #24 0x00007ffff56db955 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #25 0x00007ffff51550a4 in start_thread (arg=0x7fffd968e700) at pthread_create.c:309
    #26 0x00007ffff4e8a04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111


Note that the entity errors happen when opening evince itself (I ran `gdb evince`). Only after that I actually opened the PDF. Meaning the entity errors should be unrelated to the PDF problem. But skimming over this http://stackoverflow.com/questions/24681410/failed-to-parse-qname it seems to me like this could be another bug. (I think I only began seeing these entity errors after updating libpoppler-glib from 0.26 to 0.38)


dpkg -S /usr/lib/x86_64-linux-gnu/libpoppler-glib.so.8
    libpoppler-glib8:amd64: /usr/lib/x86_64-linux-gnu/libpoppler-glib.so.8
dpkg -S /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    libpoppler57:amd64: /usr/lib/x86_64-linux-gnu/libpoppler.so.57
    
Here is my configuration:

dpkg -l '*evince*'
    ii  evince                   3.18.2-1          amd64             Document (PostScript, PDF) viewer
    ii  evince-common            3.18.2-1          all               Document (PostScript, PDF) viewer - common files
    un  evince-gtk               <none>            <none>            (no description available)

dpkg -l '*poppler*'
    ii  libpoppler-glib8:amd64   0.38.0-2          amd64             PDF rendering library (GLib-based shared library)
    ii  libpoppler-qt4-4:amd64   0.38.0-2          amd64             PDF rendering library (Qt 4 based shared library)
    ii  libpoppler-qt5-1:amd64   0.38.0-2          amd64             PDF rendering library (Qt 5 based shared library)
    ii  libpoppler46:amd64       0.26.5-4          amd64             PDF rendering library
    ii  libpoppler57:amd64       0.38.0-2          amd64             PDF rendering library
    ii  poppler-data             0.4.7-7           all               encoding data for the poppler PDF rendering library
    ii  poppler-utils            0.38.0-2          amd64             PDF utilities (based on Poppler)

uname -a
    Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
Comment 1 Germán Poo-Caamaño 2016-02-24 18:27:44 UTC
This is either a bug in poppler-glib cairo backend or cairo.
Please file a bug in https://bugs.freedesktop.org/enter_bug.cgi?product=poppler

To reproduce it:

$ pdftocairo -png 1510.08470v1.pdf
Segmentation fault (core dumped)


(gdb) thread apply all bt

Thread 1 (Thread 0x7ffff7fbf8c0 (LWP 23287))

  • #0 ??
    from /usr/lib/x86_64-linux-gnu/libcairo.so.2
  • #1 cairo_set_dash
    from /usr/lib/x86_64-linux-gnu/libcairo.so.2
  • #2 CairoOutputDev::fillToStrokePathClip
    at CairoOutputDev.cc line 1307
  • #3 CairoOutputDev::fill
    at CairoOutputDev.cc line 810
  • #4 Gfx::doAxialShFill
    at Gfx.cc line 2928
  • #5 Gfx::opShFill
    at Gfx.cc line 2479
  • #6 Gfx::go
    at Gfx.cc line 763
  • #7 Gfx::display
    at Gfx.cc line 729
  • #8 Gfx::drawForm
    at Gfx.cc line 4933
  • #9 Gfx::doSoftMask
    at Gfx.cc line 1418
  • #10 Gfx::opSetExtGState
    at Gfx.cc line 1262
  • #11 Gfx::go
    at Gfx.cc line 763
  • #12 Gfx::display
    at Gfx.cc line 729
  • #13 Gfx::drawForm
    at Gfx.cc line 4933
  • #14 Gfx::doForm
    at Gfx.cc line 4856
  • #15 Gfx::opXObject
    at Gfx.cc line 4210
  • #16 Gfx::go
    at Gfx.cc line 763
  • #17 Gfx::display
    at Gfx.cc line 729
  • #18 Page::displaySlice
    at Page.cc line 599
  • #19 PDFDoc::displayPageSlice
    at PDFDoc.cc line 504
  • #20 renderPage
    at pdftocairo.cc line 627
  • #21 main
    at pdftocairo.cc line 1146

This does not happen with pdftoppm.
Comment 2 xyzdragon 2016-02-24 18:41:33 UTC
Ok, for reference: https://bugs.freedesktop.org/show_bug.cgi?id=94233
Comment 3 Germán Poo-Caamaño 2016-02-24 18:52:56 UTC
Thanks. Closing this one as NOTGNOME.
Comment 4 Germán Poo-Caamaño 2016-02-24 20:37:56 UTC

*** This bug has been marked as a duplicate of bug 697471 ***