GNOME Bugzilla – Bug 795418
Gimp 'critical error' when running luminosity masks script
Last modified: 2018-04-21 17:47:29 UTC
Created attachment 371175 [details] script that causes the issue I use a script to generate luminosity masks (attached). When I try to run this script on an image, gimp crashes with the following data. (I did not write the script, but modified it slightly. It worked fine in 2.9.5 versions.) I'm not sure how to get debug symbols for the appimage that I'm using (from https://github.com/aferrero2707/gimp-appimage/releases/tag/continuous ) but can do so if someone can advise. ----- GNU Image Manipulation Program version 2.10.0-RC1 git-describe: GIMP_2_10_0_RC1-20-g4698529 C compiler: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/work/inst/lib/gcc/x86_64-linux-gnu/6.4.0/lto-wrapper Target: x86_64-linux-gnu Configured with: ./configure --enable-languages=c,c++ --prefix=/work/inst --program-suffix= --program-prefix= --enable-shared --enable-linker-build-id --libexecdir=/work/inst/lib --without-included-gettext --enable-threads=posix --libdir=/work/inst/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=gcc4-compatible --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --with-arch-directory=amd64 --with-target-system-zlib --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m64 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 6.4.0 (GCC) using GEGL version 0.3.31 (compiled against version 0.3.31) using GLib version 2.54.3 (compiled against version 2.54.3) using GdkPixbuf version 2.36.0 (compiled against version 2.36.0) using GTK+ version 2.24.23 (compiled against version 2.24.32) using Pango version 1.36.8 (compiled against version 1.36.8) using Fontconfig version 2.12.6 (compiled against version 2.12.6) using Cairo version 1.14.8 (compiled against version 1.14.8) > GIMP-CRITICAL: gimp_channel_push_undo: assertion 'gimp_item_is_attached (GIMP_ITEM (channel))' failed Stack trace: [New LWP 26080] [New LWP 26081] [New LWP 26083] [New LWP 26084] [New LWP 26085] [New LWP 26086] [New LWP 26087] [New LWP 26088] [New LWP 26089] [New LWP 26172] [New LWP 26203] [New LWP 26204] [New LWP 26205] [New LWP 26206] [New LWP 26207] [New LWP 26208] [New LWP 26209] [New LWP 26210] [New LWP 26211] [New LWP 26212] [New LWP 26213] [New LWP 26214] [New LWP 26215] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 0x00007fbaa7862d5d in __libc_read (fd=32, buf=0x7ffd6b4ca4f0, nbytes=256) at ../sysdeps/unix/sysv/linux/read.c:26
+ Trace 238574
> GIMP-CRITICAL: gimp_channel_push_undo: assertion 'gimp_item_is_attached (GIMP_ITEM (channel))' failed > GIMP-CRITICAL: gimp_channel_push_undo: assertion 'gimp_item_is_attached (GIMP_ITEM (channel))' failed > GIMP-CRITICAL: gimp_channel_push_undo: assertion 'gimp_item_is_attached (GIMP_ITEM (channel))' failed > GIMP-CRITICAL: gimp_channel_push_undo: assertion 'gimp_item_is_attached (GIMP_ITEM (channel))' failed > GIMP-CRITICAL: gimp_channel_push_undo: assertion 'gimp_item_is_attached (GIMP_ITEM (channel))' failed
stdout when this issue happens: *WARNING* missing babl fast path(s): "R'G'B'A u8" to "B' u8" *WARNING* missing babl fast path(s): "R'G'B'A u8" to "A u8"
The script still works fine, you can simply click away the error reporting window. The warnings happen because the script modifies channels that are not attached to an image. In this case that's a completely reasonable use case tho, will fix the warning.
Fixed in master, thanks for the report! commit 8be37da0128ad319778737cafcb824d976cba66a Author: Michael Natterer <mitch@gimp.org> Date: Sat Apr 21 10:38:55 2018 +0200 Bug 795418 - Gimp 'critical error' when running luminosity masks script In the gimp-channel-combine-masks PDB wrapper, only push an undo step if the modified channel is attached to an image. It's a completely reasonable use case to combine unattached channels. app/pdb/channel-cmds.c | 4 +++- pdb/groups/channel.pdb | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-)
So it does! I missed that it was still making the masks because in 2.10 RC1 my GUI layout is different. Sorry for the confusion, and thanks for fixing it!