GIMP (2_10_2-1842-g25cf1340) crashes both randomly and regularly
GIMP version: 2.99.1 (2_10_2-1842-g25cf1340)
Operating System: Archlinux
Package: gimp-git (AUR)
Description of the bug
Really annoying crash. Certain actions trigger this, like generating a preview of a specific file in a file dialog, exporting a certain image to a certain filetype, or certain actions on an image like rendering a filter.
Once the crash has occurred for that specific file, image, or action, it will occur every time after for the same file, image, or action.
I've actually been living with this for quite a while. Most of the time, recompiling the program works around the crash for the current file, image, or action, but the crash always returns, triggered by another file, image, or action.
Reproduction
Is the bug reproducible?
Randomly? It seems to pick, at random, very specific files, images, or actions to crash on and oddly not similar files, images, or actions. I'm not sure I can specify a means or procedure to reproduce reliably.
Expected result:
Able to open files from the file dialog, or export an image to a certain filetype, or perform a certain action on an image.
Actual result:
Some files crash GIMP before a preview appears in a dialog, while most do not. Some images crash gimp when exporting to a certain filetype (a junk file of ~800 bytes is created), while most do not. Some actions on certain images crash GIMP--but not the same actions on other images.
Additional information
GNU Image Manipulation Program version 2.99.1
git-describe: GIMP_2_10_2-1842-g25cf13402c
C compiler:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto
Thread model: posix
gcc version 8.2.1 20181127 (GCC)
using GEGL version 0.4.13 (compiled against version 0.4.13)
using GLib version 2.58.2 (compiled against version 2.58.2)
using GdkPixbuf version 2.38.0 (compiled against version 2.38.0)
using GTK+ version 3.22.30 (compiled against version 3.24.2) *I did notice this; the program was compiled in a "clean chroot", which builds it against the gtk3 distributed in the Archlinux repositories. My live system however is using gtk3-ubuntu, which is slightly out of date. It is not trivial to update or replace the gtk3-ubuntu package for my desktop; I may try replacing gtk3 in the "clean chroot" with "gtk3-ubuntu" as it is the only viable workaround if this is the cause of the crashing. I should note, the same kinds of crashes have occurred when this was not the case as well (compiled against gtk 3.22.30)*
using Pango version 1.42.3 (compiled against version 1.42.3)
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:
# Stack traces obtained from PID 25417 - Thread 25417 #
[New LWP 25419]
[New LWP 25420]
[New LWP 25421]
[New LWP 25422]
[New LWP 25423]
[New LWP 25424]
[New LWP 25425]
[New LWP 25426]
[New LWP 25427]
[New LWP 25428]
[New LWP 25445]
[New LWP 25585]
[New LWP 25632]
[New LWP 25657]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
0x00007f83c707b184 in read () from /usr/lib/libpthread.so.0
Id Target Id Frame
* 1 Thread 0x7f83c09aee00 (LWP 25417) "gimp-2.99" 0x00007f83c707b184 in read () from /usr/lib/libpthread.so.0
2 Thread 0x7f83c03f7700 (LWP 25419) "worker" 0x00007f83c6f9c4ed in syscall () from /usr/lib/libc.so.6
3 Thread 0x7f83bfbf6700 (LWP 25420) "worker" 0x00007f83c6f9c4ed in syscall () from /usr/lib/libc.so.6
4 Thread 0x7f83bf3f5700 (LWP 25421) "worker" 0x00007f83c6f9c4ed in syscall () from /usr/lib/libc.so.6
5 Thread 0x7f83bebf4700 (LWP 25422) "worker" 0x00007f83c6f9c4ed in syscall () from /usr/lib/libc.so.6
6 Thread 0x7f83be3f3700 (LWP 25423) "worker" 0x00007f83c6f9c4ed in syscall () from /usr/lib/libc.so.6
7 Thread 0x7f83bdbf2700 (LWP 25424) "worker" 0x00007f83c6f9c4ed in syscall () from /usr/lib/libc.so.6
8 Thread 0x7f83bd3f1700 (LWP 25425) "worker" 0x00007f83c6f9c4ed in syscall () from /usr/lib/libc.so.6
9 Thread 0x7f83b7df8700 (LWP 25426) "gmain" 0x00007f83c6f96c21 in poll () from /usr/lib/libc.so.6
10 Thread 0x7f83b75f7700 (LWP 25427) "gdbus" 0x00007f83c6f96c21 in poll () from /usr/lib/libc.so.6
11 Thread 0x7f83921f8700 (LWP 25428) "async" 0x00007f83c6f9c4ed in syscall () from /usr/lib/libc.so.6
12 Thread 0x7f83919f7700 (LWP 25445) "swap writer" 0x00007f83c6f9c4ed in syscall () from /usr/lib/libc.so.6
13 Thread 0x7f8385ffd700 (LWP 25585) "dconf worker" 0x00007f83c6f96c21 in poll () from /usr/lib/libc.so.6
14 Thread 0x7f83867fe700 (LWP 25632) "pool" 0x00007f83c6f9c4ed in syscall () from /usr/lib/libc.so.6
15 Thread 0x7f8387fff700 (LWP 25657) "pool" 0x00007f83c6f9c4ed in syscall () from /usr/lib/libc.so.6
Thread 15 (Thread 0x7f8387fff700 (LWP 25657)):
#0 0x00007f83c6f9c4ed in syscall () at /usr/lib/libc.so.6
#1 0x00007f83c7250151 in g_cond_wait_until () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c72ce2c3 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007f83c72735fb in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#5 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 14 (Thread 0x7f83867fe700 (LWP 25632)):
#0 0x00007f83c6f9c4ed in syscall () at /usr/lib/libc.so.6
#1 0x00007f83c7250151 in g_cond_wait_until () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c72ce2c3 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007f83c72735fb in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#5 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 13 (Thread 0x7f8385ffd700 (LWP 25585)):
#0 0x00007f83c6f96c21 in poll () at /usr/lib/libc.so.6
#1 0x00007f83c72a1540 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c72a162e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3 0x00007f8390678bde in () at /usr/lib/gio/modules/libdconfsettings.so
#4 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#5 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 12 (Thread 0x7f83919f7700 (LWP 25445)):
#0 0x00007f83c6f9c4ed in syscall () at /usr/lib/libc.so.6
#1 0x00007f83c724f471 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c7f92099 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#5 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 11 (Thread 0x7f83921f8700 (LWP 25428)):
#0 0x00007f83c6f9c4ed in syscall () at /usr/lib/libc.so.6
#1 0x00007f83c724f471 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x0000555b4e313a7c in ()
#3 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#5 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 10 (Thread 0x7f83b75f7700 (LWP 25427)):
#0 0x00007f83c6f96c21 in poll () at /usr/lib/libc.so.6
#1 0x00007f83c72a1540 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c72a25c2 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007f83c7da0cb8 in () at /usr/lib/libgio-2.0.so.0
#4 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#5 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 9 (Thread 0x7f83b7df8700 (LWP 25426)):
#0 0x00007f83c6f96c21 in poll () at /usr/lib/libc.so.6
#1 0x00007f83c72a1540 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c72a162e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3 0x00007f83c72a1682 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#5 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 8 (Thread 0x7f83bd3f1700 (LWP 25425)):
#0 0x00007f83c6f9c4ed in syscall () at /usr/lib/libc.so.6
#1 0x00007f83c724f471 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c7f4b033 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#5 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 7 (Thread 0x7f83bdbf2700 (LWP 25424)):
#0 0x00007f83c6f9c4ed in syscall () at /usr/lib/libc.so.6
#1 0x00007f83c724f471 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c7f4b033 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#5 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 6 (Thread 0x7f83be3f3700 (LWP 25423)):
#0 0x00007f83c6f9c4ed in syscall () at /usr/lib/libc.so.6
#1 0x00007f83c724f471 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c7f4b033 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#5 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 5 (Thread 0x7f83bebf4700 (LWP 25422)):
#0 0x00007f83c6f9c4ed in syscall () at /usr/lib/libc.so.6
#1 0x00007f83c724f471 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c7f4b033 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#5 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 4 (Thread 0x7f83bf3f5700 (LWP 25421)):
#0 0x00007f83c6f9c4ed in syscall () at /usr/lib/libc.so.6
#1 0x00007f83c724f471 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c7f4b033 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#5 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 3 (Thread 0x7f83bfbf6700 (LWP 25420)):
#0 0x00007f83c6f9c4ed in syscall () at /usr/lib/libc.so.6
#1 0x00007f83c724f471 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c7f4b033 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#5 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 2 (Thread 0x7f83c03f7700 (LWP 25419)):
#0 0x00007f83c6f9c4ed in syscall () at /usr/lib/libc.so.6
#1 0x00007f83c724f471 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f83c7f4b033 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f83c727c67b in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f83c7071a9d in start_thread () at /usr/lib/libpthread.so.0
#5 0x00007f83c6fa1b23 in clone () at /usr/lib/libc.so.6
Thread 1 (Thread 0x7f83c09aee00 (LWP 25417)):
#0 0x00007f83c707b184 in read () at /usr/lib/libpthread.so.0
#1 0x00007f83c862aba4 in gimp_stack_trace_print () at /usr/lib/libgimpbase-3.0.so.0
#2 0x0000555b4e06a8d0 in ()
#3 0x0000555b4e06ad18 in ()
#4 0x0000555b4e06b467 in ()
#5 0x00007f83c707c3c0 in <signal handler called> () at /usr/lib/libpthread.so.0
#6 0x00007f83c6f3fb3a in __strlen_sse2 () at /usr/lib/libc.so.6
#7 0x00007f83c7275894 in g_strdup () at /usr/lib/libglib-2.0.so.0
#8 0x0000555b4e28bacb in ()
#9 0x0000555b4e2e1df9 in gimp_procedure_execute ()
#10 0x0000555b4e2db309 in gimp_pdb_execute_procedure_by_name_args ()
#11 0x0000555b4e2e5ed9 in gimp_plug_in_handle_message ()
#12 0x0000555b4e2e4871 in ()
#13 0x00007f83c729f8d1 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#14 0x00007f83c72a15e9 in () at /usr/lib/libglib-2.0.so.0
#15 0x00007f83c72a25c2 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#16 0x0000555b4e2f5bcf in gimp_plug_in_manager_call_run ()
#17 0x0000555b4e2ee71e in ()
#18 0x0000555b4e2e1df9 in gimp_procedure_execute ()
#19 0x0000555b4e2db309 in gimp_pdb_execute_procedure_by_name_args ()
#20 0x0000555b4e2db7cb in gimp_pdb_execute_procedure_by_name ()
#21 0x0000555b4e3e888b in file_save ()
#22 0x0000555b4e0ad3b7 in file_save_dialog_save_image ()
#23 0x0000555b4e0ada75 in ()
#24 0x00007f83c73873c5 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#25 0x00007f83c7374195 in () at /usr/lib/libgobject-2.0.so.0
#26 0x00007f83c737801e in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#27 0x00007f83c7378a80 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#28 0x00007f83c737816e in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#29 0x00007f83c7378a80 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#30 0x00007f83c88fc532 in () at /usr/lib/libgtk-3.so.0
#31 0x00007f83c86e7bcb in () at /usr/lib/libgdk-3.so.0
#32 0x00007f83c729f1c3 in () at /usr/lib/libglib-2.0.so.0
#33 0x00007f83c729f8d1 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#34 0x00007f83c72a15e9 in () at /usr/lib/libglib-2.0.so.0
#35 0x00007f83c72a25c2 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#36 0x0000555b4e06a100 in app_run ()
#37 0x0000555b4e0699f5 in main ()
[Inferior 1 (process 25417) detached]