After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 795418 - Gimp 'critical error' when running luminosity masks script
Gimp 'critical error' when running luminosity masks script
Status: RESOLVED FIXED
Product: GIMP
Classification: Other
Component: libgimp
2.10.0-RC1
Other All
: Normal normal
: 2.10
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2018-04-20 20:29 UTC by gnome_bugzilla
Modified: 2018-04-21 17:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
script that causes the issue (19.38 KB, text/x-scheme)
2018-04-20 20:29 UTC, gnome_bugzilla
Details

Description gnome_bugzilla 2018-04-20 20:29:39 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
  • #0 __libc_read
    at ../sysdeps/unix/sysv/linux/read.c line 26
  • #1 gimp_stack_trace_print
    from ././/lib/libgimpbase-2.0.so.0
  • #2 gui_message
  • #3 gimp_show_message
  • #4 ??
  • #5 g_logv
    from ././/lib/libglib-2.0.so.0
  • #6 g_log
    from ././/lib/libglib-2.0.so.0
  • #7 gimp_channel_push_undo
  • #8 ??
  • #9 ??
  • #10 gimp_procedure_execute
  • #11 gimp_pdb_execute_procedure_by_name_args
  • #12 ??
  • #13 gimp_plug_in_handle_message
  • #14 ??
  • #15 g_main_context_dispatch
    from ././/lib/libglib-2.0.so.0
  • #16 ??
    from ././/lib/libglib-2.0.so.0
  • #17 g_main_loop_run
    from ././/lib/libglib-2.0.so.0
  • #18 gimp_plug_in_main_loop
  • #19 gimp_plug_in_manager_call_run_temp
  • #20 ??
  • #21 gimp_procedure_execute_async
  • #22 procedure_commands_run_procedure_async
  • #23 plug_in_run_cmd_callback
  • #24 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #25 ??
    from ././/lib/libgobject-2.0.so.0
  • #26 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #27 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #28 gimp_procedure_action_selected
  • #29 ??
  • #30 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #31 ??
    from ././/lib/libgobject-2.0.so.0
  • #32 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #33 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #34 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #35 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #36 ??
    from ././/lib/libgobject-2.0.so.0
  • #37 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #38 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #39 gtk_widget_activate
    from ././/lib/libgtk-x11-2.0.so.0
  • #40 gtk_menu_shell_activate_item
    from ././/lib/libgtk-x11-2.0.so.0
  • #41 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #42 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #43 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #44 ??
    from ././/lib/libgobject-2.0.so.0
  • #45 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #46 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #47 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #48 gtk_propagate_event
    from ././/lib/libgtk-x11-2.0.so.0
  • #49 gtk_main_do_event
    from ././/lib/libgtk-x11-2.0.so.0
  • #50 ??
    from ././/lib/libgdk-x11-2.0.so.0
  • #51 g_main_context_dispatch
    from ././/lib/libglib-2.0.so.0
  • #52 ??
    from ././/lib/libglib-2.0.so.0
  • #53 g_main_loop_run
    from ././/lib/libglib-2.0.so.0
  • #54 app_run
  • #55 main
  • #0 __libc_read
    at ../sysdeps/unix/sysv/linux/read.c line 26
  • #1 gimp_stack_trace_print
    from ././/lib/libgimpbase-2.0.so.0
  • #2 gui_message
  • #3 gimp_show_message
  • #4 ??
  • #5 g_logv
    from ././/lib/libglib-2.0.so.0
  • #6 g_log
    from ././/lib/libglib-2.0.so.0
  • #7 gimp_channel_push_undo
  • #8 ??
  • #9 ??
  • #10 gimp_procedure_execute
  • #11 gimp_pdb_execute_procedure_by_name_args
  • #12 ??
  • #13 gimp_plug_in_handle_message
  • #14 ??
  • #15 g_main_context_dispatch
    from ././/lib/libglib-2.0.so.0
  • #16 ??
    from ././/lib/libglib-2.0.so.0
  • #17 g_main_loop_run
    from ././/lib/libglib-2.0.so.0
  • #18 gimp_plug_in_main_loop
  • #19 gimp_plug_in_manager_call_run_temp
  • #20 ??
  • #21 gimp_procedure_execute_async
  • #22 procedure_commands_run_procedure_async
  • #23 plug_in_run_cmd_callback
  • #24 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #25 ??
    from ././/lib/libgobject-2.0.so.0
  • #26 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #27 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #28 gimp_procedure_action_selected
  • #29 ??
  • #30 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #31 ??
    from ././/lib/libgobject-2.0.so.0
  • #32 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #33 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #34 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #35 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #36 ??
    from ././/lib/libgobject-2.0.so.0
  • #37 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #38 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #39 gtk_widget_activate
    from ././/lib/libgtk-x11-2.0.so.0
  • #40 gtk_menu_shell_activate_item
    from ././/lib/libgtk-x11-2.0.so.0
  • #41 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #42 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #43 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #44 ??
    from ././/lib/libgobject-2.0.so.0
  • #45 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #46 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #47 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #48 gtk_propagate_event
    from ././/lib/libgtk-x11-2.0.so.0
  • #49 gtk_main_do_event
    from ././/lib/libgtk-x11-2.0.so.0
  • #50 ??
    from ././/lib/libgdk-x11-2.0.so.0
  • #51 g_main_context_dispatch
    from ././/lib/libglib-2.0.so.0
  • #52 ??
    from ././/lib/libglib-2.0.so.0
  • #53 g_main_loop_run
    from ././/lib/libglib-2.0.so.0
  • #54 app_run
  • #55 main
  • #0 __libc_read
    at ../sysdeps/unix/sysv/linux/read.c line 26
  • #1 gimp_stack_trace_print
    from ././/lib/libgimpbase-2.0.so.0
  • #2 gui_message
  • #3 gimp_show_message
  • #4 ??
  • #5 g_logv
    from ././/lib/libglib-2.0.so.0
  • #6 g_log
    from ././/lib/libglib-2.0.so.0
  • #7 gimp_channel_push_undo
  • #8 ??
  • #9 ??
  • #10 gimp_procedure_execute
  • #11 gimp_pdb_execute_procedure_by_name_args
  • #12 ??
  • #13 gimp_plug_in_handle_message
  • #14 ??
  • #15 g_main_context_dispatch
    from ././/lib/libglib-2.0.so.0
  • #16 ??
    from ././/lib/libglib-2.0.so.0
  • #17 g_main_loop_run
    from ././/lib/libglib-2.0.so.0
  • #18 gimp_plug_in_main_loop
  • #19 gimp_plug_in_manager_call_run_temp
  • #20 ??
  • #21 gimp_procedure_execute_async
  • #22 procedure_commands_run_procedure_async
  • #23 plug_in_run_cmd_callback
  • #24 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #25 ??
    from ././/lib/libgobject-2.0.so.0
  • #26 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #27 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #28 gimp_procedure_action_selected
  • #29 ??
  • #30 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #31 ??
    from ././/lib/libgobject-2.0.so.0
  • #32 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #33 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #34 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #35 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #36 ??
    from ././/lib/libgobject-2.0.so.0
  • #37 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #38 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #39 gtk_widget_activate
    from ././/lib/libgtk-x11-2.0.so.0
  • #40 gtk_menu_shell_activate_item
    from ././/lib/libgtk-x11-2.0.so.0
  • #41 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #42 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #43 g_closure_invoke
    from ././/lib/libgobject-2.0.so.0
  • #44 ??
    from ././/lib/libgobject-2.0.so.0
  • #45 g_signal_emit_valist
    from ././/lib/libgobject-2.0.so.0
  • #46 g_signal_emit
    from ././/lib/libgobject-2.0.so.0
  • #47 ??
    from ././/lib/libgtk-x11-2.0.so.0
  • #48 gtk_propagate_event
    from ././/lib/libgtk-x11-2.0.so.0
  • #49 gtk_main_do_event
    from ././/lib/libgtk-x11-2.0.so.0
  • #50 ??
    from ././/lib/libgdk-x11-2.0.so.0
  • #51 g_main_context_dispatch
    from ././/lib/libglib-2.0.so.0
  • #52 ??
    from ././/lib/libglib-2.0.so.0
  • #53 g_main_loop_run
    from ././/lib/libglib-2.0.so.0
  • #54 app_run
  • #55 main

> 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
Comment 1 gnome_bugzilla 2018-04-20 20:39:29 UTC
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"
Comment 2 Michael Natterer 2018-04-21 08:37:07 UTC
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.
Comment 3 Michael Natterer 2018-04-21 08:44:59 UTC
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(-)
Comment 4 gnome_bugzilla 2018-04-21 17:47:29 UTC
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!