SIGSEGV when closing
Environment/Versions
- GIMP version: 82e201f9
- Package: self built
- Operating System: Arch Linux
On Wayland compositors like wayfire and hyprland.
Description of the bug
Thread 1 "gimp" received signal SIGSEGV, Segmentation fault.
0x00007ffff64d30bb in unlink_chunk (p=p@entry=0x555558865dd0, av=0x7ffff6619aa0 <main_arena>) at malloc.c:1610
1610 if (__builtin_expect (fd->bk != p || bk->fd != p, 0))
Reproduction
Is the bug reproducible? Always
Reproduction steps:
- open gimp
- try to close it
…
Expected result: it closes cleanly
Actual result: it freezes and a line says segmentation fault is printed
Additional information
#0 0x00007ffff64d30bb in unlink_chunk (p=p@entry=0x555558865dd0, av=0x7ffff6619aa0 <main_arena>) at malloc.c:1610
#1 0x00007ffff64d328b in malloc_consolidate (av=av@entry=0x7ffff6619aa0 <main_arena>) at malloc.c:4758
#2 0x00007ffff64d57d0 in _int_malloc (av=av@entry=0x7ffff6619aa0 <main_arena>, bytes=bytes@entry=8192) at malloc.c:3951
#3 0x00007ffff64d77b8 in __libc_calloc (n=n@entry=1, elem_size=elem_size@entry=8192) at malloc.c:3664
#4 0x00007ffff78eaa32 in g_malloc0 (n_bytes=8192) at ../glib/glib/gmem.c:163
#5 0x00007ffff78cd7f3 in g_hash_table_resize (hash_table=0x555555cba3f0 = {...}) at ../glib/glib/ghash.c:885
#6 0x00007ffff78d1b71 in g_hash_table_maybe_resize (hash_table=0x555555cba3f0 = {...}) at ../glib/glib/ghash.c:918
#7 g_hash_table_remove_internal (notify=1, key=0x55555970e8b0, hash_table=0x555555cba3f0 = {...}) at ../glib/glib/ghash.c:1776
#8 g_hash_table_remove (hash_table=0x555555cba3f0 = {...}, key=key@entry=0x55555970e8b0) at ../glib/glib/ghash.c:1803
#9 0x00007ffff7685e28 in g_signal_handlers_destroy (instance=<optimized out>) at ../glib/gobject/gsignal.c:2847
#10 0x00007ffff767430e in g_object_real_dispose (object=0x55555970e710) at ../glib/gobject/gobject.c:1362
#11 0x00007ffff76773f3 in g_object_unref (_object=0x55555970e710) at ../glib/gobject/gobject.c:3891
#12 0x00007ffff78db850 in g_list_foreach (list=<optimized out>, list@entry=0x5555597111b0 = {...}, func=0x7ffff7677290 <g_object_unref>, user_data=user_data@entry=0x0)
at ../glib/glib/glist.c:1092
#13 0x00007ffff78e1480 in g_list_free_full (list=0x5555597111b0 = {...}, free_func=<optimized out>) at ../glib/glib/glist.c:246
#14 0x0000555555733670 in gimp_action_group_dispose (object=0x5555596e99e0) at /usr/include/glib-2.0/glib/gmem.h:233
#15 0x00007ffff76773f3 in g_object_unref (_object=0x5555596e99e0) at ../glib/gobject/gobject.c:3891
#16 0x00007ffff78d0e03 in g_hash_table_remove_all_nodes.part.0.lto_priv.0 (hash_table=0x555557f95fa0, notify=<optimized out>, destruction=<optimized out>) at ../glib/glib/ghash.c:709
#17 0x00007ffff78d0b24 in g_hash_table_remove_all_nodes (destruction=1, notify=1, hash_table=0x555557f95fa0) at ../glib/glib/ghash.c:631
#18 g_hash_table_unref (hash_table=0x555557f95fa0) at ../glib/glib/ghash.c:1491
#19 g_hash_table_unref (hash_table=0x555557f95fa0) at ../glib/glib/ghash.c:1485
#20 0x00005555557329f3 in gimp_action_factory_finalize (object=0x555557f737a0) at ../gimp/app/widgets/gimpactionfactory.c:79
#21 0x00007ffff76774a4 in g_object_unref (_object=0x555557f737a0) at ../glib/gobject/gobject.c:3938
#22 0x000055555594cd46 in actions_exit (gimp=<optimized out>) at ../gimp/app/actions/actions.c:281
#23 0x000055555563da51 in gui_exit_after_callback (gimp=gimp@entry=0x555556020f30, force=<optimized out>) at ../gimp/app/gui/gui.c:724
#24 0x00005555557659f8 in gimp_marshal_BOOLEAN__BOOLEAN
(closure=0x555555eaaf70, return_value=0x7fffffffcb00, n_param_values=<optimized out>, param_values=0x7fffffffcb60, invocation_hint=<optimized out>, marshal_data=<optimized out>)
at app/core/gimpmarshal.c:84
#25 0x00007ffff7669210 in g_closure_invoke (closure=0x555555eaaf70, return_value=0x7fffffffcb00, n_param_values=2, param_values=0x7fffffffcb60, invocation_hint=0x7fffffffcae0)
at ../glib/gobject/gclosure.c:832
#26 0x00007ffff76975c6 in signal_emit_unlocked_R.isra.0
(node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x555556020f30, emission_return=emission_return@entry=0x7fffffffcc70, instance_and_params=instance_and_params@entry=0x7fffffffcb60) at ../glib/gobject/gsignal.c:3873
#27 0x00007ffff7686aa0 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffcd20)
at ../glib/gobject/gsignal.c:3565
#28 0x00007ffff7687324 in g_signal_emit (instance=instance@entry=0x555556020f30, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3612
#29 0x00005555557795c5 in gimp_exit (gimp=0x555556020f30, force=0) at ../gimp/app/core/gimp.c:907
#30 0x00007ffff7669210 in g_closure_invoke (closure=0x5555581da6a0, return_value=0x0, n_param_values=2, param_values=0x7fffffffcfc0, invocation_hint=0x7fffffffcf40)
at ../glib/gobject/gclosure.c:832
#31 0x00007ffff76972f8 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x5555581d9fc0, detail=detail@entry=0, instance=instance@entry=0x5555581c6410, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffcfc0) at ../glib/gobject/gsignal.c:3802
Edited by lilydjwg