Occasional segfaults when saving XCFs
Environment/Versions
- GIMP version: 2.10.34
- Package: From Manjaro repo
- Operating System: Manjaro Linux (fully up-to-date).
Description of the bug
GIMP occasionally segfaults when I'm saving a photograph as an XCF.
Reproduction
Is the bug reproducible? randomly
Reproduction steps:
- Import file into GIMP (in my case they're TIFFs.
- Edit file (various edits).
- File->Save As-> save XCF
…
Expected result: File should be saved and GIMP should continue working
Actual result: GIMP crashes. Sometimes the file IS saved, on other occasions it isn't even saved first.
Additional information
If you have a backtrace for a crash or a warning, paste it here.
GNU Image Manipulation Program version 2.10.34
git-describe: GIMP_2_10_34
Build: unknown rev 0 for linux
# C compiler #
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,objc,obj-c++ --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.1 20230801 (GCC)
# Libraries #
using babl version 0.1.106 (compiled against version 0.1.106)
using GEGL version 0.4.46 (compiled against version 0.4.46)
using GLib version 2.78.0 (compiled against version 2.76.4)
using GdkPixbuf version 2.42.10 (compiled against version 2.42.10)
using GTK+ version 2.24.33 (compiled against version 2.24.33)
using Pango version 1.51.0 (compiled against version 1.50.14)
using Fontconfig version 2.14.2 (compiled against version 2.14.2)
using Cairo version 1.18.0 (compiled against version 1.17.8)
fatal error: Segmentation fault
Stack trace:
# Stack traces obtained from PID 1356252 - Thread 1356252 #
This GDB supports auto-downloading debuginfo from the following URLs:
<https://debuginfod.archlinux.org>
Enable debuginfod for this session? (y or [n]) [answered N; input not from terminal]
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
[New LWP 1356253]
[New LWP 1356254]
[New LWP 1356255]
[New LWP 1356257]
[New LWP 1356258]
[New LWP 1356259]
[New LWP 1356263]
[New LWP 1356264]
[New LWP 1356265]
[New LWP 1356266]
[New LWP 1356267]
[New LWP 1356367]
[New LWP 1356368]
[New LWP 1356625]
[New LWP 1431428]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
0x00007f5aa9de926f in ?? () from /usr/lib/libc.so.6
Id Target Id Frame
* 1 Thread 0x7f5aa8d18480 (LWP 1356252) "gimp" 0x00007f5aa9de926f in ?? () from /usr/lib/libc.so.6
2 Thread 0x7f5aa7e6d6c0 (LWP 1356253) "worker" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
3 Thread 0x7f5aa766c6c0 (LWP 1356254) "worker" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
4 Thread 0x7f5aa6e6b6c0 (LWP 1356255) "worker" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
5 Thread 0x7f5aa657d6c0 (LWP 1356257) "pool-spawner" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
6 Thread 0x7f5aa5d7c6c0 (LWP 1356258) "gmain" 0x00007f5aa9e52f6f in poll () from /usr/lib/libc.so.6
7 Thread 0x7f5aa557b6c0 (LWP 1356259) "gdbus" 0x00007f5aa9e52f6f in poll () from /usr/lib/libc.so.6
8 Thread 0x7f5a7a3ff6c0 (LWP 1356263) "worker" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
9 Thread 0x7f5a79bfe6c0 (LWP 1356264) "worker" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
10 Thread 0x7f5a73fff6c0 (LWP 1356265) "worker" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
11 Thread 0x7f5a793fd6c0 (LWP 1356266) "worker" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
12 Thread 0x7f5a78bfc6c0 (LWP 1356267) "async" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
13 Thread 0x7f5a727fc6c0 (LWP 1356367) "threaded-ml" 0x00007f5aa9e52f6f in poll () from /usr/lib/libc.so.6
14 Thread 0x7f5a717fa6c0 (LWP 1356368) "dashboard" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
15 Thread 0x7f5a71ffb6c0 (LWP 1356625) "swap writer" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
16 Thread 0x7f5a72ffd6c0 (LWP 1431428) "pool-gimp" 0x00007f5aa9e5e73d in syscall () from /usr/lib/libc.so.6
Thread 16 (Thread 0x7f5a72ffd6c0 (LWP 1431428) "pool-gimp"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110c23 in g_cond_wait_until () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa082185 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007f5aaa0822e7 in g_async_queue_timeout_pop () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aaa0eb31e in () at /usr/lib/libglib-2.0.so.0
#5 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#6 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#7 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 15 (Thread 0x7f5a71ffb6c0 (LWP 1356625) "swap writer"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110247 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa6985d2 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#5 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 14 (Thread 0x7f5a717fa6c0 (LWP 1356368) "dashboard"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110c23 in g_cond_wait_until () at /usr/lib/libglib-2.0.so.0
#2 0x00005607dc26e2b2 in ()
#3 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#5 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 13 (Thread 0x7f5a727fc6c0 (LWP 1356367) "threaded-ml"):
#0 0x00007f5aa9e52f6f in poll () at /usr/lib/libc.so.6
#1 0x00007f5a7831a8c7 in () at /usr/lib/libpulse.so.0
#2 0x00007f5a7830446c in pa_mainloop_poll () at /usr/lib/libpulse.so.0
#3 0x00007f5a7830e42c in pa_mainloop_iterate () at /usr/lib/libpulse.so.0
#4 0x00007f5a7830e4e1 in pa_mainloop_run () at /usr/lib/libpulse.so.0
#5 0x00007f5a7831ec02 in () at /usr/lib/libpulse.so.0
#6 0x00007f5a782bbc67 in () at /usr/lib/pulseaudio/libpulsecommon-16.1.so
#7 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#8 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 12 (Thread 0x7f5a78bfc6c0 (LWP 1356267) "async"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110247 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00005607dc3d9a67 in ()
#3 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#5 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 11 (Thread 0x7f5a793fd6c0 (LWP 1356266) "worker"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110247 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa656c94 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#5 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 10 (Thread 0x7f5a73fff6c0 (LWP 1356265) "worker"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110247 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa656c94 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#5 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 9 (Thread 0x7f5a79bfe6c0 (LWP 1356264) "worker"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110247 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa656c94 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#5 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 8 (Thread 0x7f5a7a3ff6c0 (LWP 1356263) "worker"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110247 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa656c94 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#5 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 7 (Thread 0x7f5aa557b6c0 (LWP 1356259) "gdbus"):
#0 0x00007f5aa9e52f6f in poll () at /usr/lib/libc.so.6
#1 0x00007f5aaa115206 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa0b7b47 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007f5aaa3560bc in () at /usr/lib/libgio-2.0.so.0
#4 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#6 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 6 (Thread 0x7f5aa5d7c6c0 (LWP 1356258) "gmain"):
#0 0x00007f5aa9e52f6f in poll () at /usr/lib/libc.so.6
#1 0x00007f5aaa115206 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa0b5112 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3 0x00007f5aaa0b5162 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#6 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 5 (Thread 0x7f5aa657d6c0 (LWP 1356257) "pool-spawner"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110247 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa0821b4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007f5aaa0eaa2e in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#6 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 4 (Thread 0x7f5aa6e6b6c0 (LWP 1356255) "worker"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110247 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa656c94 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#5 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 3 (Thread 0x7f5aa766c6c0 (LWP 1356254) "worker"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110247 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa656c94 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#5 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 2 (Thread 0x7f5aa7e6d6c0 (LWP 1356253) "worker"):
#0 0x00007f5aa9e5e73d in syscall () at /usr/lib/libc.so.6
#1 0x00007f5aaa110247 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007f5aaa656c94 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007f5aaa0e89a5 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f5aa9ddc9eb in () at /usr/lib/libc.so.6
#5 0x00007f5aa9e607cc in () at /usr/lib/libc.so.6
Thread 1 (Thread 0x7f5aa8d18480 (LWP 1356252) "gimp"):
#0 0x00007f5aa9de926f in () at /usr/lib/libc.so.6
#1 0x00007f5aa9de9480 in () at /usr/lib/libc.so.6
#2 0x00007f5aa9deba38 in () at /usr/lib/libc.so.6
#3 0x00007f5aa9deccad in malloc () at /usr/lib/libc.so.6
#4 0x00007f5aa9dc749a in _IO_file_doallocate () at /usr/lib/libc.so.6
#5 0x00007f5aa9dd6279 in _IO_doallocbuf () at /usr/lib/libc.so.6
#6 0x00007f5aa9dd43e8 in _IO_file_overflow () at /usr/lib/libc.so.6
#7 0x00007f5aa9dd4ec7 in _IO_file_xsputn () at /usr/lib/libc.so.6
#8 0x00007f5aa9da6b62 in () at /usr/lib/libc.so.6
#9 0x00007f5aa9da6c24 in () at /usr/lib/libc.so.6
#10 0x00007f5aa9db0cd2 in () at /usr/lib/libc.so.6
#11 0x00007f5aaa108f59 in g_fprintf () at /usr/lib/libglib-2.0.so.0
#12 0x00007f5aab0c31f6 in gimp_stack_trace_print () at /usr/lib/libgimpbase-2.0.so.0
#13 0x00005607dc104032 in ()
#14 0x00005607dc1043fe in ()
#15 0x00005607dc104462 in ()
#16 0x00007f5aa9d8e710 in <signal handler called> () at /usr/lib/libc.so.6
#17 0x00007f5aaa1e3ea8 in g_type_check_instance_is_a () at /usr/lib/libgobject-2.0.so.0
#18 0x00007f5aaae59586 in gtk_tree_view_column_set_sort_column_id () at /usr/lib/libgtk-x11-2.0.so.0
#19 0x00007f5aaace0d28 in () at /usr/lib/libgtk-x11-2.0.so.0
#20 0x00007f5aaace0e1d in () at /usr/lib/libgtk-x11-2.0.so.0
#21 0x00007f5aaab5d769 in () at /usr/lib/libgdk-x11-2.0.so.0
#22 0x00007f5aaa0b839e in () at /usr/lib/libglib-2.0.so.0
#23 0x00007f5aaa0b6f19 in () at /usr/lib/libglib-2.0.so.0
#24 0x00007f5aaa1152b7 in () at /usr/lib/libglib-2.0.so.0
#25 0x00007f5aaa0b7b47 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#26 0x00005607dc108d63 in app_run ()
#27 0x00005607dc0fe662 in main ()
[Inferior 1 (process 1356252) detached]
Edited by Michael Schumacher