GLib-GObject-CRITICAL A floating object GimpChannel 00000000023dae3c0 was finalized.
Environment/Versions
- GIMP version:2.99.19
- Package: self build
- Operating System: Windows 11
Description of the bug
(gimp-2.99.exe:1688): GLib-GObject-CRITICAL **: 07:56:55.484: A floating object GimpChannel 0000000023dae3c0 was finalized. This means that someone
called g_object_unref() on an object that had only a floating
reference; the initial floating reference is not owned by anyone
and must be removed with g_object_ref_sink().
Reproduction
Is the bug reproducible? Always
Reproduction steps:
- start gimp with
G_ENABLE_DIAGNOSTIC=1 G_DEBUG=fatal-criticals gdb gimp-2.99
- File->New->Ok
- File->Export as-> export as png -> export
…
Expected result:
Actual result:
Additional information
Thread 1 "main" received signal SIGTRAP, Trace/breakpoint trap.
_g_log_abort (breakpoint=breakpoint@entry=1) at ../glib-2.78.4/glib/gmessages.c:556
warning: 556 ../glib-2.78.4/glib/gmessages.c: No such file or directory
(gdb) bt full
#0 _g_log_abort (breakpoint=breakpoint@entry=1) at ../glib-2.78.4/glib/gmessages.c:556
debugger_present = <optimized out>
#1 0x00007ff84b041a0d in g_logv (log_domain=log_domain@entry=0x7ff8667d46db <__func__.24+75> "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL,
format=format@entry=0x7ff8667d5800 <__func__.24+4464> "A floating object %s %p was finalized. This means that someone\ncalled g_object_unref() on an object that had only a floating\nreference; the initial floating reference is not owned by anyone\nand must b"...,
args=args@entry=0x5fdd48 " ┼╥\\≈\177") at ../glib-2.78.4/glib/gmessages.c:1419
domain = 0x0
data = 0x0
depth = 1
log_func = 0x7ff84b041705 <g_log_default_handler>
domain_fatal_mask = <optimized out>
masquerade_fatal = <optimized out>
test_level = <optimized out>
was_fatal = 0
was_recursion = 0
buffer = <optimized out>
msg_alloc = 0x291fca00 "A floating object GimpChannel 0000000023dae3c0 was finalized. This means that someone\ncalled g_object_unref() on an object that had only a floating\nreference; the initial floating reference is not own"...
msg = 0x291fca00 "A floating object GimpChannel 0000000023dae3c0 was finalized. This means that someone\ncalled g_object_unref() on an object that had only a floating\nreference; the initial floating reference is not own"...
i = 3
size = <optimized out>
#2 0x00007ff84b041bdb in g_log (log_domain=log_domain@entry=0x7ff8667d46db <__func__.24+75> "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL,
format=format@entry=0x7ff8667d5800 <__func__.24+4464> "A floating object %s %p was finalized. This means that someone\ncalled g_object_unref() on an object that had only a floating\nreference; the initial floating reference is not owned by anyone\nand must b"...)
at ../glib-2.78.4/glib/gmessages.c:1461
args = 0x5fdd48 " ┼╥\\≈\177"
#3 0x00007ff8667af650 in g_object_finalize (object=0x23dae3c0) at ../glib-2.78.4/gobject/gobject.c:1399
__func__ = "g_object_finalize"
#4 0x00007ff75c6b2e93 in gimp_object_finalize (object=0x23dae3c0) at ../app/core/gimpobject.c:164
No locals.
#5 0x00007ff75c6d1ae4 in gimp_viewable_finalize (object=0x23dae3c0) at ../app/core/gimpviewable.c:252
private = 0x23dae360
#6 0x00007ff75c71d46f in gimp_filter_finalize (object=0x23dae3c0) at ../app/core/gimpfilter.c:138
private = 0x23dae340
#7 0x00007ff75c68e283 in gimp_item_finalize (object=0x23dae3c0) at ../app/core/gimpitem.c:390
private = 0x23dae300
#8 0x00007ff75c70e745 in gimp_drawable_finalize (object=0x23dae3c0) at ../app/core/gimpdrawable.c:390
drawable = 0x23dae3c0
#9 0x00007ff75c6fb6d6 in gimp_channel_finalize (object=0x23dae3c0) at ../app/core/gimpchannel.c:340
channel = 0x23dae3c0
#10 0x00007ff8667ace35 in g_object_unref (_object=0x23dae3c0) at ../glib-2.78.4/gobject/gobject.c:3941
weak_locations = <optimized out>
nqueue = 0x23daad60
object = 0x23dae3c0
old_ref = <optimized out>
__func__ = "g_object_unref"
#11 0x00007ff75c70ad82 in gimp_drawable_merge_filters (drawable=0x2924cf00) at ../app/core/gimpdrawable-filters.c:185
list = 0x0
image = 0x23db9f40
selection = 0x23dae3c0
buffer = 0x23dae760
#12 0x00007ff75c7f0333 in drawable_merge_filters_invoker (procedure=0x1c7dfc60, gimp=0x32f75d0, context=0x29435290, progress=0x1c558fc0, args=0x23f84950, error=0x5fe328) at ../app/pdb/drawable-cmds.c:616
success = 1
drawable = 0x2924cf00
#13 0x00007ff75c8896d1 in gimp_procedure_real_execute (procedure=0x1c7dfc60, gimp=0x32f75d0, context=0x29435290, progress=0x1c558fc0, args=0x23f84950, error=0x5fe328) at ../app/pdb/gimpprocedure.c:246
__func__ = "gimp_procedure_real_execute"
#14 0x00007ff75c88a83c in gimp_procedure_execute (procedure=0x1c7dfc60, gimp=0x32f75d0, context=0x29435290, progress=0x1c558fc0, args=0x23f84950, error=0x5fe328) at ../app/pdb/gimpprocedure.c:515
return_vals = 0x3b334d0
pdb_error = 0x0
__func__ = "gimp_procedure_execute"
#15 0x00007ff75c886527 in gimp_pdb_execute_procedure_by_name_args (pdb=0x3b34dc0, context=0x29435290, progress=0x1c558fc0, error=0x5fe328, name=0x23ddc3f0 "gimp-drawable-merge-filters", args=0x23f84950) at ../app/pdb/gimppdb.c:320
procedure = 0x1c7dfc60
return_vals = 0x0
list = 0x1c7dfdd0
__func__ = "gimp_pdb_execute_procedure_by_name_args"
--Type <RET> for more, q to quit, c to continue without paging--c
#16 0x00007ff75c8af64e in gimp_plug_in_handle_proc_run (plug_in=0x290aaa80, proc_run=0x26a6d900) at ../app/plug-in/gimpplugin-message.c:584
proc_frame = 0x290aacf8
canonical = 0x23ddc3f0 "gimp-drawable-merge-filters"
proc_name = 0x23ddc3f0 "gimp-drawable-merge-filters"
procedure = 0x1c7dfc60
args = 0x23f84950
return_vals = 0x0
error = 0x0
__func__ = "gimp_plug_in_handle_proc_run"
#17 0x00007ff75c8ae511 in gimp_plug_in_handle_message (plug_in=0x290aaa80, msg=0x5fe420) at ../app/plug-in/gimpplugin-message.c:128
__func__ = "gimp_plug_in_handle_message"
#18 0x00007ff75c8910f2 in gimp_plug_in_recv_message (channel=0x279ea6c0, cond=G_IO_IN, data=0x290aaa80) at ../app/plug-in/gimpplugin.c:213
msg = {type = 5, data = 0x26a6d900}
plug_in = 0x290aaa80
got_message = 0
#19 0x00007ff84b08ead3 in g_io_win32_dispatch (source=0x224ed9e0, callback=0x7ff75c891031 <gimp_plug_in_recv_message>, user_data=0x290aaa80) at ../glib-2.78.4/glib/giowin32.c:977
func = 0x7ff75c891031 <gimp_plug_in_recv_message>
watch = 0x224ed9e0
channel = <optimized out>
buffer_condition = 0
#20 0x00007ff84b038269 in g_main_dispatch (context=0x32bce10) at ../glib-2.78.4/glib/gmain.c:3476
dispatch = 0x7ff84b08ea8e <g_io_win32_dispatch>
prev_source = 0x291c6340
begin_time_nsec = 0
was_in_call = 0
user_data = 0x290aaa80
callback = 0x7ff75c891031 <gimp_plug_in_recv_message>
cb_funcs = 0x7ff84b0a5530 <g_source_callback_funcs>
cb_data = 0x23d4dd30
need_destroy = <optimized out>
source = 0x224ed9e0
current = 0x1c4ef900
i = 0
__func__ = "g_main_dispatch"
#21 0x00007ff84b038324 in g_main_context_dispatch_unlocked (context=context@entry=0x32bce10) at ../glib-2.78.4/glib/gmain.c:4284
No locals.
#22 0x00007ff84b03a6c8 in g_main_context_iterate_unlocked (context=0x32bce10, block=block@entry=1, dispatch=dispatch@entry=1, self=self@entry=0x318a730) at ../glib-2.78.4/glib/gmain.c:4349
max_priority = 2147483647
timeout = 2586
some_ready = 1
nfds = <optimized out>
allocated_nfds = 4
fds = 0x229c4a30
begin_time_nsec = 0
#23 0x00007ff84b03ae88 in g_main_loop_run (loop=0x23d82af0) at ../glib-2.78.4/glib/gmain.c:4551
self = 0x318a730
__func__ = "g_main_loop_run"
#24 0x00007ff75c8b16a1 in gimp_plug_in_manager_call_run (manager=0x3b345c0, context=0x29435290, progress=0x1c558fc0, procedure=0x2238e320, args=0x27170a70, synchronous=1, display=0x1c558fc0) at ../app/plug-in/gimppluginmanager-call.c:314
proc_frame = 0x290aacf8
core_config = 0x3bbe290
gui_config = 0x3bbe290
proc_run = {name = 0x22489300 "file-png-save", n_params = 13, params = 0x29302250}
icc_length = 1486
gegl_config = 0x3bbe290
display_config = 0x3bbe290
monitor = 0x714740
icon_theme_dir = 0x1c635d80
icc = 0xe3a110 ""
config = {tile_width = 128, tile_height = 128, shm_id = 1688, check_size = 1 '\001', check_type = 1 '\001', show_help_button = 1 '\001', use_cpu_accel = 1 '\001', use_opencl = 0 '\000', export_color_profile = 1 '\001', export_comment = 1 '\001',
export_exif = 1 '\001', export_xmp = 1 '\001', export_iptc = 1 '\001', default_display_id = 1, app_name = 0xdeff80 "GNU Image Manipulation Program", wm_class = 0xdfbc00 "Gimp-2.99.exe", display_name = 0x2754a430 "\240(ZI°\177", monitor_number = 0,
timestamp = 0, icon_theme_dir = 0x26a58880 "\b", tile_cache_size = 3252738048, swap_path = 0x3bc4600 "${gimp_cache_dir}", swap_compression = 0x3bc3d90 "fast", num_processors = 3, check_custom_color1 = 0x224311a0, check_custom_icc1 = 0x23e510f0,
check_custom_encoding1 = 0xe5a010 "R'G'B'A double", check_custom_color2 = 0x23e3d790, check_custom_icc2 = 0x23e3d7f0, check_custom_encoding2 = 0xe5a010 "R'G'B'A double"}
display_id = 1
format = 0xe59f20
return_vals = 0x0
plug_in = 0x290aaa80
__func__ = "gimp_plug_in_manager_call_run"
#25 0x00007ff75c89ce90 in gimp_plug_in_procedure_execute (procedure=0x2238e320, gimp=0x32f75d0, context=0x29435290, progress=0x1c558fc0, args=0x27170a70, error=0x5feec8) at ../app/plug-in/gimppluginprocedure.c:394
plug_in_procedure = 0x2238e320
pdb_error = 0x0
#26 0x00007ff75c88a83c in gimp_procedure_execute (procedure=0x2238e320, gimp=0x32f75d0, context=0x29435290, progress=0x1c558fc0, args=0x27170a70, error=0x5feec8) at ../app/pdb/gimpprocedure.c:515
return_vals = 0x3b334d0
pdb_error = 0x0
__func__ = "gimp_procedure_execute"
#27 0x00007ff75c886527 in gimp_pdb_execute_procedure_by_name_args (pdb=0x3b34dc0, context=0x3b04b30, progress=0x1c558fc0, error=0x5feec8, name=0x22489300 "file-png-save", args=0x27170a70) at ../app/pdb/gimppdb.c:320
procedure = 0x2238e320
return_vals = 0x0
list = 0x22423b40
__func__ = "gimp_pdb_execute_procedure_by_name_args"
#28 0x00007ff75c8872e7 in gimp_pdb_execute_procedure_by_name (pdb=0x3b34dc0, context=0x3b04b30, progress=0x1c558fc0, error=0x5feec8, name=0x22489300 "file-png-save") at ../app/pdb/gimppdb.c:508
procedure = 0x2238e320
args = 0x27170a70
return_vals = 0x26a6cff0
va_args = 0x5fed50 "╔╥▌\\≈\177"
prev_value_type = 14674656
prev_int_value = 1
i = 5
__func__ = "gimp_pdb_execute_procedure_by_name"
#29 0x00007ff75cb54d84 in file_save (gimp=0x32f75d0, image=0x23812e50, progress=0x1c558fc0, file=0x293e63d0, file_proc=0x2238e320, run_mode=GIMP_RUN_INTERACTIVE, change_saved_state=0, export_backward=0, export_forward=1, error=0x5feec8) at ../app/file/file-save.c:203
return_vals = 0x126a6cff0
orig_file = 0x293e63d0
status = GIMP_PDB_EXECUTION_ERROR
local_file = 0x0
mounted = 1
my_error = 0x0
drawables_list = 0x27170a70
drawables = 0x23e84d60
n_drawables = 1
__func__ = "file_save"
#30 0x00007ff75cba8d84 in file_save_dialog_save_image (progress=0x1c558fc0, gimp=0x32f75d0, image=0x23812e50, file=0x293e63d0, save_proc=0x2238e320, run_mode=GIMP_RUN_INTERACTIVE, change_saved_state=0, export_backward=0, export_forward=1, xcf_compression=0,
verbose_cancel=0) at ../app/dialogs/file-save-dialog.c:823
status = 648466416
error = 0x0
list = 0x0
success = 0
#31 0x00007ff75cba7566 in file_save_dialog_response (dialog=0x29272e30, response_id=-5, gimp=0x32f75d0) at ../app/dialogs/file-save-dialog.c:218
image = 0x23812e50
close_after_saving = 0
save_a_copy = 0
progress = 0x1c558fc0
display_to_close = 0x0
xcf_compression = 0
is_save_dialog = 0
file_dialog = 0x29272e30
file = 0x293e63d0
basename = 0x2778d170 "Untitled.png"
save_proc = 0x2238e320
#32 0x00007ff8667a9807 in g_cclosure_marshal_VOID__INT (closure=0x26a6cff0, return_value=<optimized out>, n_param_values=<optimized out>, param_values=0x5ff2d0, invocation_hint=0x5ff1e0, marshal_data=0x0) at ../glib-2.78.4/gobject/gmarshal.c:540
callback = 0x7ff75cba703f <file_save_dialog_response>
cc = 0x26a6cff0
data1 = 0x29272e30
data2 = 0x32f75d0
__func__ = "g_cclosure_marshal_VOID__INT"
#33 0x00007ff8667a790b in g_closure_invoke (closure=0x26a6cff0, return_value=0x0, n_param_values=2, n_param_values@entry=0, param_values=0x5ff2d0, param_values@entry=0x29272e30, invocation_hint=invocation_hint@entry=0x5ff1e0) at ../glib-2.78.4/gobject/gclosure.c:832
marshal = 0x7ff8667a9791 <g_cclosure_marshal_VOID__INT>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x26a6cfd0
__func__ = "g_closure_invoke"
#34 0x00007ff8667b7e41 in signal_emit_unlocked_R (node=node@entry=0x5ff3a0, detail=<optimized out>, detail@entry=0, instance=instance@entry=0x29272e30, emission_return=emission_return@entry=0x0, instance_and_params=<optimized out>)
at ../glib-2.78.4/gobject/gsignal.c:3980
tmp = <optimized out>
handler = 0x29253f90
accumulator = <optimized out>
emission = {next = 0x5ff6c0, instance = 0x29272e30, ihint = {signal_id = 448, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 4}
class_closure = <optimized out>
hlist = <optimized out>
handler_list = 0x23e90d50
return_accu = <optimized out>
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0,
v_pointer = 0x0}}}
signal_id = <optimized out>
max_sequential_handler_number = <optimized out>
return_value_altered = <optimized out>
n_params = <optimized out>
__func__ = "signal_emit_unlocked_R"
#35 0x00007ff8667b9191 in signal_emit_valist_unlocked (instance=instance@entry=0x29272e30, signal_id=signal_id@entry=448, detail=detail@entry=0, var_args=<optimized out>, var_args@entry=0x5ff538 "√ ") at ../glib-2.78.4/gobject/gsignal.c:3612
instance_and_params = 0x5ff2d0
param_values = 0x5ff2e8
node = <optimized out>
i = <optimized out>
__func__ = "signal_emit_valist_unlocked"
node_copy = {signal_id = 448, itype = 596154800, name = 0x7ff8495aaa11 <css_value_names+401> "response", destroyed = 0, flags = 2, n_params = 1, single_va_closure_is_valid = 1, single_va_closure_is_after = 1, param_types = 0x238898f0, return_type = 4,
class_closure_bsa = 0x2388b8e0, accumulator = 0x0, c_marshaller = 0x7ff8667a9791 <g_cclosure_marshal_VOID__INT>, va_marshaller = 0x7ff8667a9819 <g_cclosure_marshal_VOID__INTv>, emission_hooks = 0x0, single_va_closure = 0x2388a860}
#36 0x00007ff8667bce05 in g_signal_emit_valist (instance=0x29272e30, signal_id=448, detail=0, var_args=var_args@entry=0x5ff538 "√ ") at ../glib-2.78.4/gobject/gsignal.c:3355
No locals.
#37 0x00007ff8667bce4b in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib-2.78.4/gobject/gsignal.c:3675
var_args = 0x5ff538 "√ "
#38 0x00007ff8490a2ce8 in gtk_dialog_response (dialog=0x29272e30, response_id=-5) at ../gtk+-3.24.41/gtk/gtkdialog.c:1234
__func__ = "gtk_dialog_response"
#39 0x00007ff8490a305d in action_widget_activated (widget=<optimized out>, dialog=0x29272e30) at ../gtk+-3.24.41/gtk/gtkdialog.c:320
response_id = 1
#40 0x00007ff8667a949e in g_cclosure_marshal_VOID__VOIDv (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=0x1 <error: Cannot access memory at address 0x1>, marshal_data=0x0, n_params=0, param_types=0x0)
at ../glib-2.78.4/gobject/gmarshal.c:165
cc = <optimized out>
data1 = 0x291ec001
data2 = 0x1
callback = 0x1