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 327639 - crash when disposing GimpRectangleTool
crash when disposing GimpRectangleTool
Status: RESOLVED FIXED
Product: GIMP
Classification: Other
Component: Tools
git master
Other Linux
: Normal critical
: 2.4
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2006-01-19 00:44 UTC by Diego González
Modified: 2006-01-19 17:45 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Diego González 2006-01-19 00:44:10 UTC
what i did was:

press the button with the tooltip: "Select a rectangular part of an image"
then press the button with the tooltip: "Select rectangular regions"

==> crash

I'm using Gtk, glib and pango from CVS HEAD, so this might be related

on the console i get:
*** glibc detected *** double free or corruption (out): 0x086d2250 ***

backtrace: 

  • #0 __kernel_vsyscall
  • #1 raise
    from /lib/tls/i686/cmov/libc.so.6
  • #2 abort
    from /lib/tls/i686/cmov/libc.so.6
  • #3 __fsetlocking
    from /lib/tls/i686/cmov/libc.so.6
  • #4 malloc_usable_size
    from /lib/tls/i686/cmov/libc.so.6
  • #5 free
    from /lib/tls/i686/cmov/libc.so.6
  • #6 IA__g_free
    at gmem.c line 172
  • #7 gimp_rectangle_tool_dispose
  • #8 IA__g_object_unref
    at gobject.c line 1734
  • #9 tool_manager_select_tool
  • #10 tool_manager_tool_changed
  • #11 IA__g_cclosure_marshal_VOID__OBJECT
    at gmarshal.c line 636
  • #12 IA__g_closure_invoke
    at gclosure.c line 490
  • #13 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #14 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #15 IA__g_signal_emit
    at gsignal.c line 2241
  • #16 gimp_context_tool_changed
  • #17 gimp_context_real_set_tool
  • #18 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #19 IA__g_closure_invoke
    at gclosure.c line 490
  • #20 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #21 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #22 IA__g_signal_emit
    at gsignal.c line 2241
  • #23 IA__gtk_toggle_button_toggled
    at gtktogglebutton.c line 342
  • #24 gtk_radio_button_clicked
    at gtkradiobutton.c line 653
  • #25 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #26 g_type_class_meta_marshal
    at gclosure.c line 567
  • #27 IA__g_closure_invoke
    at gclosure.c line 490
  • #28 signal_emit_unlocked_R
    at gsignal.c line 2368
  • #29 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #30 IA__g_signal_emit
    at gsignal.c line 2241
  • #31 IA__gtk_button_clicked
    at gtkbutton.c line 848
  • #32 gtk_toggle_button_released
    at gtktogglebutton.c line 462
  • #33 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #34 g_type_class_meta_marshal
    at gclosure.c line 567
  • #35 IA__g_closure_invoke
    at gclosure.c line 490
  • #36 signal_emit_unlocked_R
    at gsignal.c line 2368
  • #37 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #38 IA__g_signal_emit
    at gsignal.c line 2241
  • #39 IA__gtk_button_released
    at gtkbutton.c line 840
  • #40 gtk_button_button_release
    at gtkbutton.c line 1280
  • #41 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 83
  • #42 g_type_class_meta_marshal
    at gclosure.c line 567
  • #43 IA__g_closure_invoke
    at gclosure.c line 490
  • #44 signal_emit_unlocked_R
    at gsignal.c line 2476
  • #45 IA__g_signal_emit_valist
    at gsignal.c line 2207
  • #46 IA__g_signal_emit
    at gsignal.c line 2241
  • #47 gtk_widget_event_internal
    at gtkwidget.c line 3732
  • #48 IA__gtk_widget_event
    at gtkwidget.c line 3535
  • #49 IA__gtk_propagate_event
    at gtkmain.c line 2166
  • #50 IA__gtk_main_do_event
    at gtkmain.c line 1410
  • #51 gdk_event_dispatch
    at gdkevents-x11.c line 2311
  • #52 g_main_dispatch
    at gmain.c line 1916
  • #53 IA__g_main_context_dispatch
    at gmain.c line 2466
  • #54 g_main_context_iterate
    at gmain.c line 2547
  • #55 IA__g_main_loop_run
    at gmain.c line 2751
  • #56 app_run
  • #57 main

Comment 1 Simon Budig 2006-01-19 17:03:40 UTC
Very likely that there are bugs in the yet unfinished new rectangle select tool. However, I cannot reproduce this problem. I ran GIMP CVS with valgrind and it did not report problems when first clicking on the new rect-select-tool and then on the old rect-select-tool.

For some reasons the linenumbers and filenames in the GIMP parts of your stack-trace are missing. Can you please recompile GIMP with more debugging symbols and try to reproduce this?

Setting to NEEDINFO.

Thanks.
Comment 2 Michael Natterer 2006-01-19 17:44:27 UTC
gimp_rectangle_tool_dispose() calls g_free() on a widget
pointer. That's a bad idea :)
Comment 3 Michael Natterer 2006-01-19 17:45:33 UTC
Fixed in CVS:

2006-01-19  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_dispose):
	don't call g_free() on a widget pointer. Fixes bug #327639.