Bug 168606

Summary: Evince drag and drop crash
Product: [Fedora] Fedora Reporter: Ivan Gyurdiev <ivg231>
Component: evinceAssignee: Kristian Høgsberg <krh>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bbaetz
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-09-22 20:55:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ivan Gyurdiev 2005-09-17 21:07:10 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b3) Gecko/20050827 Fedora/1.1-0.2.8.deerpark.alpha2 Firefox/1.0+

Description of problem:
Evince crashes on drag and drop of images in PDF. Crash seems to occur on DND of a very particular image. Backtrace below. Dragging another image generated an X error (see below).

Image 1:
#0  0x00c154fe in TextBlock::visitSelection () from /usr/lib/libpoppler.so.0
#1  0x00c15708 in TextPage::visitSelection () from /usr/lib/libpoppler.so.0
#2  0x00c16818 in TextPage::getSelectionRegion () from /usr/lib/libpoppler.so.0
#3  0x00c16866 in TextOutputDev::getSelectionRegion ()
   from /usr/lib/libpoppler.so.0
#4  0x0022f8e0 in poppler_page_get_selection_region ()
   from /usr/lib/libpoppler-glib.so.0
#5  0x0808abaf in pdf_selection_get_selection_region ()
#6  0x080886c8 in ev_selection_get_selection_region ()
#7  0x08065ff7 in ev_pixbuf_cache_get_selection_pixbuf ()
#8  0x0806ca43 in ev_view_rotate_right ()
#9  0x0073dc5e in g_child_watch_add () from /usr/lib/libglib-2.0.so.0
#10 0x0073b9ee in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#11 0x0073ea06 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#12 0x0073ecf3 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#13 0x0096b736 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x08079ceb in main ()

Image 2:
The program 'evince' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 4462 error_code 8 request_code 59 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)



Version-Release number of selected component (if applicable):
evince-0.4.0-1

How reproducible:
Sometimes

Steps to Reproduce:
1. DND a particular image.

Additional info:

Comment 1 Ivan Gyurdiev 2005-09-17 21:08:27 UTC
You can find image 1 and image 2 respectively on slides 7 and 8 here:

http://www.cs.cornell.edu/courses/cs465/2005fa/lectures/02images.ppt.pdf

Comment 2 Bradley 2005-10-02 14:30:19 UTC
MeToo. Backtrace under the debugger (with debuginfo installed) is:

0x06bd87f9 in TextBlock::visitSelection (this=0x8ff77b0, visitor=0xbfbfa328,
    selection=0xbfbfa2c0) at TextOutputDev.cc:3441
3441        if (p->next == end) {
Current language:  auto; currently c++
(gdb) bt
#0  0x06bd87f9 in TextBlock::visitSelection (this=0x8ff77b0,
    visitor=0xbfbfa328, selection=0xbfbfa2c0) at TextOutputDev.cc:3441
#1  0x06bd89ba in TextPage::visitSelection (this=0x8f97818,
    visitor=0xbfbfa328, selection=0xbfbfa3a8) at TextOutputDev.cc:3522
#2  0x06bd9ace in TextPage::getSelectionRegion (this=0x8f97818,
    selection=0x9015be0, scale=581.20510100000001) at TextOutputDev.cc:3543
#3  0x06bd9b1c in TextOutputDev::getSelectionRegion (this=0x9015be0,
    selection=0x9015be0, scale=581.20510100000001) at TextOutputDev.cc:4109
#4  0x001b588e in poppler_page_get_selection_region (page=0x9015be0,
    scale=1.0071301460266113, selection=0xbfbfa328) at poppler-page.cc:350
#5  0x0808a82f in pdf_selection_get_selection_region (selection=0x9015be0,
    rc=0x8e297d0, points=0x9015be0) at ev-poppler.cc:1215
#6  0x08088348 in ev_selection_get_selection_region (selection=0x8dcdc28,
    rc=0xbfbfa328, points=0xbfbfa328) at ev-selection.c:83
#7  0x08065e07 in ev_pixbuf_cache_get_selection_pixbuf (
    pixbuf_cache=0x8e1bf90, page=2, scale=1.00713015, region=0xbfbfa530)
    at ev-pixbuf-cache.c:840
#8  0x0806c853 in selection_update_idle_cb (view=0x8d51dd0) at ev-view.c:3126
#9  0x00250730 in g_idle_dispatch (source=0x901e578,
    callback=0x806c68f <selection_update_idle_cb>, user_data=0x9015be0)
    at gmain.c:3813
#10 0x0024e4ce in IA__g_main_context_dispatch (context=0x8cdf588)
    at gmain.c:1934
#11 0x002514d6 in g_main_context_iterate (context=0x8cdf588, block=1,
    dispatch=1, self=0x8cbfde8) at gmain.c:2565
#12 0x002517c3 in IA__g_main_loop_run (loop=0x8d55330) at gmain.c:2769
#13 0x03278a46 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x0807999d in main (argc=-1077959896, argv=0xbfbfa328) at main.c:295

(gdb) p p
$1 = (TextLine *) 0x0

This only started happening with the recent update to 0.4.0. I've seen it on
quite a few pdfs; for me crashes 100% if you click and drag arrond the middle of
the contents page of
http://www.tfl.gov.uk/tfl/fares-tickets/2005/downloads/tfl-fares-2005.pdf

(Should be severity: High since its a crash, but I can't change that)

Comment 3 Kristian Høgsberg 2006-09-22 20:55:12 UTC
This has been fixed, should work with evince 0.6 from rawhide.