GNOME Bugzilla – Bug 778919
Crash on big JPEG/PNG
Last modified: 2021-06-19 08:47:13 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
+ Trace 237159
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.
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.