Gimp (current master HEAD) crashes upon promoting image to float precision
GIMP version: 4c9d82aa
Operating System: Gentoo AMD64
Package: built from source
Description of the bug
A few weeks ago Gimp started to crash for me each time I start it and open a picture or try to enter "Edit" menu. Investigation with clean configuration shows that it is probably related to automatic precision change that I enabled. With clean Gimp, when I load a jpg image, it works fine, but crashes as soon as I change precision to 16 or 32-bit float (can't trigger "edit" menu crash though).
I suspect it is probably something very specific to my system. I have current BABL and GEGL built from the source as well.
Reproduction
Always
Reproduction steps:
- Start Gimp with clean config
- Load an image
- Change precision to linear float
Additional information
GNU Image Manipulation Program version 2.99.1
git-describe: GIMP_2_10_2-1287-g4c9d82aaff
C compiler:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-7.3.0-r3/work/gcc-7.3.0/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/7.3.0 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/7.3.0 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/7.3.0/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/7.3.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/g++-v7 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/7.3.0/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 7.3.0-r3 p1.4' --disable-esp --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts --disable-libmpx --enable-vtable-verify --enable-libvtv --enable-lto --without-isl --enable-libsanitizer --enable-default-pie --enable-default-ssp
Thread model: posix
gcc version 7.3.0 (Gentoo 7.3.0-r3 p1.4)
using GEGL version 0.4.9 (compiled against version 0.4.9)
using GLib version 2.56.2 (compiled against version 2.56.2)
using GdkPixbuf version 2.36.12 (compiled against version 2.36.12)
using GTK+ version 3.22.30 (compiled against version 3.22.30)
using Pango version 1.42.4 (compiled against version 1.42.4)
using Fontconfig version 2.13.0 (compiled against version 2.13.0)
using Cairo version 1.14.12 (compiled against version 1.14.12)
fatal error: Segmentation fault
Stack trace:
# Stack traces obtained from PID 16390 - Thread 16390 #
[New LWP 16392]
[New LWP 16393]
[New LWP 16394]
[New LWP 16395]
[New LWP 16396]
[New LWP 16397]
[New LWP 16398]
[New LWP 16399]
[New LWP 16400]
[New LWP 16401]
[New LWP 16402]
[New LWP 16539]
[New LWP 16542]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007f4175e9a6ba in read () from /lib64/libpthread.so.0
Id Target Id Frame
* 1 Thread 0x7f417b049d40 (LWP 16390) "gimp-2.99" 0x00007f4175e9a6ba in read () from /lib64/libpthread.so.0
2 Thread 0x7f4167407700 (LWP 16392) "gmain" 0x00007f4175bbc565 in poll () from /lib64/libc.so.6
3 Thread 0x7f4166c06700 (LWP 16393) "gdbus" 0x00007f4175bbc565 in poll () from /lib64/libc.so.6
4 Thread 0x7f415cfb7700 (LWP 16394) "async" 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
5 Thread 0x7f4157fff700 (LWP 16395) "worker" 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
6 Thread 0x7f41577fe700 (LWP 16396) "worker" 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
7 Thread 0x7f4156ffd700 (LWP 16397) "worker" 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
8 Thread 0x7f41567fc700 (LWP 16398) "worker" 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
9 Thread 0x7f4155ffb700 (LWP 16399) "worker" 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
10 Thread 0x7f41557fa700 (LWP 16400) "worker" 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
11 Thread 0x7f4154ff9700 (LWP 16401) "worker" 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
12 Thread 0x7f414ffff700 (LWP 16402) "pool" 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
13 Thread 0x7f414d7f7700 (LWP 16539) "dashboard" 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
14 Thread 0x7f414cdcf700 (LWP 16542) "swap writer" 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
Thread 14 (Thread 0x7f414cdcf700 (LWP 16542)):
#0 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f41768a6ee7 in g_cond_wait () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x00007f4177ad7d85 in ?? () from /usr/lib64/libgegl-0.4.so.0
No symbol table info available.
#3 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#5 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 13 (Thread 0x7f414d7f7700 (LWP 16539)):
#0 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f41768a6ff5 in g_cond_wait_until () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x0000561682758126 in gimp_dashboard_sample ()
No symbol table info available.
#3 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#5 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 12 (Thread 0x7f414ffff700 (LWP 16402)):
#0 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f41768a6ff5 in g_cond_wait_until () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x00007f4176837151 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#3 0x00007f41768376dc in g_async_queue_timeout_pop () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f417688a424 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#5 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#6 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#7 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 11 (Thread 0x7f4154ff9700 (LWP 16401)):
#0 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f41768a6ee7 in g_cond_wait () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x0000561682895afb in gimp_parallel_distribute_thread_func ()
No symbol table info available.
#3 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#5 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 10 (Thread 0x7f41557fa700 (LWP 16400)):
#0 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f41768a6ee7 in g_cond_wait () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x0000561682895afb in gimp_parallel_distribute_thread_func ()
No symbol table info available.
#3 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#5 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 9 (Thread 0x7f4155ffb700 (LWP 16399)):
#0 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f41768a6ee7 in g_cond_wait () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x0000561682895afb in gimp_parallel_distribute_thread_func ()
No symbol table info available.
#3 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#5 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 8 (Thread 0x7f41567fc700 (LWP 16398)):
#0 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f41768a6ee7 in g_cond_wait () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x0000561682895afb in gimp_parallel_distribute_thread_func ()
No symbol table info available.
#3 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#5 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 7 (Thread 0x7f4156ffd700 (LWP 16397)):
#0 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f41768a6ee7 in g_cond_wait () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x0000561682895afb in gimp_parallel_distribute_thread_func ()
No symbol table info available.
#3 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#5 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 6 (Thread 0x7f41577fe700 (LWP 16396)):
#0 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f41768a6ee7 in g_cond_wait () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x0000561682895afb in gimp_parallel_distribute_thread_func ()
No symbol table info available.
#3 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#5 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 5 (Thread 0x7f4157fff700 (LWP 16395)):
#0 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f41768a6ee7 in g_cond_wait () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x0000561682895afb in gimp_parallel_distribute_thread_func ()
No symbol table info available.
#3 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#5 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 4 (Thread 0x7f415cfb7700 (LWP 16394)):
#0 0x00007f4175bc20b9 in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f41768a6ee7 in g_cond_wait () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x000056168289591a in gimp_parallel_run_async_thread_func ()
No symbol table info available.
#3 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#5 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 3 (Thread 0x7f4166c06700 (LWP 16393)):
#0 0x00007f4175bbc565 in poll () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f4176863131 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x00007f41768634a2 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#3 0x00007f41775aa9c6 in ?? () from /usr/lib64/libgio-2.0.so.0
No symbol table info available.
#4 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#5 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#6 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 2 (Thread 0x7f4167407700 (LWP 16392)):
#0 0x00007f4175bbc565 in poll () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f4176863131 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x00007f4176863244 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#3 0x00007f4176863281 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#4 0x00007f41768899d5 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#5 0x00007f4175e8f8ba in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#6 0x00007f4175bc7d0f in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 1 (Thread 0x7f417b049d40 (LWP 16390)):
#0 0x00007f4175e9a6ba in read () from /lib64/libpthread.so.0
No symbol table info available.
#1 0x00007f4179326e90 in gimp_stack_trace_print () from /usr/local/stow/gimp/lib/libgimpbase-3.0.so.0
No symbol table info available.
#2 0x000056168260666c in gimp_eek ()
No symbol table info available.
#3 0x0000561682606c50 in gimp_fatal_error ()
No symbol table info available.
#4 0x0000561682607377 in gimp_sigfatal_handler ()
No symbol table info available.
#5 <signal handler called>
No symbol table info available.
#6 0x00007f4177213fb0 in ?? () from /usr/lib64/libbabl-0.1.so.0
No symbol table info available.
#7 0x00007f417720e99c in babl_db_exist_by_name () from /usr/lib64/libbabl-0.1.so.0
No symbol table info available.
#8 0x00007f4177213ba2 in babl_format () from /usr/lib64/libbabl-0.1.so.0
No symbol table info available.
#9 0x00007f4179754e56 in gimp_color_transform_new () from /usr/local/stow/gimp/lib/libgimpcolor-3.0.so.0
No symbol table info available.
#10 0x00007f417adad348 in gimp_widget_get_color_transform () from /usr/local/stow/gimp/lib/libgimpwidgets-3.0.so.0
No symbol table info available.
#11 0x00005616827de6f6 in gimp_view_renderer_get_color_transform ()
No symbol table info available.
#12 0x00005616827deb24 in gimp_view_renderer_render_temp_buf ()
No symbol table info available.
#13 0x00005616827e0ce9 in gimp_view_renderer_drawable_render_async_callback ()
No symbol table info available.
#14 0x000056168289cde1 in gimp_async_run_callbacks ()
No symbol table info available.
#15 0x000056168289cf0c in gimp_async_idle ()
No symbol table info available.
#16 0x00007f4176862df4 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#17 0x00007f41768631b8 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#18 0x00007f41768634a2 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#19 0x0000561682606051 in app_run ()
No symbol table info available.
#20 0x0000561682605954 in main ()
No symbol table info available.
GDB backtrace:
Starting program: /usr/local/bin/gimp-2.99
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe43a9700 (LWP 18993)]
[New Thread 0x7fffe3ba8700 (LWP 18994)]
Missing fast-path babl conversion detected, Implementing missing babl fast paths
accelerates GEGL, GIMP and other software using babl, warnings are printed on
first occurance of formats used where a conversion has to be synthesized
programmatically by babl based on format description
*WARNING* missing babl fast path(s): "R'G'B' double" to "CIE Lab double"
Failed to parse '/home/tomaszg/.config/GIMP/2.99/extensionrc': Failed to open file “/home/tomaszg/.config/GIMP/2.99/extensionrc”: open() failed: No such file or directory
This is a development version of GIMP. Debug messages may appear here.
[New Thread 0x7fffda23d700 (LWP 18995)]
[New Thread 0x7fffd9a3c700 (LWP 18996)]
[New Thread 0x7fffd923b700 (LWP 18997)]
[New Thread 0x7fffd8a3a700 (LWP 18998)]
[New Thread 0x7fffd3fff700 (LWP 18999)]
[New Thread 0x7fffd37fe700 (LWP 19000)]
[New Thread 0x7fffd2ffd700 (LWP 19001)]
[New Thread 0x7fffd27fc700 (LWP 19002)]
[New Thread 0x7fffd1ffb700 (LWP 19003)]
[New Thread 0x7fffd14a3700 (LWP 19008)]
[Thread 0x7fffd14a3700 (LWP 19008) exited]
set device 'Virtual core XTEST pointer' to mode: disabled
set device 'Logitech USB Laser Mouse' to mode: disabled
*WARNING* missing babl fast path(s): "cairo-ARGB32" to "R'G'B'A u8"
Gtk-Message: 15:21:39.387: GtkDialog mapped without a transient parent. This is discouraged.
[New Thread 0x7fffd14a3700 (LWP 19029)]
jpeg-load: found Exif block (26684 bytes)
** (file-jpeg:19026): WARNING **: 15:21:46.287: Directory OlympusCs, entry 0x0101: Strip 0 is outside of the data area; ignored.
** (file-jpeg:19026): WARNING **: 15:21:46.291: Invalid JPEG preview image.
(gimp-2.99:18989): GLib-GObject-CRITICAL **: 15:21:51.018: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
gimp_color_transform_new: using babl for 'GIMP built-in sRGB' -> 'linear TRC variant generated by GIMP'
void gimp_gegl_convert_color_profile(GeglBuffer*, const GeglRectangle*, GimpColorProfile*, GeglBuffer*, const GeglRectangle*, GimpColorProfile*, GimpColorRenderingIntent, gboolean, GimpProgress*): converting buffer took 0,1529 seconds
gimp_color_transform_new: using babl for 'linear TRC variant generated by GIMP' -> 'GIMP built-in sRGB'
gimp_color_transform_new: using babl for 'linear TRC variant generated by GIMP' -> 'GIMP built-in sRGB'
Thread 1 "gimp-2.99" received signal SIGSEGV, Segmentation fault.
0x00007ffff406dfb0 in ?? () from /usr/lib64/libbabl-0.1.so.0
(gdb) bt
#0 0x00007ffff406dfb0 in ?? () from /usr/lib64/libbabl-0.1.so.0
#1 0x00007ffff406899c in babl_db_exist_by_name () from /usr/lib64/libbabl-0.1.so.0
#2 0x00007ffff406dba2 in babl_format () from /usr/lib64/libbabl-0.1.so.0
#3 0x00007ffff6576e56 in gimp_color_transform_new () from /usr/local/stow/gimp/lib/libgimpcolor-3.0.so.0
#4 0x00007ffff7bb3348 in gimp_widget_get_color_transform () from /usr/local/stow/gimp/lib/libgimpwidgets-3.0.so.0
#5 0x00005555557fd6f6 in gimp_view_renderer_get_color_transform ()
#6 0x00005555557fdb24 in gimp_view_renderer_render_temp_buf ()
#7 0x00005555557ffce9 in gimp_view_renderer_drawable_render_async_callback ()
#8 0x00005555558bbde1 in gimp_async_run_callbacks ()
#9 0x00005555558bbf0c in gimp_async_idle ()
#10 0x00007ffff36cbdf4 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#11 0x00007ffff36cc1b8 in ?? () from /usr/lib64/libglib-2.0.so.0
#12 0x00007ffff36cc4a2 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
#13 0x0000555555625051 in app_run ()
#14 0x0000555555624954 in main ()
(gdb)