Segmentation fault when closing an image copy created in Waves
Environment/Versions
- GIMP version: GIMP_2_99_16-1297-gc7c1743d
- Package: Built from source
- Operating System: Linux
Description of the bug
Found when trying to find other Script-fu scripts affected by #10811 (closed) / #10819 (closed)
Ran into a segmentation fault when closing an image copy that was created in Waves.
Reproduction
Is the bug reproducible? Four out of four so far
Reproduction steps:
- Open an image
- Filters->Animation->Waves
- Click OK
- Close the new image, choose "Discard changes"
…
Expected result: Closing the image
Actual result: Segmentation fault
Additional information
If you have a backtrace for a crash or a warning, paste it here.
GNU Image Manipulation Program version 2.99.17
git-describe: GIMP_2_99_16-1297-gc7c1743dd0
Build: unknown rev 0 for linux
# C compiler #
Using built-in specs.
COLLECT_GCC=/usr/bin/cc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/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='Debian 13.2.0-13' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --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/reproducible-path/gcc-13-13.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/reproducible-path/gcc-13-13.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.0 (Debian 13.2.0-13)
# Libraries #
using babl version 0.1.107 (compiled against version 0.1.107)
using GEGL version 0.4.49 (compiled against version 0.4.49)
using GLib version 2.78.3 (compiled against version 2.78.3)
using GdkPixbuf version 2.42.10 (compiled against version 2.42.10)
using GTK+ version 3.24.41 (compiled against version 3.24.41)
using Pango version 1.51.0 (compiled against version 1.51.0)
using Fontconfig version 2.14.2 (compiled against version 2.14.2)
using Cairo version 1.18.0 (compiled against version 1.18.0)
fatal error: Segmentation fault
Stack trace:
# Stack traces obtained from PID 27357 - Thread 27357 #
[New LWP 27358]
[New LWP 27359]
[New LWP 27360]
[New LWP 27361]
[New LWP 27362]
[New LWP 27363]
[New LWP 27364]
[New LWP 27365]
[New LWP 27366]
[New LWP 27367]
[New LWP 27368]
[New LWP 27369]
[New LWP 27370]
[New LWP 27371]
[New LWP 27372]
[New LWP 27373]
[New LWP 27374]
[New LWP 27375]
[New LWP 27376]
[New LWP 27378]
[New LWP 27379]
[New LWP 27380]
[New LWP 27381]
[New LWP 27382]
[New LWP 27383]
[New LWP 27384]
[New LWP 27385]
[New LWP 27386]
[New LWP 27387]
[New LWP 27388]
[New LWP 27389]
[New LWP 27390]
[New LWP 27391]
[New LWP 27392]
[New LWP 27393]
[New LWP 27458]
[New LWP 27461]
[New LWP 27511]
[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=0x7fffea57e5b0, fd=23) at ../sysdeps/unix/sysv/linux/read.c:26
Id Target Id Frame
* 1 Thread 0x7fd42ac101c0 (LWP 27357) "gimp-2.99" __GI___libc_read (nbytes=255, buf=0x7fffea57e5b0, fd=23) at ../sysdeps/unix/sysv/linux/read.c:26
2 Thread 0x7fd4280b76c0 (LWP 27358) "pool-spawner" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
3 Thread 0x7fd4278b66c0 (LWP 27359) "gmain" 0x00007fd42c8aaabf in __GI___poll (fds=0x5557c22d91a0, nfds=2, timeout=7626) at ../sysdeps/unix/sysv/linux/poll.c:29
4 Thread 0x7fd4270b56c0 (LWP 27360) "gdbus" 0x00007fd42c8aaabf in __GI___poll (fds=0x5557c6dc7280, nfds=6, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
5 Thread 0x7fd4265606c0 (LWP 27361) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
6 Thread 0x7fd425d5f6c0 (LWP 27362) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
7 Thread 0x7fd42555e6c0 (LWP 27363) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
8 Thread 0x7fd424d5d6c0 (LWP 27364) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
9 Thread 0x7fd417fff6c0 (LWP 27365) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
10 Thread 0x7fd4177fe6c0 (LWP 27366) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
11 Thread 0x7fd416ffd6c0 (LWP 27367) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
12 Thread 0x7fd4167fc6c0 (LWP 27368) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
13 Thread 0x7fd415ffb6c0 (LWP 27369) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
14 Thread 0x7fd4157fa6c0 (LWP 27370) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
15 Thread 0x7fd414ff96c0 (LWP 27371) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
16 Thread 0x7fd3fbfff6c0 (LWP 27372) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
17 Thread 0x7fd3fb7fe6c0 (LWP 27373) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
18 Thread 0x7fd3faffd6c0 (LWP 27374) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
19 Thread 0x7fd3fa7fc6c0 (LWP 27375) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
20 Thread 0x7fd3f8bff6c0 (LWP 27376) "async" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
21 Thread 0x7fd3f83fe6c0 (LWP 27378) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
22 Thread 0x7fd3d37fe6c0 (LWP 27379) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
23 Thread 0x7fd3d35fd6c0 (LWP 27380) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
24 Thread 0x7fd3d33fc6c0 (LWP 27381) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
25 Thread 0x7fd3d31fb6c0 (LWP 27382) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
26 Thread 0x7fd3d2ffa6c0 (LWP 27383) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
27 Thread 0x7fd3d2df96c0 (LWP 27384) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
28 Thread 0x7fd3d2bf86c0 (LWP 27385) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
29 Thread 0x7fd3d29f76c0 (LWP 27386) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
30 Thread 0x7fd3d27f66c0 (LWP 27387) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
31 Thread 0x7fd3d25f56c0 (LWP 27388) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
32 Thread 0x7fd3d23f46c0 (LWP 27389) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
33 Thread 0x7fd3d21f36c0 (LWP 27390) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
34 Thread 0x7fd3d1ff26c0 (LWP 27391) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
35 Thread 0x7fd3d1df16c0 (LWP 27392) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
36 Thread 0x7fd3d1bf06c0 (LWP 27393) "gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
37 Thread 0x7fd397fff6c0 (LWP 27458) "pool-gimp-2.99" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38 Thread 0x7fd3957fc6c0 (LWP 27461) "dconf worker" 0x00007fd42c8aaabf in __GI___poll (fds=0x7fd36c000b90, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
39 Thread 0x7fd3d19ef6c0 (LWP 27511) "swap writer" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#0 __GI___libc_read (nbytes=255, buf=0x7fffea57e5b0, fd=23) at ../sysdeps/unix/sysv/linux/read.c:26
sc_ret = -512
sc_cancel_oldtype = 0
sc_ret = <optimized out>
#1 __GI___libc_read (fd=23, buf=buf@entry=0x7fffea57e5b0, nbytes=nbytes@entry=255) at ../sysdeps/unix/sysv/linux/read.c:24
#2 0x00007fd42e35415b in gimp_stack_trace_print (prog_name=<optimized out>, stream=stream@entry=0x5557c2657190, trace=trace@entry=0x0) at ../libgimpbase/gimputils.c:1394
status = 0
stack_printed = 0
gtrace = 0x0
gimp_pid = "27357\000\000\000\000\000\000\000w\322\230\373"
buffer = "\000\000\000\000\000\000\000\000\254\275\273\307WU\000\000", ',' <repeats 32 times>, '\000' <repeats 33 times>, "Thaw the image's undo stack.\000th", '\000' <repeats 33 times>, "TDM[\fXDI\fEAMKI\v_\fYBHC\f_XMOG\002\000XD", '\000' <repeats 79 times>
read_n = <optimized out>
sync_fd = {21, 22}
out_fd = {23, 24}
fork_pid = <optimized out>
pid = 27357
eintr_count = 0
tid = <optimized out>
#3 0x00005557c1874710 in gimp_eek (reason=reason@entry=0x5557c1aedc23 "fatal error", message=<optimized out>, use_handler=use_handler@entry=1) at ../app/errors.c:355
fd = 0x5557c2657190
has_backtrace = 1
pid = "27357\000\000\000\213.\000\000\000\000\000"
gimpdebug = 0x5557c1b692e0 "/usr/local/libexec/gimp-debug-tool-2.99"
args = {0x5557c1b692e0 "/usr/local/libexec/gimp-debug-tool-2.99", 0x5557c24c7620 "gimp-2.99", 0x7fffea57ea40 "27357", 0x5557c1aedc23 "fatal error", 0x5557c7516489 "Segmentation fault", 0x5557c24c5280 "/home/anders/.config/GIMP/2.99/CrashLog/gimp-crash-1707813889.txt", 0x0, 0x7fffea57ea50 "0", 0x0}
timestamp = "0\000+\302WU\000\000\000\000\000\000\000\000\000"
config = <optimized out>
eek_handled = 0
debug_policy = GIMP_DEBUG_POLICY_WARNING
iter = <optimized out>
num_idx = <optimized out>
i = 0
#4 0x00005557c1874d08 in gimp_fatal_error (message=<optimized out>) at ../app/errors.c:206
#5 0x00005557c1877619 in gimp_sigfatal_handler (sig_num=11) at ../app/signals.c:196
#6 0x00007fd42c7eb510 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#7 0x00007fd42de606dc in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8 0x00007fd42de64963 in g_type_is_a () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9 0x00007fd42de6a409 in g_value_type_compatible () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007fd42de4765d in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007fd42de4af08 in g_object_set_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007fd42de4bb57 in g_object_set () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00005557c199c45b in gimp_ui_manager_real_update (manager=<optimized out>, update_data=0x5557c2758c80) at ../app/widgets/gimpuimanager.c:368
list = 0x5557c4aa2040 = {0x5557c49c0840, 0x5557c48d3d30, 0x5557c47f9550, 0x5557c4a9c720, 0x5557c47dcfe0, 0x5557c4915e20, 0x5557c487a170, 0x5557c49facb0, 0x5557c493cc40, 0x5557c491d840, 0x5557c48851b0, 0x5557c4997630, 0x5557c488ee40, 0x5557c4865200, 0x5557c497a2f0, 0x5557c499e8b0, 0x5557c47f6610, 0x5557c49c1e90}
#14 0x00007fd42de45ae7 in g_cclosure_marshal_VOID__POINTERv () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007fd42de42749 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007fd42de575bf in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007fd42de5d186 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007fd42de5d243 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00005557c1a5bab2 in gimp_image_window_update_ui_manager_idle (window=<optimized out>) at ../app/display/gimpimagewindow.c:1993
private = 0x5557c261ead0
__func__ = "gimp_image_window_update_ui_manager_idle"
#20 0x00007fd42dd3d0d9 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fd42dd40317 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fd42dd40930 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007fd42da9ab7d in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#24 0x00005557c187423a in app_run (full_prog_name=0x5557c22a5420 "gimp-2.99", filenames=<optimized out>, alternate_system_gimprc=alternate_system_gimprc@entry=0x0, alternate_gimprc=alternate_gimprc@entry=0x0, session_name=<optimized out>, batch_interpreter=<optimized out>, batch_commands=0x0, quit=0, as_new=0, no_interface=0, no_data=<optimized out>, no_fonts=<optimized out>, no_splash=0, be_verbose=0, use_shm=1, use_cpu_accel=1, console_messages=0, use_debug_handler=0, show_playground=1, show_debug_menu=1, stack_trace_mode=GIMP_STACK_TRACE_QUERY, pdb_compat_mode=<optimized out>, backtrace_file=0x5557c22c12a0 "/home/anders/.config/GIMP/2.99/CrashLog/gimp-crash-1707813889.txt") at ../app/app.c:317
gimp = 0x5557c242d9e0
app = 0x5557c24a9920
default_folder = 0x0
gimpdir = 0x5557c249f8c0
abort_message = <optimized out>
retval = 0
__func__ = "app_run"
#25 0x00005557c16b5d37 in main (argc=<optimized out>, argv=<optimized out>) at ../app/main.c:786
context = 0x5557c22ca6e0
error = 0x0
abort_message = <optimized out>
basename = <optimized out>
system_gimprc_file = 0x0
user_gimprc_file = 0x0
gimp_group = <optimized out>
backtrace_file = 0x5557c22c12a0 "/home/anders/.config/GIMP/2.99/CrashLog/gimp-crash-1707813889.txt"
retval = <optimized out>
i = <optimized out>
[Inferior 1 (process 27357) detached]