Exporting an animated brush, caused GIMP to hang or crash
Environment/Versions
- GIMP version: 2.99.17, built from master, commit 57113323
- Operating System: Linux
- X11
Description of the bug
When exporting an animated brush, choosing the Overwrite option from the File menu causes GIMP to hang
Choosing the 'Export as', usually crash GIMP, (approx 1 in 5 may succeed)
Reproduction
Is the bug reproducible? Yes
Reproduction steps:
- Start GIMP, open the attached animated brush, File Open ->
- Or add it to your GIMP brushes folder, Brush Dockable, Open Brush As Image
- File -> Overwrite -> GIMP hangs
- File -> Export as -> .gih 'Export' usually a GIMP crash, or saves as expected
Expected result: No Hang on Overwrite, always Exports
Actual result: Hangs on Overwrite, can crash on Export
Additional information
File seems to save ok, even with a crash. The next launch of GIMP after a crash, takes longer than usual.
And, premptively, I've lost hours trying to install debug symbols, is there a guide available on how to do this for Linux self building please. I can't find anything here
GNU Image Manipulation Program version 2.99.17
git-describe: GIMP_2_99_16-1296-g57113323e2
Build: unknown rev 0 for linux
# C compiler #
Using built-in specs.
COLLECT_GCC=/usr/bin/cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-XeT9lY/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-XeT9lY/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)
# Libraries #
using babl version 0.1.109 (compiled against version 0.1.109)
using GEGL version 0.4.49 (compiled against version 0.4.49)
using GLib version 2.72.4 (compiled against version 2.72.4)
using GdkPixbuf version 2.42.8 (compiled against version 2.42.8)
using GTK+ version 3.24.33 (compiled against version 3.24.33)
using Pango version 1.50.6 (compiled against version 1.50.6)
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 133196 - Thread 133196 #
[New LWP 133197]
[New LWP 133198]
[New LWP 133199]
[New LWP 133200]
[New LWP 133201]
[New LWP 133202]
[New LWP 133203]
[New LWP 133204]
[New LWP 133205]
[New LWP 133206]
[New LWP 133207]
[New LWP 133208]
[New LWP 133209]
[New LWP 133210]
[New LWP 133211]
[New LWP 133212]
[New LWP 133213]
[New LWP 133214]
[New LWP 133215]
[New LWP 133216]
[New LWP 133217]
[New LWP 133218]
[New LWP 133220]
[New LWP 133221]
[New LWP 133222]
[New LWP 133223]
[New LWP 133224]
[New LWP 133225]
[New LWP 133226]
[New LWP 133227]
[New LWP 133228]
[New LWP 133229]
[New LWP 133230]
[New LWP 133231]
[New LWP 133232]
[New LWP 133233]
[New LWP 133234]
[New LWP 133235]
[New LWP 133236]
[New LWP 133237]
[New LWP 133238]
[New LWP 133239]
[New LWP 133658]
[New LWP 133737]
[New LWP 134015]
[New LWP 134121]
[New LWP 134122]
[New LWP 134123]
[New LWP 134124]
[New LWP 134125]
[New LWP 134126]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
__GI___libc_read (nbytes=255, buf=0x7ffeebb4b7b0, fd=26) at ../sysdeps/unix/sysv/linux/read.c:26
Id Target Id Frame
* 1 Thread 0x7fd497a63f40 (LWP 133196) "gimp-2.99" __GI___libc_read (nbytes=255, buf=0x7ffeebb4b7b0, fd=26) at ../sysdeps/unix/sysv/linux/read.c:26
2 Thread 0x7fd495787640 (LWP 133197) "gmain" 0x00007fd499718bcf in __GI___poll (fds=0x55e997bacee0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
3 Thread 0x7fd494f86640 (LWP 133198) "gdbus" 0x00007fd499718bcf in __GI___poll (fds=0x7fd488031750, nfds=8, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
4 Thread 0x7fd48ffff640 (LWP 133199) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
5 Thread 0x7fd48f7fe640 (LWP 133200) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
6 Thread 0x7fd48effd640 (LWP 133201) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
7 Thread 0x7fd48e7fc640 (LWP 133202) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
8 Thread 0x7fd48dffb640 (LWP 133203) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
9 Thread 0x7fd48d7fa640 (LWP 133204) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
10 Thread 0x7fd48cff9640 (LWP 133205) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
11 Thread 0x7fd47bfff640 (LWP 133206) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
12 Thread 0x7fd47b7fe640 (LWP 133207) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
13 Thread 0x7fd47affd640 (LWP 133208) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
14 Thread 0x7fd47a7fc640 (LWP 133209) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
15 Thread 0x7fd479ffb640 (LWP 133210) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
16 Thread 0x7fd4797fa640 (LWP 133211) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
17 Thread 0x7fd478ff9640 (LWP 133212) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
18 Thread 0x7fd45ffff640 (LWP 133213) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
19 Thread 0x7fd45f7fe640 (LWP 133214) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
20 Thread 0x7fd45effd640 (LWP 133215) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
21 Thread 0x7fd45e7fc640 (LWP 133216) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
22 Thread 0x7fd45dffb640 (LWP 133217) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
23 Thread 0x7fd433fff640 (LWP 133218) "async" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
24 Thread 0x7fd478364640 (LWP 133220) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
25 Thread 0x7fd45c7ff640 (LWP 133221) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
26 Thread 0x7fd45c5fe640 (LWP 133222) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
27 Thread 0x7fd45c3fd640 (LWP 133223) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
28 Thread 0x7fd432ffd640 (LWP 133224) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
29 Thread 0x7fd432dfc640 (LWP 133225) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
30 Thread 0x7fd432bfb640 (LWP 133226) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
31 Thread 0x7fd4329fa640 (LWP 133227) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
32 Thread 0x7fd4327f9640 (LWP 133228) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
33 Thread 0x7fd4325f8640 (LWP 133229) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
34 Thread 0x7fd4323f7640 (LWP 133230) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
35 Thread 0x7fd4321f6640 (LWP 133231) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
36 Thread 0x7fd431ff5640 (LWP 133232) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
37 Thread 0x7fd431df4640 (LWP 133233) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38 Thread 0x7fd431bf3640 (LWP 133234) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
39 Thread 0x7fd4319f2640 (LWP 133235) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
40 Thread 0x7fd4317f1640 (LWP 133236) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
41 Thread 0x7fd4315f0640 (LWP 133237) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
42 Thread 0x7fd4313ef640 (LWP 133238) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
43 Thread 0x7fd4311ee640 (LWP 133239) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
44 Thread 0x7fd373fff640 (LWP 133658) "dconf worker" 0x00007fd499718bcf in __GI___poll (fds=0x55eafc8f6660, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
45 Thread 0x7fd38edcd640 (LWP 133737) "swap writer" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
46 Thread 0x7fd370ff9640 (LWP 134015) "paint" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
47 Thread 0x7fd33cbf5640 (LWP 134121) "pool-gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
48 Thread 0x7fd333ff5640 (LWP 134122) "pool-gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
49 Thread 0x7fd3337f4640 (LWP 134123) "pool-gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
50 Thread 0x7fd358bff640 (LWP 134124) "pool-gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
51 Thread 0x7fd38df71640 (LWP 134125) "pool-gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
52 Thread 0x7fd38d770640 (LWP 134126) "pool-gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#0 __GI___libc_read (nbytes=255, buf=0x7ffeebb4b7b0, fd=26) at ../sysdeps/unix/sysv/linux/read.c:26
sc_ret = -512
sc_cancel_oldtype = 0
sc_ret = <optimised out>
#1 __GI___libc_read (fd=26, buf=0x7ffeebb4b7b0, nbytes=255) at ../sysdeps/unix/sysv/linux/read.c:24
#2 0x00007fd49b22a678 in gimp_stack_trace_print () at /home/mark/Code/gimp-source//lib/x86_64-linux-gnu/libgimpbase-3.0.so.0
#3 0x000055e994c5d68f in gimp_eek ()
#4 0x000055e994c5daae in ()
#5 0x000055e994c610ed in gimp_sigfatal_handler ()
#6 0x00007fd499642520 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#7 0x00007fd49b12d573 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8 0x00007fd49b13128c in g_object_set_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9 0x00007fd49b131564 in g_object_set () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x000055e994dd907b in gimp_ui_manager_real_update ()
#11 0x00007fd49b11d687 in g_cclosure_marshal_VOID__POINTERv () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007fd49b13c700 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007fd49b13c863 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x000055e994eba189 in gimp_display_shell_flush ()
#15 0x00007fd49b11ed2f in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007fd49b13ac36 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007fd49b13c614 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007fd49b13c863 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007fd49ac02f5f in g_queue_foreach () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x000055e994b9762d in displays_flush_invoker ()
#21 0x000055e994c09aac in gimp_procedure_execute ()
#22 0x000055e994c05fb9 in gimp_pdb_execute_procedure_by_name_args ()
#23 0x000055e994c1f0c6 in gimp_plug_in_handle_message ()
#24 0x000055e994c0f009 in gimp_plug_in_recv_message ()
#25 0x00007fd49abf3c44 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007fd49ac49258 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007fd49abf32b3 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x000055e994c20c39 in gimp_plug_in_manager_call_run ()
#29 0x000055e994c14eef in gimp_plug_in_procedure_execute ()
#30 0x000055e994c09aac in gimp_procedure_execute ()
#31 0x000055e994c05fb9 in gimp_pdb_execute_procedure_by_name_args ()
#32 0x000055e994c065a1 in gimp_pdb_execute_procedure_by_name ()
#33 0x000055e994e21d2b in file_save ()
#34 0x000055e994e6551f in file_save_dialog_save_image ()
#35 0x000055e994e65d5b in file_save_dialog_response ()
#36 0x00007fd49b11ed2f in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#37 0x00007fd49b13ac36 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#38 0x00007fd49b13c614 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#39 0x00007fd49b13c863 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#40 0x00007fd49b13c700 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#41 0x00007fd49b13c863 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#42 0x00007fd499d3dd3d in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#43 0x00007fd499b2c2ad in () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#44 0x00007fd49abf42c8 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007fd49abf3c44 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007fd49ac49258 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007fd49abf13e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007fd49a964fb5 in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#49 0x000055e994c5cfe7 in app_run ()
#50 0x000055e994a5a09a in main ()
[Inferior 1 (process 133196) detached]
Edited by Mark Sweeney