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 778919 - Crash on big JPEG/PNG
Crash on big JPEG/PNG
Status: RESOLVED OBSOLETE
Product: eog
Classification: Core
Component: image viewer
3.18.x
Other Linux
: Normal normal
: ---
Assigned To: EOG Maintainers
EOG Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-02-19 19:10 UTC by Hubert Barc
Modified: 2021-06-19 08:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Samples that crash eog (1.68 MB, application/gzip)
2017-02-19 19:10 UTC, Hubert Barc
Details

Description Hubert Barc 2017-02-19 19:10:35 UTC
Created attachment 346201 [details]
Samples that crash eog

EOG fails to display:

> crash.png: PNG image data, 256 x 40016, 8-bit/color RGB, non-interlaced
and
> crash.jpeg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 256x40016, frames 3

which for example 'viewnior' is handling just fine. Crashing samples attached(crash.png - 2.1M, crash.jpeg - 926K)


$ GDK_SYNCHRONIZE="1" gdb eog
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 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-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Loaded 103 commands.  Type pwndbg [filter] for a list.
Reading symbols from eog...Reading symbols from /usr/lib/debug//usr/bin/eog...done.
done.
pwndbg> r crash.png 
Starting program: /usr/bin/eog crash.png
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe9413700 (LWP 6531)]
[New Thread 0x7fffe8a0f700 (LWP 6532)]
[New Thread 0x7fffe3fff700 (LWP 6533)]
[New Thread 0x7fffe24e5700 (LWP 6534)]

(eog:6527): Gdk-ERROR **: The program 'eog' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
  (Details: serial 497 error_code 11 request_code 130 (MIT-SHM) minor_code 5)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Thread 1 "eog" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff6762a5b in _g_log_abort (breakpoint=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmessages.c:325
325	/build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmessages.c: No such file or directory.
pwndbg> bt
  • #0 g_logv
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmessages.c line 325
  • #1 g_logv
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmessages.c line 1080
  • #2 g_log
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmessages.c line 1119
  • #3 0x00007ffff5a5c068 in
  • #4 0x00007ffff5a672d9 in
  • #5 _XError
  • #6 0x00007ffff3e2cad7 in
  • #7 0x00007ffff3e2cb95 in
  • #8 _XReply
  • #9 XSync
  • #10 0x00007ffff3e2952b in
  • #11 0x00007ffff3e305cf in
  • #12 XShmCreatePixmap
  • #13 _cairo_xlib_shm_surface_create
    at ../../../../src/cairo-xlib-surface-shm.c line 842
  • #14 _cairo_xlib_surface_create_shm
    at ../../../../src/cairo-xlib-surface-shm.c line 1155
  • #15 _cairo_xlib_surface_create_similar_shm
    at ../../../../src/cairo-xlib-surface-shm.c line 1180
  • #16 INT_cairo_surface_create_similar_image
    at ../../../../src/cairo-surface.c line 593
  • #17 cairo_surface_create_similar
    at ../../../../src/cairo-surface.c line 518
  • #18 gdk_window_create_similar_surface
  • #19 update_pixbuf
    at eog-scroll-view.c line 206
  • #20 update_pixbuf
    at eog-scroll-view.c line 1605
  • #21 eog_scroll_view_set_image
    at eog-scroll-view.c line 1908
  • #22 eog_window_display_image
    at eog-window.c line 968
  • #23 eog_job_load_cb
    at eog-window.c line 1396
  • #24 _g_closure_invoke_va
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./gobject/gclosure.c line 867
  • #25 g_signal_emit_valist
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./gobject/gsignal.c line 3294
  • #26 g_signal_emit
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./gobject/gsignal.c line 3441
  • #27 notify_finished
    at eog-jobs.c line 158
  • #28 g_main_context_dispatch
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c line 3154
  • #29 g_main_context_dispatch
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c line 3769
  • #30 g_main_context_iterate
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c line 3840
  • #31 g_main_context_iteration
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c line 3901
  • #32 g_application_run
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./gio/gapplication.c line 2381
  • #33 main
    at main.c line 133
  • #34 __libc_start_main
    at ../csu/libc-start.c line 291
  • #35 _start
  • #0 g_logv
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmessages.c line 325
  • #1 g_logv
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmessages.c line 1080
  • #2 g_log
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmessages.c line 1119
  • #3 0x00007ffff5a5c068 in
  • #4 0x00007ffff5a672d9 in
  • #5 _XError
  • #6 0x00007ffff3e2cad7 in
  • #7 0x00007ffff3e2cb95 in
  • #8 _XReply
  • #9 XSync
  • #10 0x00007ffff3e2952b in
  • #11 0x00007ffff3e305cf in
  • #12 XShmCreatePixmap
  • #13 _cairo_xlib_shm_surface_create
    at ../../../../src/cairo-xlib-surface-shm.c line 842
  • #14 _cairo_xlib_surface_create_shm
    at ../../../../src/cairo-xlib-surface-shm.c line 1155
  • #15 _cairo_xlib_surface_create_similar_shm
    at ../../../../src/cairo-xlib-surface-shm.c line 1180
  • #16 INT_cairo_surface_create_similar_image
    at ../../../../src/cairo-surface.c line 593
  • #17 cairo_surface_create_similar
    at ../../../../src/cairo-surface.c line 518
  • #18 gdk_window_create_similar_surface
  • #19 update_pixbuf
    at eog-scroll-view.c line 206
  • #20 update_pixbuf
    at eog-scroll-view.c line 1605
  • #21 eog_scroll_view_set_image
    at eog-scroll-view.c line 1908
  • #22 eog_window_display_image
    at eog-window.c line 968
  • #23 eog_job_load_cb
    at eog-window.c line 1396
  • #24 _g_closure_invoke_va
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./gobject/gclosure.c line 867
  • #25 g_signal_emit_valist
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./gobject/gsignal.c line 3294
  • #26 g_signal_emit
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./gobject/gsignal.c line 3441
  • #27 notify_finished
    at eog-jobs.c line 158
  • #28 g_main_context_dispatch
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c line 3154
  • #29 g_main_context_dispatch
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c line 3769
  • #30 g_main_context_iterate
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c line 3840
  • #31 g_main_context_iteration
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c line 3901
  • #32 g_application_run
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./gio/gapplication.c line 2381
  • #33 main
    at main.c line 133
  • #34 __libc_start_main
    at ../csu/libc-start.c line 291
  • #35 _start

Comment 1 Robert Roth 2017-11-02 09:25:59 UTC
This seems like an error in the Cairo x11 backend. Opening the same images on wayland doesn't crash but still throws lots of warnings about being too large, so I guess the problem here is that cairo crashes when opening a 40015x256 px (if I remember well) image with the x11 backend.
Comment 2 André Klapper 2021-06-19 08:47:13 UTC
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org.
As part of that, we are mass-closing older open tickets in bugzilla.gnome.org
which have not seen updates for a longer time (resources are unfortunately
quite limited so not every ticket can get handled).

If you can still reproduce the situation described in this ticket in a recent
and supported software version, then please follow
  https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines
and create a new ticket at
  https://gitlab.gnome.org/GNOME/eog/-/issues/

Thank you for your understanding and your help.