gimp is segfaulting on startup

Bug #2031907 reported by Jonathan Kamens
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gimp (Ubuntu)
New
Undecided
Unassigned

Bug Description

Unfortunately it appears that gimp catches segfaults and I can't figure out how to disable that so I can't report this crash with appport.

Here's the bug information in the pop-up that gimp displays when it catches the segfault:

<!-- Copy-paste this whole debug data to report to developers -->

```
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-linux-gnu/12/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 12.2.0-16ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --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-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-12-TwSidC/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-TwSidC/gcc-12-12.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 12.2.0 (Ubuntu 12.2.0-16ubuntu1)

# Libraries #
using babl version 0.1.106 (compiled against version 0.1.98)
using GEGL version 0.4.44 (compiled against version 0.4.42)
using GLib version 2.77.1 (compiled against version 2.75.3)
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.50.14 (compiled against version 1.50.12)
using Fontconfig version 2.14.1 (compiled against version 2.14.1)
using Cairo version 1.17.8 (compiled against version 1.16.0)

```
> fatal error: Segmentation fault

Stack trace:
```

# Stack traces obtained from PID 26439 - Thread 26439 #

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.ubuntu.com>
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 26440]
[New LWP 26441]
[New LWP 26442]
[New LWP 26443]
[New LWP 26444]
[New LWP 26445]
[New LWP 26446]
[New LWP 26447]
[New LWP 26448]
[New LWP 26449]
[New LWP 26453]
[New LWP 26454]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
__GI___libc_read (nbytes=256, buf=0x7ffd237b6c40, fd=13) at ../sysdeps/unix/sysv/linux/read.c:26
  Id Target Id Frame
* 1 Thread 0x7f88fe2bf2c0 (LWP 26439) "gimp" __GI___libc_read (nbytes=256, buf=0x7ffd237b6c40, fd=13) at ../sysdeps/unix/sysv/linux/read.c:26
  2 Thread 0x7f88fdcbd6c0 (LWP 26440) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  3 Thread 0x7f88fd4bc6c0 (LWP 26441) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  4 Thread 0x7f88fccbb6c0 (LWP 26442) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  5 Thread 0x7f88effff6c0 (LWP 26443) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  6 Thread 0x7f88ef7fe6c0 (LWP 26444) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  7 Thread 0x7f88eeffd6c0 (LWP 26445) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  8 Thread 0x7f88ee7fc6c0 (LWP 26446) "worker" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  9 Thread 0x7f88edf936c0 (LWP 26447) "pool-spawner" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  10 Thread 0x7f88ed7926c0 (LWP 26448) "gmain" 0x00007f88fed0fd7f in __GI___poll (fds=0x558fcebcf1f0, nfds=1, timeout=7064) at ../sysdeps/unix/sysv/linux/poll.c:29
  11 Thread 0x7f88ecf916c0 (LWP 26449) "gdbus" 0x00007f88fed0fd7f in __GI___poll (fds=0x7f88cc000b90, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  12 Thread 0x7f88c2dff6c0 (LWP 26453) "async" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  13 Thread 0x7f88c25fe6c0 (LWP 26454) "pool-gimp" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38

Thread 13 (Thread 0x7f88c25fe6c0 (LWP 26454) "pool-gimp"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f88fefb8e80 in g_cond_wait_until () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f88fef2dbf3 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f88fef2dd35 in g_async_queue_timeout_pop () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f88fef9464d in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 0, 140226084807904, 140225344954368, 1031270834073504506, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#7 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 12 (Thread 0x7f88c2dff6c0 (LWP 26453) "async"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f88fefb8524 in g_cond_wait () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x0000558fcc4d2c30 in ()
#3 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 0, 140725198751744, 140225353347072, 1031269736172489466, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#5 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 11 (Thread 0x7f88ecf916c0 (LWP 26449) "gdbus"):
#0 0x00007f88fed0fd7f in __GI___poll (fds=0x7f88cc000b90, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        sc_ret = -516
        sc_cancel_oldtype = 0
#1 0x00007f88fefbd10f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f88fef624cf in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f88ff1fe2fa in () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#4 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 11, 140725198751760, 140226059636736, 1031203444426017530, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 10 (Thread 0x7f88ed7926c0 (LWP 26448) "gmain"):
#0 0x00007f88fed0fd7f in __GI___poll (fds=0x558fcebcf1f0, nfds=1, timeout=7064) at ../sysdeps/unix/sysv/linux/poll.c:29
        sc_ret = -516
        sc_cancel_oldtype = 0
#1 0x00007f88fefbd10f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f88fef5fd80 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f88fef5fdd1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 11, 140725198751440, 140226068029440, 1031202344377518842, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 9 (Thread 0x7f88edf936c0 (LWP 26447) "pool-spawner"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f88fefb8524 in g_cond_wait () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f88fef2dc1b in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f88fef93b8a in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 11, 140725198751632, 140226076422144, 1031201246476503802, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 8 (Thread 0x7f88ee7fc6c0 (LWP 26446) "worker"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f88fefb8524 in g_cond_wait () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f88ff505e33 in () at /lib/x86_64-linux-gnu/libgegl-0.4.so.0
#3 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 0, 140725198751600, 140226085240832, 1031208989765667578, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#5 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 7 (Thread 0x7f88eeffd6c0 (LWP 26445) "worker"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f88fefb8524 in g_cond_wait () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f88ff505e33 in () at /lib/x86_64-linux-gnu/libgegl-0.4.so.0
#3 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 0, 140725198751600, 140226093633536, 1031207887569685242, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#5 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 6 (Thread 0x7f88ef7fe6c0 (LWP 26444) "worker"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f88fefb8524 in g_cond_wait () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f88ff505e33 in () at /lib/x86_64-linux-gnu/libgegl-0.4.so.0
#3 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 0, 140725198751600, 140226102026240, 1031206787521186554, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#5 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 5 (Thread 0x7f88effff6c0 (LWP 26443) "worker"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f88fefb8524 in g_cond_wait () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f88ff505e33 in () at /lib/x86_64-linux-gnu/libgegl-0.4.so.0
#3 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 0, 140725198751600, 140226110418944, 1031205689620171514, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#5 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 4 (Thread 0x7f88fccbb6c0 (LWP 26442) "worker"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f88fefb8524 in g_cond_wait () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f88ff505e33 in () at /lib/x86_64-linux-gnu/libgegl-0.4.so.0
#3 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 0, 140725198751600, 140226325098496, 1031239055073610490, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#5 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 3 (Thread 0x7f88fd4bc6c0 (LWP 26441) "worker"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f88fefb8524 in g_cond_wait () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f88ff505e33 in () at /lib/x86_64-linux-gnu/libgegl-0.4.so.0
#3 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 0, 140725198751600, 140226333491200, 1031237955025111802, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#5 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 2 (Thread 0x7f88fdcbd6c0 (LWP 26440) "worker"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f88fefb8524 in g_cond_wait () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f88ff505e33 in () at /lib/x86_64-linux-gnu/libgegl-0.4.so.0
#3 0x00007f88fef921b1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f88fec8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140226366860960, -1054321821275649286, -1144, 0, 140725198751600, 140226341883904, 1031236852829129466, 1031243442131045114}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#5 0x00007f88fed1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 1 (Thread 0x7f88fe2bf2c0 (LWP 26439) "gimp"):
#0 __GI___libc_read (nbytes=256, buf=0x7ffd237b6c40, fd=13) at ../sysdeps/unix/sysv/linux/read.c:26
        sc_ret = -512
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1 __GI___libc_read (fd=13, buf=0x7ffd237b6c40, nbytes=256) at ../sysdeps/unix/sysv/linux/read.c:24
#2 0x00007f88ffe9223c in gimp_stack_trace_print () at /lib/x86_64-linux-gnu/libgimpbase-2.0.so.0
#3 0x0000558fcc211a99 in ()
#4 0x0000558fcc211b5e in ()
#5 0x0000558fcc211bbd in ()
#6 0x00007f88fec3c4b0 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#7 __wcslen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76
#8 0x00007f88fecc695e in __GI___wcsxfrm_l (dest=0x0, src=0x0, n=0, l=<optimized out>) at ../string/strxfrm_l.c:676
        srclen = <optimized out>
        current = <optimized out>
        __PRETTY_FUNCTION__ = "__wcsxfrm_l"
        usrc = <optimized out>
        idxmax = <optimized out>
        cur = <optimized out>
        idxarr = <optimized out>
        rulearr = <optimized out>
#9 0x00007f88fef9b7de in g_utf8_collate_key () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x0000558fcc565fab in ()
#11 0x0000558fcc3729a0 in gimp_device_info_compare ()
#12 0x00007f88fef792d5 in g_queue_insert_sorted () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x0000558fcc565f09 in ()
#14 0x00007f88ff062130 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007f88ff08f5f0 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007f88ff0809b1 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007f88ff080bd6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007f88ff080c93 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x0000558fcc4efc43 in gimp_container_add ()
#20 0x0000558fcc379a6c in ()
#21 0x0000558fcc379b36 in ()
#22 0x00007f88ff0722c3 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007f88ff074273 in g_object_new_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007f88ff0745cd in g_object_new () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x0000558fcc3787d5 in gimp_device_manager_new ()
#26 0x0000558fcc378888 in gimp_devices_init ()
#27 0x0000558fcc2142a2 in ()
#28 0x00007f88ff062130 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007f88ff08f4ac in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#30 0x00007f88ff0809b1 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#31 0x00007f88ff080bd6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#32 0x00007f88ff080c93 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#33 0x0000558fcc4c6691 in gimp_restore ()
#34 0x0000558fcc21633b in app_run ()
#35 0x0000558fcc20c2af in main ()
[Inferior 1 (process 26439) detached]

```

ProblemType: Bug
DistroRelease: Ubuntu 23.10
Package: gimp 2.10.34-1
ProcVersionSignature: Ubuntu 6.3.0-7.7-generic 6.3.5
Uname: Linux 6.3.0-7-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.27.0-0ubuntu2
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
Date: Fri Aug 18 08:50:03 2023
InstallationDate: Installed on 2019-01-02 (1689 days ago)
InstallationMedia: Ubuntu 18.10 "Cosmic Cuttlefish" - Release amd64 (20181017.3)
SourcePackage: gimp
UpgradeStatus: Upgraded to mantic on 2023-05-20 (90 days ago)

Revision history for this message
Jonathan Kamens (jik) wrote :
Revision history for this message
Jonathan Kamens (jik) wrote :

Still happening.

tags: added: regression-release
Revision history for this message
Jonathan Kamens (jik) wrote :

I tried removing ~/.config/GIMP to see if starting from scratch would fix the crash. No luck.

Revision history for this message
Jonathan Kamens (jik) wrote :
Download full text (3.4 KiB)

I ran gimp under gdb and got the more useful stack trace below, though there still isn't enough info to figure out what's going on.

#0 __wcslen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76
#1 0x00007ffff6ad0d8e in __GI___wcsxfrm_l
    (dest=0x0, src=0x0, n=0, l=<optimized out>) at ../string/strxfrm_l.c:676
#2 0x00007ffff6ede8be in g_utf8_collate_key ()
    at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x0000555555994fab in gimp_object_name_normalize (object=0x555557d8ae10)
    at core/gimpobject.c:399
#4 0x00005555557a19a0 in gimp_object_name_collate
    (object2=0x555557d8ae10, object1=0x555557daeea0) at core/gimpobject.c:387
#5 gimp_device_info_compare (a=0x555557daeea0, b=0x555557d8ae10)
    at widgets/gimpdeviceinfo.c:942
#6 0x00007ffff6ebc375 in g_queue_insert_sorted ()
    at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7 0x0000555555994f09 in gimp_list_add
    (container=0x555557e0c610, object=0x555557d8ae10) at core/gimplist.c:261
#8 0x00007ffff6fa5130 in g_closure_invoke ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9 0x00007ffff6fd25f0 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff6fc39b1 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff6fc3bd6 in g_signal_emit_valist ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff6fc3c93 in g_signal_emit ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x000055555591ec43 in gimp_container_add
    (container=0x555557e0c610, object=0x555557d8ae10)
    at core/gimpcontainer.c:632
#14 0x00005555557a8a6c in gimp_device_manager_device_added
    (manager=0x555557e0c610, device=0x555555f835d0, gdk_display=0x555555f89be0)
    at widgets/gimpdevicemanager.c:423
#15 gimp_device_manager_display_opened
    (disp_manager=<optimized out>, manager=0x555557e0c610, gdk_display=0x555555f89be0) at widgets/gimpdevicemanager.c:360
#16 gimp_device_manager_display_opened
    (disp_manager=<optimized out>, gdk_display=0x555555f89be0, manager=0x555557e0c610) at widgets/gimpdevicemanager.c:334
#17 0x00005555557a8b36 in gimp_device_manager_constructed
    (object=0x555557e0c610) at widgets/gimpdevicemanager.c:168
#18 0x00007ffff6fb52c3 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff6fb7273 in g_object_new_valist ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff6fb75cd in g_object_new ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00005555557a77d5 in gimp_device_manager_new
    (gimp=gimp@entry=0x555556031b40) at widgets/gimpdevicemanager.c:271
#22 0x00005555557a7888 in gimp_devices_init (gimp=0x555556031b40)
    at widgets/gimpdevices.c:66
#23 0x00005555556432a2 in gui_restore_callback
    (gimp=0x555556031b40, status_callback=0x55555563c770 <splash_update(gchar const*, gchar const*, gdouble)>) at gui/gui.c:561
#24 0x00007ffff6fa5130 in g_closure_invoke ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007ffff6fd24ac in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007ffff6fc39b1 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x00007ffff6fc3bd6 in g_signal_emit_valist ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff6fc3c93 in g...

Read more...

Revision history for this message
Jonathan Kamens (jik) wrote :

Well, _this_ is fascinating.

I downloaded and built gimp from source:

sudo apt install dpkg-dev devscripts
cd /tmp
sudo apt source gimp
sudo apt build-dep gimp
cd gimp-2.10.34
sudo debuild

Then I modified app/gimp-2.10 to use "exec gdb" instead of "exec" to run gimp.

Then I made sure gdb would be able to find the source code:

sudo ln -s /tmp/gimp-2.10.34 /usr/src/gimp-2.10.34-1

Then I ran app/gimp-2.10 and reproduced the crash.

The money shot:

(gdb) up
#3 0x000055555599df5a in gimp_object_name_normalize (object=0x55555800b2b0)
    at core/gimpobject.c:399
399 gchar *key = g_utf8_collate_key (object->p->name, -1);
(gdb) print object->p->name
$4 = (gchar *) 0x555558082ad0 "Logitech a\267\342\004"

Well, that certainly looks like a string missing a null terminator, eh?

And then I made the crash go away... by unplugging my Logitech mouse's USB dongle and plugging it back in.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.