[Poppler-bugs] [Bug 61042] New: Evince freezes when selecting text from specific pdf documents

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Feb 18 00:12:46 PST 2013


https://bugs.freedesktop.org/show_bug.cgi?id=61042

          Priority: medium
            Bug ID: 61042
          Assignee: poppler-bugs at lists.freedesktop.org
           Summary: Evince freezes when selecting text from specific pdf
                    documents
          Severity: normal
    Classification: Unclassified
                OS: All
          Reporter: gpoo at gnome.org
          Hardware: Other
            Status: NEW
           Version: unspecified
         Component: cairo backend
           Product: poppler

Created attachment 75034
  --> https://bugs.freedesktop.org/attachment.cgi?id=75034&action=edit
PDF test case

Originally reported in https://bugzilla.gnome.org/show_bug.cgi?id=659730

"[...] there are some documents, which after a text is selected in
evince make it freeze. The same documents can be opened and scrolled as long as
a text selecting tool is not used.

How to reproduce the bug:
- Open one of the above pdf documents and try to select text

Note: If the selected text is a word or a line , the application freezes for a
while and then continues to work. If a paragraph or more is selected it totaly
freezes and even slows down the whole machine."

Another comment:

"Program received signal SIGINT, Interrupt.
0x1022441d in CairoOutputDev::drawImageMaskPrescaled(GfxState*, Object*,
Stream*, int, int, bool, bool, bool) () from /usr/lib/libpoppler-glib.so.6
(gdb) thread apply all bt

Thread 1 (Thread 0xb7741870 (LWP 14689))

    #0 CairoOutputDev::drawImageMaskPrescaled(GfxState*, Object*, Stream*, int,
int, bool, bool, bool)
    from /usr/lib/libpoppler-glib.so.6
    #1 CairoOutputDev::drawImageMask(GfxState*, Object*, Stream*, int, int,
bool, bool, bool)
    from /usr/lib/libpoppler-glib.so.6
    #2 Gfx::doImage(Object*, Stream*, bool)
    from /usr/lib/libpoppler.so.13
    #3 Gfx::opXObject(Object*, int)
    from /usr/lib/libpoppler.so.13
    #4 Gfx::execOp(Object*, Object*, int)
    from /usr/lib/libpoppler.so.13
    #5 Gfx::go(bool)
    from /usr/lib/libpoppler.so.13
    #6 Gfx::display(Object*, bool)
    from /usr/lib/libpoppler.so.13
    #7 ??
    from /usr/lib/libpoppler-glib.so.6
    #8 _cairo_user_scaled_glyph_init
    at /build/buildd/cairo-1.10.2/src/cairo-user-font.c line 158
    #9 _cairo_scaled_glyph_lookup
    at /build/buildd/cairo-1.10.2/src/cairo-scaled-font.c line 2806
    #10 _cairo_scaled_font_glyph_device_extents
    at /build/buildd/cairo-1.10.2/src/cairo-scaled-font.c line 2092
    #11 _cairo_composite_rectangles_init_for_glyphs
    at /build/buildd/cairo-1.10.2/src/cairo-composite-rectangles.c line 189
    #12 _cairo_image_surface_glyphs
    at /build/buildd/cairo-1.10.2/src/cairo-image-surface.c line 4035
    #13 _cairo_surface_show_text_glyphs
    at /build/buildd/cairo-1.10.2/src/cairo-surface.c line 2625
    #14 _cairo_gstate_show_text_glyphs
    at /build/buildd/cairo-1.10.2/src/cairo-gstate.c line 1981
    #15 cairo_show_glyphs
    at /build/buildd/cairo-1.10.2/src/cairo.c line 3509
    #16 CairoOutputDev::endString(GfxState*)
    from /usr/lib/libpoppler-glib.so.6
    #17 TextSelectionPainter::visitWord(TextWord*, int, int, PDFRectangle*)
    from /usr/lib/libpoppler.so.13
    #18 TextWord::visitSelection(TextSelectionVisitor*, PDFRectangle*,
SelectionStyle)
    from /usr/lib/libpoppler.so.13
    #19 TextLine::visitSelection(TextSelectionVisitor*, PDFRectangle*,
SelectionStyle)
    from /usr/lib/libpoppler.so.13
    #20 TextBlock::visitSelection(TextSelectionVisitor*, PDFRectangle*,
SelectionStyle)
    from /usr/lib/libpoppler.so.13
    #21 TextPage::visitSelection(TextSelectionVisitor*, PDFRectangle*,
SelectionStyle)
    from /usr/lib/libpoppler.so.13
    #22 TextPage::drawSelection(OutputDev*, double, int, PDFRectangle*,
SelectionStyle, GfxColor*, GfxColor*)
    from /usr/lib/libpoppler.so.13
    #23 poppler_page_render_selection
    from /usr/lib/libpoppler-glib.so.6
    #24 pdf_selection_render_selection
    at /build/buildd/evince-3.1.90.1/./backend/pdf/ev-poppler.cc line 1882
    #25 ev_selection_render_selection
    at /build/buildd/evince-3.1.90.1/./libdocument/ev-selection.c line 47
    #26 ev_pixbuf_cache_get_selection_surface
    at /build/buildd/evince-3.1.90.1/./libview/ev-pixbuf-cache.c line 989
    #27 merge_selection_region
    at /build/buildd/evince-3.1.90.1/./libview/ev-view.c line 6286
    #28 compute_selections
    at /build/buildd/evince-3.1.90.1/./libview/ev-view.c line 6384
    #29 selection_update_idle_cb
    at /build/buildd/evince-3.1.90.1/./libview/ev-view.c line 3943
    #30 g_idle_dispatch
    at /build/buildd/glib2.0-2.29.92/./glib/gmain.c line 4801
    #31 g_main_dispatch
    at /build/buildd/glib2.0-2.29.92/./glib/gmain.c line 2441
    #32 g_main_context_dispatch
    at /build/buildd/glib2.0-2.29.92/./glib/gmain.c line 3011
    #33 g_main_context_iterate
    at /build/buildd/glib2.0-2.29.92/./glib/gmain.c line 3089
    #34 g_main_loop_run
    at /build/buildd/glib2.0-2.29.92/./glib/gmain.c line 3297
    #35 gtk_main
    at /build/buildd/gtk+3.0-3.1.90/./gtk/gtkmain.c line 1367
    #36 main
    at /build/buildd/evince-3.1.90.1/./shell/main.c line 331
"

However, I have not been able to get Evince or poppler-glib-demo frozen. 
However, the selection is slow and it seems to select some blocks (squares)
that involves 2 or 3 lines.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/poppler-bugs/attachments/20130218/9674b080/attachment-0001.html>


More information about the Poppler-bugs mailing list