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 725875 - Randomly crashes when reading pdfs
Randomly crashes when reading pdfs
Status: RESOLVED FIXED
Product: evince
Classification: Core
Component: general
3.11.x
Other Linux
: Normal normal
: ---
Assigned To: Evince Maintainers
Evince Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-03-07 05:21 UTC by Ankur Sinha (FranciscoD)
Modified: 2014-10-02 16:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
trace with evince 3.14 (20.84 KB, text/x-log)
2014-10-02 09:12 UTC, Ankur Sinha (FranciscoD)
Details

Description Ankur Sinha (FranciscoD) 2014-03-07 05:21:43 UTC
Version: evince-3.11.90-1.fc20.x86_64


How reproducible: Always

Steps to reproduce:
1. Write a LaTeX document using vim and vim-latex.
2. Compile once and open the resultant pdf document with evince in another terminal
3. While evince is open, modify the latex source, save, recompile

Expected result:
Evince refreshes document, continues to function.

Actual result:
Evince does refresh the document, but crashes soon after.

Stack trace:
Program received signal SIGSEGV, Segmentation fault.
0x0000003a9f415284 in g_object_unref (_object=0xbaef20) at gobject.c:3009
3009      g_return_if_fail (G_IS_OBJECT (object));
(gdb) where
  • #0 g_object_unref
    at gobject.c line 3009
  • #1 expiry_func
    at accessible-leasing.c line 122
  • #2 g_timeout_dispatch
    at gmain.c line 4472
  • #3 g_main_dispatch
    at gmain.c line 3064
  • #4 g_main_context_dispatch
    at gmain.c line 3663
  • #5 g_main_context_iterate
    at gmain.c line 3734
  • #6 g_main_context_iteration
    at gmain.c line 3795
  • #7 g_application_run
    at gapplication.c line 2114
  • #8 main
    at main.c line 316

Additional information:
I've only used vim and vim-latex, but as long as the document is being modified in a similar, the bug should be reproducible. I used the same setup in F19 and evince did not crash. It handled the modification just fine and refreshed the document.
Comment 1 Ankur Sinha (FranciscoD) 2014-03-07 05:26:50 UTC
I get a lot of there errors when I run evince:

(evince:15254): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Comment 2 José Aliste 2014-03-07 12:11:07 UTC
can you run evince with --g-fatal-warnings so the first warning should give you a better stacktrace
Comment 3 Ankur Sinha (FranciscoD) 2014-03-11 04:15:05 UTC
(In reply to comment #2)
> can you run evince with --g-fatal-warnings so the first warning should give you
> a better stacktrace

Hi,

This is what I got using --g-fatal-warnings:

Reading symbols from /usr/bin/evince...Reading symbols from /usr/lib/debug/usr/bin/evince.debug...done.
done.
(gdb) run --g-fatal-warnings ./main.pdf
Starting program: /usr/bin/evince --g-fatal-warnings ./main.pdf
gobject.pyc: gdb was not built with custom backtrace support, disabling.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: the debug information found in "/usr/lib/debug//lib64/libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug/usr/lib64/libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//usr/lib64/libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug/usr/lib64//libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

[New Thread 0x7ffff1695700 (LWP 3007)]
[New Thread 0x7ffff0824700 (LWP 3008)]
[New Thread 0x7fffebfff700 (LWP 3009)]
[New Thread 0x7fffe9c07700 (LWP 3010)]
[New Thread 0x7fffe9364700 (LWP 3011)]

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

Program received signal SIGTRAP, Trace/breakpoint trap.
g_logv (log_domain=0x3a9f43ada4 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffd8a0) at gmessages.c:1038
1038              g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
Missing separate debuginfos, use: debuginfo-install systemd-libs-208-15.fc20.x86_64
(gdb) bt
  • #0 g_logv
    at gmessages.c line 1038
  • #1 g_log
    at gmessages.c line 1071
  • #2 gtk_notebook_page_accessible_ref_state_set
    at gtknotebookpageaccessible.c line 157
  • #0 g_logv
    at gmessages.c line 1038
  • #1 g_log
    at gmessages.c line 1071
  • #2 gtk_notebook_page_accessible_ref_state_set
    at gtknotebookpageaccessible.c line 157
  • #3 add_pending_items
    at accessible-cache.c line 275
  • #0 g_logv
    at gmessages.c line 1038
  • #1 g_log
    at gmessages.c line 1071
  • #2 gtk_notebook_page_accessible_ref_state_set
    at gtknotebookpageaccessible.c line 157

Hope this helps.
Thanks,
Warm regards,
Ankur
Comment 4 Ankur Sinha (FranciscoD) 2014-03-11 04:16:31 UTC
BZ ignored the other back traces that I'd attached. On using the flag, it always seems to crash:


(gdb) run
Starting program: /usr/bin/evince --g-fatal-warnings ./gradschooltalk.pdf
gobject.pyc: gdb was not built with custom backtrace support, disabling.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: the debug information found in "/usr/lib/debug//lib64/libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug/usr/lib64/libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//usr/lib64/libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug/usr/lib64//libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

[New Thread 0x7ffff1695700 (LWP 6921)]
[New Thread 0x7ffff0824700 (LWP 6922)]
[New Thread 0x7fffebfff700 (LWP 6923)]
[New Thread 0x7fffe9c07700 (LWP 6924)]
[New Thread 0x7fffe9364700 (LWP 6925)]
[New Thread 0x7fffe8b63700 (LWP 6926)]
[New Thread 0x7fffdbc07700 (LWP 6927)]
[New Thread 0x7fffdb406700 (LWP 6928)]
[New Thread 0x7fffdac05700 (LWP 6929)]
[New Thread 0x7fffda404700 (LWP 6930)]
[New Thread 0x7fffd9c03700 (LWP 6931)]

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

Program received signal SIGTRAP, Trace/breakpoint trap.
g_logv (log_domain=0x3a9f43ada4 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffd8d0) at gmessages.c:1038
1038              g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
Missing separate debuginfos, use: debuginfo-install systemd-libs-208-15.fc20.x86_64
(gdb) bt
  • #0 g_logv
    at gmessages.c line 1038
  • #1 g_log
    at gmessages.c line 1071
  • #2 gtk_notebook_page_accessible_ref_state_set
    at gtknotebookpageaccessible.c line 157

Comment 5 Ankur Sinha (FranciscoD) 2014-03-11 04:17:39 UTC
Here's another example:

(gdb) run --g-fatal-warnings ./Bin-roster.pdf
Starting program: /usr/bin/evince --g-fatal-warnings ./Bin-roster.pdf
gobject.pyc: gdb was not built with custom backtrace support, disabling.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: the debug information found in "/usr/lib/debug//lib64/libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug/usr/lib64/libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//usr/lib64/libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug/usr/lib64//libudev.so.1.4.0.debug" does not match "/lib64/libudev.so.1" (CRC mismatch).

[New Thread 0x7ffff1695700 (LWP 4513)]
[New Thread 0x7ffff0824700 (LWP 4514)]
[New Thread 0x7fffebfff700 (LWP 4515)]
[New Thread 0x7fffe9c07700 (LWP 4516)]
[New Thread 0x7fffe9364700 (LWP 4517)]
[New Thread 0x7fffdafe8700 (LWP 4518)]

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

Program received signal SIGTRAP, Trace/breakpoint trap.
g_logv (log_domain=0x3a9f43ada4 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffd8f0) at gmessages.c:1038
1038              g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
Missing separate debuginfos, use: debuginfo-install systemd-libs-208-15.fc20.x86_64
(gdb) bt
  • #0 g_logv
    at gmessages.c line 1038
  • #1 g_log
    at gmessages.c line 1071
  • #2 gtk_notebook_page_accessible_ref_state_set
    at gtknotebookpageaccessible.c line 157
  • #3 add_pending_items
    at accessible-cache.c line 275


So it isn't a LaTeX related thing probably. The file in the previous comment was created using Libreoffice. Not sure what this one was created with.

Thanks,
Warm regards,
Ankur
Comment 6 Ankur Sinha (FranciscoD) 2014-03-11 04:18:54 UTC
(In reply to comment #4)
> BZ ignored the other back traces that I'd attached. On using the flag, it
> always seems to crash:
> 

Or combined them..
Comment 7 adria.arrufat 2014-10-01 09:10:15 UTC
I confirm the issue.
I found out evince crashed every time I recompiled the LaTeX source, but in fact you can make crash evince just by typing Ctrl+R to reload the file.
Comment 8 José Aliste 2014-10-01 10:03:08 UTC
which versions of evince? Unfortunately, we had several crashes when reloading that were already fixed (recently) can you try with evince from git master?
Comment 9 adria.arrufat 2014-10-01 17:10:01 UTC
Yes, I was using evince 3.14 and I can confirm evince from master does not crash any more.
Thank you :D
Comment 10 José Aliste 2014-10-01 19:55:49 UTC
Ankur. Do you still reproduce the bug? The warnings were problems in gtk with trespect to accesibility that were already fixed... But I am interested to see if you still can reproduce the bug (without calling evince with --g-fatal-warnings)
Comment 11 Ankur Sinha (FranciscoD) 2014-10-02 09:11:53 UTC
(In reply to comment #10)
> Ankur. Do you still reproduce the bug? The warnings were problems in gtk with
> trespect to accesibility that were already fixed... But I am interested to see
> if you still can reproduce the bug (without calling evince with
> --g-fatal-warnings)

Hi Jose,

It still crashes for me. I'm attaching a fresh trace.

evince-3.14.0-1.fc21.x86_64

I'll try it out from master in a day or two and let you know how that goes. 

Thanks,
Ankur
Comment 12 Ankur Sinha (FranciscoD) 2014-10-02 09:12:51 UTC
Created attachment 287567 [details]
trace with evince 3.14
Comment 13 José Aliste 2014-10-02 09:47:14 UTC
Hey, this trace is about the bug we just fixed. So hopefully when you update to master (the fix will be in 3.14.1), you shouldn't have the crash anymore. I'll leave this bug open until you confirm the bug is gone. Thanks
Comment 14 Ankur Sinha (FranciscoD) 2014-10-02 16:29:43 UTC
(In reply to comment #13)
> Hey, this trace is about the bug we just fixed. So hopefully when you update to
> master (the fix will be in 3.14.1), you shouldn't have the crash anymore. I'll
> leave this bug open until you confirm the bug is gone. Thanks

Hi Jose,

I built and tested with commit d73d35eadc98edd9a4e30544af5bd6b6b30c8b1d. The issue is indeed fixed. Evince no longer crashes :)

Thanks a bunch. Closing the bug :)
Warm regards,
Ankur