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 659730 - evince freezes when selecting text from specific pdf documents
evince freezes when selecting text from specific pdf documents
Status: RESOLVED NOTGNOME
Product: evince
Classification: Core
Component: PDF
3.1.x
Other Linux
: Normal normal
: ---
Assigned To: Evince Maintainers
Evince Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-09-21 14:56 UTC by free.nomadic.life
Modified: 2013-02-18 08:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
opened system monitor showing that the evince is using 100% processor and enourmous amount of memory, when a text is selected. (198.25 KB, image/png)
2011-09-21 14:56 UTC, free.nomadic.life
Details

Description free.nomadic.life 2011-09-21 14:56:24 UTC
Created attachment 197164 [details]
opened system monitor showing that the evince is using 100% processor and enourmous amount of memory, when a text is selected.

THe evince text selecting feature works so far with most of the opened pdf documents. But 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:
Here are some links of pdfs with which I have observed it:

http://gsd.uwaterloo.ca/sites/default/files/clafer.pdf
or 
https://github.com/gsdlab/clafer/raw/master/doc/tutorial/doc.pdf

1. 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.
Comment 1 Fabio Durán Verdugo 2011-09-21 18:26:27 UTC
Yes evince is freeze with the file attach, I press control + C  and get this trace



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

Comment 2 Felix Möller 2013-01-24 19:00:37 UTC
I can reproduce this with the current versions
evince: 3.6.1-1ubunt
libpoppler: 0.20.5-1ubuntu2
Comment 3 Germán Poo-Caamaño 2013-02-18 08:14:49 UTC
This seems to be a bug in poppler.  Please, follow the bug report in https://bugs.freedesktop.org/show_bug.cgi?id=61042