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 701040 - evince-3.8.2 crashes with a segmentation fault, while playing with a zoom of a pdf document
evince-3.8.2 crashes with a segmentation fault, while playing with a zoom of ...
Status: RESOLVED DUPLICATE of bug 697397
Product: evince
Classification: Core
Component: general
3.8.x
Other Linux
: High critical
: ---
Assigned To: Evince Maintainers
Evince Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-05-26 11:34 UTC by Evgeny Bobkin
Modified: 2013-06-08 05:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
backtrace (4.58 KB, text/plain)
2013-05-26 18:29 UTC, Evgeny Bobkin
Details

Description Evgeny Bobkin 2013-05-26 11:34:24 UTC
steps to reproduce:

1. open a pdf document
2. set zoom on 125%
3. set zoom on 150%
4. set zoom on 125%

and observe a segmentation fault:

$ evince

(evince:16574): EvinceDocument-CRITICAL **: ev_link_get_action: assertion `EV_IS_LINK (self)' failed

(evince:16574): EvinceDocument-CRITICAL **: ev_link_action_equal: assertion `EV_IS_LINK_ACTION (a)' failed

(evince:16574): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(evince:16574): EvinceDocument-CRITICAL **: ev_link_get_action: assertion `EV_IS_LINK (self)' failed

(evince:16574): EvinceDocument-CRITICAL **: ev_link_action_equal: assertion `EV_IS_LINK_ACTION (a)' failed
Segmentation fault
Comment 1 Germán Poo-Caamaño 2013-05-26 16:14:49 UTC
Thanks for taking the time to report this bug.
Without a stack trace from the crash it's very hard to determine what caused it.
Can you get us a stack trace? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
Comment 2 Evgeny Bobkin 2013-05-26 18:29:34 UTC
Created attachment 245346 [details]
backtrace
Comment 3 Evgeny Bobkin 2013-05-26 18:30:01 UTC
Reading symbols from /usr/bin/evince...Reading symbols from /usr/lib64/debug/usr/bin/evince.debug...done.
done.
(gdb) run
Starting program: /usr/bin/evince 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffebe68700 (LWP 32704)]
[New Thread 0x7fffea3c7700 (LWP 32705)]
[New Thread 0x7fffe8f91700 (LWP 32706)]
[New Thread 0x7fffe133b700 (LWP 32707)]
[Thread 0x7fffe133b700 (LWP 32707) exited]
set logging file backtrace.log
[Thread 0x7fffea3c7700 (LWP 32705) exited]
set logging on
[New Thread 0x7fffea3c7700 (LWP 32711)]
[New Thread 0x7fffe133b700 (LWP 32712)]

(evince:32700): EvinceDocument-CRITICAL **: ev_link_get_action: assertion `EV_IS_LINK (self)' failed

(evince:32700): EvinceDocument-CRITICAL **: ev_link_action_equal: assertion `EV_IS_LINK_ACTION (a)' failed

(evince:32700): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(evince:32700): EvinceDocument-CRITICAL **: ev_link_get_action: assertion `EV_IS_LINK (self)' failed

(evince:32700): EvinceDocument-CRITICAL **: ev_link_action_equal: assertion `EV_IS_LINK_ACTION (a)' failed

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5befb7e in g_list_copy_deep () from /usr/lib64/libglib-2.0.so.0
(gdb) set logging file backtrace.log
(gdb) set logging on
Copying output to backtrace.log.
(gdb) thread apply all bt

Thread 1 (Thread 0x7ffff7fa9900 (LWP 32700))

  • #0 g_list_copy_deep
    from /usr/lib64/libglib-2.0.so.0
  • #1 ??
    from /usr/lib64/libgdk-3.so.0
  • #2 ??
    from /usr/lib64/libgobject-2.0.so.0
  • #3 g_signal_emit_valist
    from /usr/lib64/libgobject-2.0.so.0
  • #4 g_signal_emit_by_name
    from /usr/lib64/libgobject-2.0.so.0
  • #5 ??
    from /usr/lib64/libgdk-3.so.0
  • #6 ??
    from /usr/lib64/libgdk-3.so.0
  • #7 ??
    from /usr/lib64/libglib-2.0.so.0
  • #8 g_main_context_dispatch
    from /usr/lib64/libglib-2.0.so.0
  • #9 ??
    from /usr/lib64/libglib-2.0.so.0
  • #10 g_main_context_iteration
    from /usr/lib64/libglib-2.0.so.0
  • #11 g_application_run
    from /usr/lib64/libgio-2.0.so.0
  • #12 main
    at main.c line 332
Done logging to backtrace.log.
(gdb) quit
Comment 4 Germán Poo-Caamaño 2013-05-26 18:39:56 UTC
This might be a problem with a specific PDF.  Can you reproduce it with any PDF? If not, may you attach the one that causes the problem?
Comment 5 Evgeny Bobkin 2013-05-26 18:41:04 UTC
here is a more detailed one:

$ gdb evince
GNU gdb (Gentoo 7.5.1 p2) 7.5.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/evince...Reading symbols from /usr/lib64/debug/usr/bin/evince.debug...done.
done.
(gdb) run
Starting program: /usr/bin/evince 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffebe70700 (LWP 1601)]
[New Thread 0x7fffea3cf700 (LWP 1602)]
[New Thread 0x7fffe8f99700 (LWP 1603)]
[New Thread 0x7fffe133b700 (LWP 1604)]
[Thread 0x7fffea3cf700 (LWP 1602) exited]
[New Thread 0x7fffea3cf700 (LWP 1620)]

(evince:1597): EvinceDocument-CRITICAL **: ev_link_get_action: assertion `EV_IS_LINK (self)' failed

(evince:1597): EvinceDocument-CRITICAL **: ev_link_action_equal: assertion `EV_IS_LINK_ACTION (a)' failed

Program received signal SIGSEGV, Segmentation fault.
g_list_find_custom (list=0xe2216acd, data=data@entry=0x7fffc8004af0, 
    func=func@entry=0x423ee0 <compare_link>) at glist.c:787
787	glist.c: No such file or directory.
(gdb) thread apply all bt

Thread 1 (Thread 0x7ffff7fa9900 (LWP 1597))

  • #0 g_list_find_custom
    at glist.c line 787
  • #1 ev_history_go_to_link
    at ev-history.c line 248
  • #2 ev_history_add_link
    at ev-history.c line 126
  • #3 ev_history_add_link_for_page
    at ev-history.c line 383
  • #4 ev_history_add_link_for_page
    at ev-history.c line 348
  • #5 g_closure_invoke
    at gclosure.c line 777
  • #6 signal_emit_unlocked_R
    at gsignal.c line 3584
  • #7 g_signal_emit_valist
    at gsignal.c line 3328
  • #8 g_signal_emit
    at gsignal.c line 3384
  • #9 ev_document_model_set_page
    at ev-document-model.c line 415
  • #10 view_update_range_and_current_page
    at ev-view.c line 745
  • #11 on_adjustment_value_changed
    at ev-view.c line 5152
  • #12 g_closure_invoke
    at gclosure.c line 777
  • #13 signal_emit_unlocked_R
  • #14 g_signal_emit_valist
    at gsignal.c line 3328
  • #15 g_signal_emit
    at gsignal.c line 3384
  • #16 gtk_adjustment_value_changed
    from /usr/lib64/libgtk-3.so.0
  • #17 ev_view_set_adjustment_values
    at ev-view.c line 673
  • #18 ev_view_size_allocate
    at ev-view.c line 3335
  • #19 g_closure_invoke
    at gclosure.c line 777
  • #20 signal_emit_unlocked_R
  • #21 g_signal_emit_valist
    at gsignal.c line 3328
  • #22 g_signal_emit
    at gsignal.c line 3384
  • #23 gtk_widget_size_allocate
    from /usr/lib64/libgtk-3.so.0
  • #24 ??
    from /usr/lib64/libgtk-3.so.0
  • #25 ??
    from /usr/lib64/libgtk-3.so.0
  • #26 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #27 _g_closure_invoke_va
    at gclosure.c line 840
  • #28 g_signal_emit_valist
    at gsignal.c line 3234
  • #29 g_signal_emit
    at gsignal.c line 3384
  • #30 gtk_widget_size_allocate
  • #31 ??
    from /usr/lib64/libgtk-3.so.0
  • #32 ??
    from /usr/lib64/libgtk-3.so.0
  • #33 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #34 _g_closure_invoke_va
    at gclosure.c line 840
  • #35 g_signal_emit_valist
    at gsignal.c line 3234
  • #36 g_signal_emit
    at gsignal.c line 3384
  • #37 gtk_widget_size_allocate
    from /usr/lib64/libgtk-3.so.0
  • #38 ??
    from /usr/lib64/libgtk-3.so.0
  • #39 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #40 _g_closure_invoke_va
  • #41 g_signal_emit_valist
    at gsignal.c line 3234
  • #42 g_signal_emit
    at gsignal.c line 3384
  • #43 gtk_widget_size_allocate
    from /usr/lib64/libgtk-3.so.0
  • #44 ??
    from /usr/lib64/libgtk-3.so.0
  • #45 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #46 _g_closure_invoke_va
    at gclosure.c line 840
  • #47 g_signal_emit_valist
    at gsignal.c line 3234
  • #48 g_signal_emit
    at gsignal.c line 3384
  • #49 gtk_widget_size_allocate
  • #50 ??
    from /usr/lib64/libgtk-3.so.0
  • #51 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #52 _g_closure_invoke_va
    at gclosure.c line 840
  • #53 g_signal_emit_valist
    at gsignal.c line 3234
  • #54 g_signal_emit
    at gsignal.c line 3384
  • #55 gtk_widget_size_allocate
    from /usr/lib64/libgtk-3.so.0
  • #56 ??
    from /usr/lib64/libgtk-3.so.0
  • #57 ??
    from /usr/lib64/libgtk-3.so.0
  • #58 g_closure_invoke
    at gclosure.c line 777
  • #59 signal_emit_unlocked_R
  • #60 g_signal_emit_valist
    at gsignal.c line 3328
  • #61 g_signal_emit
    at gsignal.c line 3384
  • #62 gtk_widget_size_allocate
    from /usr/lib64/libgtk-3.so.0
  • #63 gtk_container_resize_children
    from /usr/lib64/libgtk-3.so.0
  • #64 ??
    from /usr/lib64/libgtk-3.so.0
  • #65 _g_closure_invoke_va
    at gclosure.c line 840
  • #66 g_signal_emit_valist
    at gsignal.c line 3234
  • #67 g_signal_emit
    at gsignal.c line 3384
  • #68 ??
    from /usr/lib64/libgtk-3.so.0
  • #69 g_closure_invoke
  • #70 signal_emit_unlocked_R
    at gsignal.c line 3584
  • #71 g_signal_emit_valist
    at gsignal.c line 3328
  • #72 g_signal_emit_by_name
    at gsignal.c line 3424
  • #73 ??
    from /usr/lib64/libgdk-3.so.0
  • #74 ??
    from /usr/lib64/libgdk-3.so.0
  • #75 g_timeout_dispatch
    at gmain.c line 4413
  • #76 g_main_dispatch
    at gmain.c line 3054
  • #77 g_main_context_dispatch
    at gmain.c line 3630
  • #78 g_main_context_iterate
    at gmain.c line 3701
  • #79 g_main_context_iteration
  • #80 g_application_run
    at gapplication.c line 1623
  • #81 main
    at main.c line 332

Comment 6 Evgeny Bobkin 2013-05-26 19:32:18 UTC
sadly, I does not happen with every pdf file, with some I can not share in public almost immediately and with some, it does not happen at all, so it will not be easy to track down, right?

and from the last trace, it does not seem to be a bug in libpoppler right?
Comment 7 Christian Persch 2013-06-06 11:33:19 UTC

*** This bug has been marked as a duplicate of bug 697397 ***
Comment 8 Evgeny Bobkin 2013-06-07 07:52:22 UTC
what makes you think by the way that this bug report could be duplicate?
Comment 9 Germán Poo-Caamaño 2013-06-08 05:44:02 UTC
(In reply to comment #8)
> what makes you think by the way that this bug report could be duplicate?

They share the same stacktrace for the latest functions called.