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 530202 - Hangs on corrupt DjVu files
Hangs on corrupt DjVu files
Status: RESOLVED FIXED
Product: evince
Classification: Core
Component: general
2.22.x
Other Linux
: Normal normal
: ---
Assigned To: Evince Maintainers
Evince Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-04-27 13:52 UTC by Sven Arvidsson
Modified: 2008-04-29 19:10 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description Sven Arvidsson 2008-04-27 13:52:58 UTC
[ From http://bugs.debian.org/477571 by Karl Chen ]

"When attempting to view a corrupted DjVu file (or non-DjVu
file with .djv extension), evince hangs (doesn't respond to
X quit messages; have to kill it manually).

Stdout/stderr shows messages such as:


** (process:28369): WARNING **: DjvuLibre error: ** Unrecognized DjVu Message:
        ** Message name:  \u0003IFFByteStream.corrupt_id

or:

** (evince:29344): WARNING **: DjvuLibre error: ** Unrecognized DjVu Message:
	** Message name:  \u0003EOF


example:
echo foo > foo.djv
evince foo.djv"

The backtrace below does seem to suggest a problem with djvulibre, but djview can handle this situation. It exits with an error, complaining about a broken file.

Program received signal SIGINT, Interrupt.

Thread 3066136352 (LWP 7790)

  • #0 __kernel_vsyscall
  • #1 pthread_cond_wait
    from /lib/i686/cmov/libpthread.so.0
  • #2 DJVU::GMonitor::wait
    from /usr/lib/libdjvulibre.so.21
  • #3 ddjvu_message_wait
    from /usr/lib/libdjvulibre.so.21
  • #4 djvu_handle_events
    at /tmp/buildd/evince-2.22.1.1/./backend/djvu/djvu-document.c line 81
  • #5 djvu_document_get_page_size
    at /tmp/buildd/evince-2.22.1.1/./backend/djvu/djvu-document.c line 210
  • #6 ev_document_get_page_size
    at /tmp/buildd/evince-2.22.1.1/./libdocument/ev-document.c line 162
  • #7 ev_page_cache_new
    at /tmp/buildd/evince-2.22.1.1/./shell/ev-page-cache.c line 297
  • #8 ev_page_cache_get
    at /tmp/buildd/evince-2.22.1.1/./shell/ev-page-cache.c line 688
  • #9 ev_window_load_job_cb
    at /tmp/buildd/evince-2.22.1.1/./shell/ev-window.c line 1157
  • #10 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.16.3/gobject/gmarshal.c line 77
  • #11 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.16.3/gobject/gclosure.c line 490
  • #12 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.16.3/gobject/gsignal.c line 2440
  • #13 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.16.3/gobject/gsignal.c line 2199
  • #14 IA__g_signal_emit
    at /build/buildd/glib2.0-2.16.3/gobject/gsignal.c line 2243
  • #15 ev_job_finished
    at /tmp/buildd/evince-2.22.1.1/./shell/ev-jobs.c line 250
  • #16 notify_finished
    at /tmp/buildd/evince-2.22.1.1/./shell/ev-job-queue.c line 85
  • #17 g_idle_dispatch
    at /build/buildd/glib2.0-2.16.3/glib/gmain.c line 4087
  • #18 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.16.3/glib/gmain.c line 2009
  • #19 g_main_context_iterate
    at /build/buildd/glib2.0-2.16.3/glib/gmain.c line 2642
  • #20 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.16.3/glib/gmain.c line 2850
  • #21 IA__gtk_main
    at /tmp/buildd/gtk+2.0-2.12.9/gtk/gtkmain.c line 1163
  • #22 main
    at /tmp/buildd/evince-2.22.1.1/./shell/main.c line 401

Comment 1 Carlos Garcia Campos 2008-04-29 19:10:45 UTC
Fixed in svn trunk. Thanks for reporting.