Bug 160792

Summary: freeze when entering page number
Product: [Fedora] Fedora Reporter: Joe Orton <jorton>
Component: evinceAssignee: Kristian Høgsberg <krh>
Status: CLOSED WORKSFORME QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-09-22 19:47:52 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 Joe Orton 2005-06-17 10:14:44 UTC
Description of problem:
On a certain PDF document evince freezes up when I try to enter a page number.

This is fairly easily reproducible.  I'll attach a reference to the document
which is available internally.

Version-Release number of selected component (if applicable):
evince-0.3.1-1
poppler-0.3.2-1

If I run under gdb, the backtrace looks like:
Thread 2 (Thread -1211409488 (LWP 20618)):
#0  0x00fc3402 in __kernel_vsyscall ()
#1  0x008167a6 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0807f356 in ev_document_find_changed ()
#3  0x0076de9a in g_static_private_free () from /usr/lib/libglib-2.0.so.0
#4  0x00814b80 in start_thread () from /lib/libpthread.so.0
#5  0x005b6dee in clone () from /lib/libc.so.6

Thread 1 (Thread -1209116992 (LWP 20592)):
#0  0x00d2ee08 in gdk_pixbuf_fill () from /usr/lib/libgdk_pixbuf-2.0.so.0
#1  0x08060780 in ev_view_can_zoom_out ()
#2  0x08063613 in ev_view_find_next ()
#3  0x00a5b352 in gtk_marshal_VOID__UINT_STRING () from /usr/lib/libgtk-x11-2.0.so.0
#4  0x007d2d9b in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#5  0x007d3285 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#6  0x007e1917 in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0
#7  0x007e2c53 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#8  0x007e3254 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#9  0x00b36ac3 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#10 0x00a5a0cb in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#11 0x00ca15ad in gdk_window_clear_area_e () from /usr/lib/libgdk-x11-2.0.so.0
#12 0x00ca1680 in gdk_window_process_all_updates () from
/usr/lib/libgdk-x11-2.0.so.0
#13 0x00ca1701 in gdk_window_process_all_updates () from
/usr/lib/libgdk-x11-2.0.so.0
#14 0x00754650 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0
#15 0x007523ee in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#16 0x007553f6 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#17 0x007556e3 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#18 0x00a591b5 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#19 0x0806d1f0 in main ()

from stracing it, the application is stuck doing:

mmap2(NULL, 5447680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb56d5000
write(3, "\233\10\t\0\3\2\200\0034\0\200\0035\0\200\3\36\2\200\3"..., 320) = 320
read(3, "n\2\301\310\352,7\5\0\24\4\0\20\0\0\0\0\0\0\24\24\24\24"..., 32) = 32
read(3, 0xbfba67c0, 32)                 = -1 EAGAIN (Resource temporarily
unavailable)
select(4, [3], NULL, NULL, NULL)        = 1 (in [3])
read(3, "\1\2\315\310\0\0\0\0\36_ \2\4\0\0\0\0\0\0\0\340js\0\20"..., 32) = 32
write(3, "\233\10\t\0\3\2\200\0034\0\200\0035\0\200\3\36\2\200\3"..., 220) = 220
read(3, "\1\2\324\310\0\0\0\0\36_ \2\4\0\0\0\0\0\0\0\340js\0\20"..., 32) = 32
write(3, "\233\10\t\0\3\2\200\0034\0\200\0035\0\200\3\36\2\200\3"..., 220) = 220
read(3, 0xbfba67c0, 32)                 = -1 EAGAIN (Resource temporarily
unavailable)
select(4, [3], NULL, NULL, NULL)        = 1 (in [3])

Comment 2 Kristian Høgsberg 2006-09-22 19:47:52 UTC
I don't see this crash anymore.  This PDF looks to have been spliced together
from several PDFs and the page numbers generated by that tool are of the form
"XCU 200" (page 200 from the XCU document), "XSH xvi" (page xvi from the XSH
document).  So typing in "140" as a page number is not going to resolve to a
valid page.  This is probably what caused the freeze with earlier version, but
it's fixed now.

Closing bug.