GIMP 2.10.20 Linux segmentation fault when closing WebP image with incorrect .jpg extension
GIMP version:
Note: bug reporters are expected to have verified the bug still exists either in the last stable version of GIMP or on updated development code (master branch).
Operating System: Linux, GNOME 3.30.2 $ uname -a Linux fluffy 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 GNU/Linux
Package: flatpak
Description of the bug
Using Firefox 68.11.0esr, viewed the large popup image at https://shop.cropmobster.com/collections/mens/products/make-aparagus-great-again-unisex-short-sleeve-t-shirt . Saved image to disk and saw that Firefox appended .jpg to the filename. Opened image in GIMP, was going to crop it, but decided not to. Closed the image and GIMP crashed. Discovered that the image was actually a WebP. Renamed as .webp, re-opened in GIMP, and everything works fine. NOTE: I've attaced the file with the correct .webp extension, not as it was originally save with the .jpg extension.
Reproduction
Is the bug reproducible? No. Happened only once. Tried to reproduce 5 times without success.
Reproduction steps:
- Open image (with incorrect .jpg extension) using GNOME right-click > Open With Other Application > GNU Image Manipulation Program
- Zoom in and out
- Quit GIMP with ctl-Q
- GIMP segmentation fault
Expected result: GIMP quits with no error
Actual result: segmentation fault w/resulting GIMP bug-report popup MakeAsparagusGreatAgain_T-Shirt_CropMobster.webp
Additional information
If you have a backtrace for a crash or a warning, paste it here.
GNU Image Manipulation Program version 2.10.20
git-describe: GIMP_2_10_20
Build: org.gimp.GIMP.flatpak.stable rev 0 for linux
# C compiler #
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-unknown-linux-gnu/9.2.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/bin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --enable-deterministic-archives --enable-shared --build=x86_64-pc-linux-gnu --host=x86_64-unknown-linux-gnu lt_cv_sys_lib_dlsearch_path_spec=/usr/lib/x86_64-linux-gnu --target=x86_64-unknown-linux-gnu --disable-multilib --enable-multiarch --disable-bootstrap --with-build-sysroot=/cross-installation --enable-languages=c,c++,fortran --enable-default-pie --enable-default-ssp --with-isl --enable-linker-build-id --disable-libstdcxx-filesystem-ts host_configargs=lt_cv_sys_lib_dlsearch_path_spec=/usr/lib/x86_64-linux-gnu target_configargs=lt_cv_sys_lib_dlsearch_path_spec=/usr/lib/x86_64-linux-gnu
Thread model: posix
gcc version 9.2.0 (GCC)
# Libraries #
using babl version 0.1.78 (compiled against version 0.1.78)
using GEGL version 0.4.24 (compiled against version 0.4.24)
using GLib version 2.64.4 (compiled against version 2.64.3)
using GdkPixbuf version 2.40.0 (compiled against version 2.40.0)
using GTK+ version 2.24.32 (compiled against version 2.24.32)
using Pango version 1.44.7 (compiled against version 1.44.7)
using Fontconfig version 2.13.1 (compiled against version 2.13.1)
using Cairo version 1.16.0 (compiled against version 1.16.0)
fatal error: Segmentation fault
Stack trace:
/app/lib/libgimpbase-2.0.so.0(gimp_stack_trace_print+0x397)[0x7f12cc3cf9e7]
gimp-2.10(+0xfa60d)[0x55851817f60d]
gimp-2.10(gimp_fatal_error+0x1d)[0x55851817fa4d]
gimp-2.10(+0xfb0df)[0x5585181800df]
/usr/lib/x86_64-linux-gnu/libpthread.so.0(+0x13adf)[0x7f12cb843adf]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_type_check_instance+0x81)[0x7f12cbb63cd1]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x3e)[0x7f12cbb59b6e]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x1b1)[0x7f12cbb3b861]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x28873)[0x7f12cbb4f873]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x10ad)[0x7f12cbb5abdd]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]
/app/lib/libgtk-x11-2.0.so.0(+0x15955f)[0x7f12cc65555f]
/app/lib/libgtk-x11-2.0.so.0(+0x14e604)[0x7f12cc64a604]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0xb7)[0x7f12cbb3b767]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x289c1)[0x7f12cbb4f9c1]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x10ad)[0x7f12cbb5abdd]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]
/app/lib/libgtk-x11-2.0.so.0(+0x2695d8)[0x7f12cc7655d8]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_run_dispose+0x50)[0x7f12cbb42530]
/app/lib/libgtk-x11-2.0.so.0(+0x158e6c)[0x7f12cc654e6c]
/app/lib/libgtk-x11-2.0.so.0(+0xcb37a)[0x7f12cc5c737a]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0xb7)[0x7f12cbb3b767]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x28b64)[0x7f12cbb4fb64]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x10ad)[0x7f12cbb5abdd]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]
/app/lib/libgtk-x11-2.0.so.0(+0x16e425)[0x7f12cc66a425]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_unref+0x112)[0x7f12cbb40cf2]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_value_unset+0x27)[0x7f12cbb66477]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0xafb)[0x7f12cbb5a62b]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]
/app/lib/libgtk-x11-2.0.so.0(+0x2695d8)[0x7f12cc7655d8]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_unref+0x112)[0x7f12cbb40cf2]
gimp-2.10(+0x333720)[0x5585183b8720]
gimp-2.10(+0x3337e5)[0x5585183b87e5]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x1b1)[0x7f12cbb3b861]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x27ff5)[0x7f12cbb4eff5]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x10ad)[0x7f12cbb5abdd]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]
/app/lib/libgtk-x11-2.0.so.0(+0x263047)[0x7f12cc75f047]
/app/lib/libgtk-x11-2.0.so.0(+0x21834e)[0x7f12cc71434e]
/app/lib/libgtk-x11-2.0.so.0(+0x26308d)[0x7f12cc75f08d]
/app/lib/libgtk-x11-2.0.so.0(+0x21c446)[0x7f12cc718446]
/app/lib/libgtk-x11-2.0.so.0(+0x26308d)[0x7f12cc75f08d]
/app/lib/libgtk-x11-2.0.so.0(+0x95546)[0x7f12cc591546]
/app/lib/libgtk-x11-2.0.so.0(+0x26308d)[0x7f12cc75f08d]
/app/lib/libgtk-x11-2.0.so.0(+0x95546)[0x7f12cc591546]
/app/lib/libgtk-x11-2.0.so.0(+0x26308d)[0x7f12cc75f08d]
/app/lib/libgtk-x11-2.0.so.0(+0x95546)[0x7f12cc591546]
/app/lib/libgtk-x11-2.0.so.0(+0x26308d)[0x7f12cc75f08d]
/app/lib/libgtk-x11-2.0.so.0(+0x95546)[0x7f12cc591546]
/app/lib/libgtk-x11-2.0.so.0(+0x26308d)[0x7f12cc75f08d]
/app/lib/libgtk-x11-2.0.so.0(+0x95546)[0x7f12cc591546]
/app/lib/libgtk-x11-2.0.so.0(+0x26308d)[0x7f12cc75f08d]
/app/lib/libgtk-x11-2.0.so.0(+0x173053)[0x7f12cc66f053]
/app/lib/libgtk-x11-2.0.so.0(+0x26308d)[0x7f12cc75f08d]
/app/lib/libgtk-x11-2.0.so.0(+0x95546)[0x7f12cc591546]
/app/lib/libgtk-x11-2.0.so.0(+0x26308d)[0x7f12cc75f08d]
/app/lib/libgtk-x11-2.0.so.0(+0x95546)[0x7f12cc591546]
/app/lib/libgtk-x11-2.0.so.0(+0x26308d)[0x7f12cc75f08d]
/app/lib/libgtk-x11-2.0.so.0(+0x265b63)[0x7f12cc761b63]
/app/lib/libgtk-x11-2.0.so.0(gtk_widget_unparent+0x173)[0x7f12cc764163]
/app/lib/libgtk-x11-2.0.so.0(+0x92943)[0x7f12cc58e943]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x1b1)[0x7f12cbb3b861]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x289c1)[0x7f12cbb4f9c1]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x10ad)[0x7f12cbb5abdd]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]
/app/lib/libgtk-x11-2.0.so.0(+0x2695d8)[0x7f12cc7655d8]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_run_dispose+0x50)[0x7f12cbb42530]
/app/lib/libgtk-x11-2.0.so.0(+0xcb37a)[0x7f12cc5c737a]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x1b1)[0x7f12cbb3b861]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x28b64)[0x7f12cbb4fb64]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x10ad)[0x7f12cbb5abdd]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]
/app/lib/libgtk-x11-2.0.so.0(+0x16e425)[0x7f12cc66a425]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_run_dispose+0x50)[0x7f12cbb42530]
gimp-2.10(gimp_display_delete+0x13f)[0x5585182720cf]
gimp-2.10(gimp_displays_delete+0x1f)[0x558518272c6f]
gimp-2.10(+0xfcf59)[0x558518181f59]
gimp-2.10(gimp_marshal_BOOLEAN__BOOLEAN+0x6a)[0x55851846ed3a]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x1b1)[0x7f12cbb3b861]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x28873)[0x7f12cbb4f873]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x96c)[0x7f12cbb5a49c]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]
gimp-2.10(gimp_exit+0x71)[0x558518471fa1]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x1b1)[0x7f12cbb3b861]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x28873)[0x7f12cbb4f873]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x10ad)[0x7f12cbb5abdd]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]
gimp-2.10(+0x255ee3)[0x5585182daee3]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x1b1)[0x7f12cbb3b861]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x289c1)[0x7f12cbb4f9c1]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x10ad)[0x7f12cbb5abdd]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]
/app/lib/libgtk-x11-2.0.so.0(+0x85f24)[0x7f12cc581f24]
/app/lib/libgtk-x11-2.0.so.0(+0x86740)[0x7f12cc582740]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x1b1)[0x7f12cbb3b861]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x28873)[0x7f12cbb4f873]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x96c)[0x7f12cbb5a49c]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x92)[0x7f12cbb5b112]