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 338286 - Crash when closing a dock, with latest libgtk+ (2.8.17)
Crash when closing a dock, with latest libgtk+ (2.8.17)
Status: RESOLVED FIXED
Product: GIMP
Classification: Other
Component: General
2.2.x
Other All
: Normal critical
: 2.2
Assigned To: GIMP Bugs
GIMP Bugs
: 338329 339428 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-04-13 01:42 UTC by Gary Coady
Modified: 2008-01-15 13:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Possible patch to fix problem (740 bytes, patch)
2006-04-13 01:44 UTC, Gary Coady
none Details | Review

Description Gary Coady 2006-04-13 01:42:50 UTC
Steps to reproduce:
1. Open the "Layers, Channels & Paths" dock
2. Close the dock.
3. Click okay when asked if you are sure.


Stack trace:
Stack trace isn't very useful because it's a heap corruption issue, here's the
responsible valgrind information:

==32444== Invalid free() / delete / delete[]
==32444==    at 0x401CFCF: free (vg_replace_malloc.c:235)
==32444==    by 0x4732E8B: g_free (gmem.c:187)
==32444==    by 0x81385B4: gimp_dockable_destroy (gimpdockable.c:245)
==32444==    by 0x46DF422: g_cclosure_marshal_VOID__VOID (gmarshal.c:77)
==32444==    by 0x46D316E: ??? (gclosure.c:567)
==32444==    by 0x46D379E: g_closure_invoke (gclosure.c:490)
==32444==    by 0x46E2B16: ??? (gsignal.c:2554)
==32444==    by 0x46E3B18: g_signal_emit_valist (gsignal.c:2197)
==32444==    by 0x46E3E88: g_signal_emit (gsignal.c:2241)
==32444==    by 0x42771F1: ??? (gtkobject.c:419)
==32444==    by 0x434289E: ??? (gtkwidget.c:6672)
==32444==    by 0x46D5EAB: g_object_unref (gobject.c:1734)
==32444==    by 0x46D69FB: g_object_run_dispose (gobject.c:572)
==32444==    by 0x42771AD: gtk_object_destroy (gtkobject.c:404)
==32444==    by 0x433B30D: gtk_widget_destroy (gtkwidget.c:2011)
==32444==    by 0x426F8B4: ??? (gtknotebook.c:2516)
==32444==    by 0x41D006F: gtk_container_foreach (gtkcontainer.c:1292)
==32444==    by 0x41D1D94: ??? (gtkcontainer.c:829)
==32444==    by 0x4275888: ??? (gtknotebook.c:895)
==32444==    by 0x46DF422: g_cclosure_marshal_VOID__VOID (gmarshal.c:77)
==32444==    by 0x46D316E: ??? (gclosure.c:567)
==32444==    by 0x46D379E: g_closure_invoke (gclosure.c:490)
==32444==    by 0x46E2B16: ??? (gsignal.c:2554)
==32444==    by 0x46E3B18: g_signal_emit_valist (gsignal.c:2197)
==32444==    by 0x46E3E88: g_signal_emit (gsignal.c:2241)
==32444==    by 0x42771F1: ??? (gtkobject.c:419)
==32444==    by 0x434289E: ??? (gtkwidget.c:6672)
==32444==    by 0x46D5EAB: g_object_unref (gobject.c:1734)
==32444==    by 0x8137DC3: gimp_dock_remove_book (gimpdock.c:710)
==32444==    by 0x8136933: gimp_dock_destroy (gimpdock.c:322)
==32444==  Address 0x4D86260 is 0 bytes inside a block of size 7 free'd
==32444==    at 0x401CFCF: free (vg_replace_malloc.c:235)
==32444==    by 0x4732E8B: g_free (gmem.c:187)
==32444==    by 0x81385D6: gimp_dockable_destroy (gimpdockable.c:251)
==32444==    by 0x46DF422: g_cclosure_marshal_VOID__VOID (gmarshal.c:77)
==32444==    by 0x46D316E: ??? (gclosure.c:567)
==32444==    by 0x46D379E: g_closure_invoke (gclosure.c:490)
==32444==    by 0x46E2B16: ??? (gsignal.c:2554)
==32444==    by 0x46E3B18: g_signal_emit_valist (gsignal.c:2197)
==32444==    by 0x46E3E88: g_signal_emit (gsignal.c:2241)
==32444==    by 0x42771F1: ??? (gtkobject.c:419)
==32444==    by 0x434289E: ??? (gtkwidget.c:6672)
==32444==    by 0x46D69F3: g_object_run_dispose (gobject.c:571)
==32444==    by 0x42771AD: gtk_object_destroy (gtkobject.c:404)
==32444==    by 0x433B30D: gtk_widget_destroy (gtkwidget.c:2011)
==32444==    by 0x426F8B4: ??? (gtknotebook.c:2516)
==32444==    by 0x41D006F: gtk_container_foreach (gtkcontainer.c:1292)
==32444==    by 0x41D1D94: ??? (gtkcontainer.c:829)
==32444==    by 0x4275888: ??? (gtknotebook.c:895)
==32444==    by 0x46DF422: g_cclosure_marshal_VOID__VOID (gmarshal.c:77)
==32444==    by 0x46D316E: ??? (gclosure.c:567)
==32444==    by 0x46D379E: g_closure_invoke (gclosure.c:490)
==32444==    by 0x46E2B16: ??? (gsignal.c:2554)
==32444==    by 0x46E3B18: g_signal_emit_valist (gsignal.c:2197)
==32444==    by 0x46E3E88: g_signal_emit (gsignal.c:2241)
==32444==    by 0x42771F1: ??? (gtkobject.c:419)
==32444==    by 0x434289E: ??? (gtkwidget.c:6672)
==32444==    by 0x46D5EAB: g_object_unref (gobject.c:1734)
==32444==    by 0x8137DC3: gimp_dock_remove_book (gimpdock.c:710)
==32444==    by 0x8136933: gimp_dock_destroy (gimpdock.c:322)
==32444==    by 0x814DBC5: gimp_image_dock_destroy (gimpimagedock.c:283)

Other information:
This bug was reported into the Ubuntu bug tracking system at
https://launchpad.net/distros/ubuntu/+source/gimp/+bug/39206/
Comment 1 Gary Coady 2006-04-13 01:44:22 UTC
Created attachment 63346 [details] [review]
Possible patch to fix problem

This patch fixes the problem for me. Could somebody more familiar with the code review it and see if it's okay?
Comment 2 Sven Neumann 2006-04-13 09:57:34 UTC
I have merged the relevant fix from the HEAD branch instead:

2006-04-13  Sven Neumann  <sven@gimp.org>

	Merged from HEAD branch:

	* app/widgets/gimpdockable.c (gimp_dockable_destroy): always set
	dockable->blurb to NULL, also if its memory is shared with
	dockable->name. Fixes bug #338286.
Comment 3 Daniel Holbach 2006-04-13 11:07:30 UTC
Something I observed with both your patches, is that:
 * I click on "close layers dock",
 * dialog pops up, asking me if it can close all the tabs,
 * I wait a bit
 * "this applications doesn't react" popup comes up.
Comment 4 Sven Neumann 2006-04-13 11:19:17 UTC
*** Bug 338329 has been marked as a duplicate of this bug. ***
Comment 5 Daniel Holbach 2006-04-18 10:18:12 UTC
Wouldn't my last comment warrant to reopen the bug?
Comment 6 Sven Neumann 2006-04-18 12:17:32 UTC
No, since that seems to be a misfeature of your window manager. I cannot reproduce this behaviour using metacity 2.12.3.
Comment 7 Daniel Holbach 2006-04-18 15:43:08 UTC
This happens with metacity 2.14.2 - you suppose, I should file this as a metacity bug?
Comment 8 Sven Neumann 2006-04-19 08:00:57 UTC
Yes, please file a bug report against metacity.
Comment 9 Daniel Holbach 2006-04-19 09:24:02 UTC
Thanks for the answers, I filed bug 338983
Comment 10 Sven Neumann 2006-04-23 10:48:57 UTC
*** Bug 339428 has been marked as a duplicate of this bug. ***