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 724392 - crash in gtk_text_handle_finalize
crash in gtk_text_handle_finalize
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2014-02-15 00:30 UTC by Matthias Clasen
Modified: 2014-02-19 05:32 UTC
See Also:
GNOME target: 3.12
GNOME version: ---


Attachments
GtkTextHandle: Deal with parent_scrollable going away (1.13 KB, patch)
2014-02-18 03:28 UTC, Matthias Clasen
committed Details | Review

Description Matthias Clasen 2014-02-15 00:30:12 UTC
Looks like GtkTextHandle is not prepared for parent_scrollable going away:

  • #0 g_type_check_instance
    at gtype.c line 4076
  • #1 g_signal_handler_is_connected
    at gsignal.c line 2600
  • #2 _gtk_text_handle_update_scrollable
    at gtktexthandle.c line 424
  • #3 _gtk_text_handle_set_parent
    at gtktexthandle.c line 500
  • #4 gtk_text_handle_finalize
    at gtktexthandle.c line 510
  • #5 g_object_unref
    at gobject.c line 3110
  • #6 gtk_entry_finalize
    at gtkentry.c line 2920
  • #7 g_object_unref
    at gobject.c line 3110
  • #8 contacts_new_contact_dialog_finalize
    at contacts-new-contact-dialog.c line 1700
  • #9 g_object_unref
    at gobject.c line 3110
  • #10 ___lambda110__gasync_ready_callback
    at contacts-new-contact-dialog.c line 1625
  • #11 g_simple_async_result_complete
    at gsimpleasyncresult.c line 766
  • #12 contacts_contact_create_primary_persona_for_details_co
    at contacts-contact.c line 7253
  • #13 contacts_contact_create_primary_persona_for_details_ready
    at contacts-contact.c line 7213
  • #14 g_simple_async_result_complete
    at gsimpleasyncresult.c line 766
  • #15 edsf_persona_store_real_add_persona_from_details_co
    at /tmp/build/folks/backends/eds/lib/edsf-persona-store.vala line 609
  • #16 edsf_persona_store_add_persona_from_details_ready
    at /tmp/build/folks/backends/eds/lib/edsf-persona-store.vala line 467
  • #17 g_simple_async_result_complete
    at gsimpleasyncresult.c line 766
  • #18 complete_in_idle_cb_for_thread
    at gsimpleasyncresult.c line 834
  • #19 g_idle_dispatch
    at gmain.c line 5297
  • #20 g_main_dispatch
    at gmain.c line 3066
  • #21 g_main_context_dispatch
    at gmain.c line 3641
  • #22 g_main_context_iterate
    at gmain.c line 3712
  • #23 g_main_context_iteration
    at gmain.c line 3773
  • #24 g_application_run
    at gapplication.c line 2112
  • #25 _vala_main
    at main.c line 71
  • #26 main
    at main.c line 84

Comment 1 Matthias Clasen 2014-02-18 03:28:39 UTC
Created attachment 269502 [details] [review]
GtkTextHandle: Deal with parent_scrollable going away

Use a weak reference to notice when parent_scrollable is
going away.
Comment 2 Matthias Clasen 2014-02-18 03:29:28 UTC
possible fix - not committed yet, since I didn't have a reproducer for the crash.
Comment 3 Carlos Garnacho 2014-02-18 13:15:25 UTC
Comment on attachment 269502 [details] [review]
GtkTextHandle: Deal with parent_scrollable going away

Oh, good catch! this is quite dependent on the destruction order on dispose I think, I did indeed see things like this when implementing the memory management of popovers, as extra references to the focus widget are kept around.
Comment 4 Matthias Clasen 2014-02-19 05:32:38 UTC
Attachment 269502 [details] pushed as 479babf - GtkTextHandle: Deal with parent_scrollable going away