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 731046 - Segfault on truncated PDF document
Segfault on truncated PDF document
Status: RESOLVED FIXED
Product: evince
Classification: Core
Component: general
3.14.x
Other Linux
: Normal critical
: ---
Assigned To: Evince Maintainers
Evince Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-05-31 13:37 UTC by Evgeny Kapun
Modified: 2014-09-30 18:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Evince output (61.68 KB, text/plain)
2014-05-31 13:54 UTC, Evgeny Kapun
  Details
Crash backtrace (6.44 KB, text/plain)
2014-05-31 13:54 UTC, Evgeny Kapun
  Details
libview: Add check for pageless documents to ev_view_accessible_focus_changed (1007 bytes, patch)
2014-09-28 03:58 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review

Description Evgeny Kapun 2014-05-31 13:37:03 UTC
I use Evince package included in Debian, version 3.12.1-1. It segfaults whan opening certain truncated PDF documents, such as the one attached.
Comment 1 Evgeny Kapun 2014-05-31 13:53:03 UTC
Sorry, couldn't create an attachement. You can download the PDF here: <https://drive.google.com/file/d/0BzXlszsY4dbncnY5NG1JazZOeW8/edit>.
Comment 2 Evgeny Kapun 2014-05-31 13:54:21 UTC
Created attachment 277622 [details]
Evince output
Comment 3 Evgeny Kapun 2014-05-31 13:54:52 UTC
Created attachment 277623 [details]
Crash backtrace
Comment 4 André Klapper 2014-05-31 16:16:30 UTC
Pasting the backtrace inline here:

  • #0 ev_view_accessible_focus_changed
    at /tmp/buildd/evince-3.12.1/./libview/ev-view-accessible.c line 455
  • #1 _gtk_marshal_BOOLEAN__BOXED
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkmarshalers.c line 85
  • #2 g_closure_invoke
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gclosure.c line 768
  • #3 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3551
  • #4 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3317
  • #5 g_signal_emit
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3363
  • #6 gtk_widget_event_internal
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkwidget.c line 7229
  • #7 gtk_widget_event
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkwidget.c line 6891
  • #8 gtk_widget_send_focus_change
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkwidget.c line 15340
  • #9 do_focus_change
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkwindow.c line 7985
  • #10 gtk_window_real_set_focus
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkwindow.c line 8271
  • #11 g_cclosure_marshal_VOID__OBJECTv
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gmarshal.c line 1312
  • #12 _g_closure_invoke_va
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gclosure.c line 831
  • #13 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3215
  • #14 g_signal_emit
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3363
  • #15 _g_closure_invoke_va
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gclosure.c line 831
  • #16 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3215
  • #17 g_signal_emit
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3363
  • #18 gtk_widget_grab_focus
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkwidget.c line 7512
  • #19 gtk_button_button_press
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkbutton.c line 1915
  • #20 _gtk_marshal_BOOLEAN__BOXEDv
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkmarshalers.c line 130
  • #21 _g_closure_invoke_va
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gclosure.c line 831
  • #22 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3215
  • #23 g_signal_emit
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3363
  • #24 gtk_widget_event_internal
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkwidget.c line 7229
  • #25 gtk_widget_event
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkwidget.c line 6891
  • #26 propagate_event_up
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkmain.c line 2416
  • #27 propagate_event
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkmain.c line 2524
  • #28 gtk_main_do_event
    at /tmp/buildd/gtk+3.0-3.12.2/./gtk/gtkmain.c line 1735
  • #29 gdk_event_source_dispatch
    at /tmp/buildd/gtk+3.0-3.12.2/./gdk/x11/gdkeventsource.c line 364
  • #30 g_main_dispatch
    at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c line 3064
  • #31 g_main_context_dispatch
    at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c line 3663
  • #32 g_main_context_iterate
    at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c line 3734
  • #33 g_main_context_iteration
    at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c line 3795
  • #34 g_application_run
    at /tmp/buildd/glib2.0-2.40.0/./gio/gapplication.c line 2114
  • #35 main
    at /tmp/buildd/evince-3.12.1/./shell/main.c line 316

Comment 5 Evgeny Kapun 2014-09-28 01:25:35 UTC
Are there any plans to fix this? Version 3.14 still crashes.
Comment 6 Joanmarie Diggs (IRC: joanie) 2014-09-28 03:58:25 UTC
Created attachment 287269 [details] [review]
libview: Add check for pageless documents to  ev_view_accessible_focus_changed

This sanity check will not make the document readable, stop the spewage of poppler errors, or do anything other than stop the crash, but it stops the crash. :)
Comment 7 Joanmarie Diggs (IRC: joanie) 2014-09-30 18:33:04 UTC
Comment on attachment 287269 [details] [review]
libview: Add check for pageless documents to  ev_view_accessible_focus_changed

https://git.gnome.org/browse/evince/commit/?id=c0ecc95