GNOME Bugzilla – Bug 668675
GtkTimeline: protect the timeline from unref
Last modified: 2012-01-26 09:47:42 UTC
==24215== Invalid read of size 1 ==24215== at 0x58F1507: gtk_timeline_run_frame (gtktimeline.c:340) ==24215== by 0x5D506EE: gdk_threads_dispatch (gdk.c:745) ==24215== by 0x7C5672A: g_timeout_dispatch (gmain.c:3857) ==24215== by 0x7C55AE9: g_main_context_dispatch (gmain.c:2513) ==24215== by 0x7C55EAF: g_main_context_iterate.isra.23 (gmain.c:3121) ==24215== by 0x7C55F73: g_main_context_iteration (gmain.c:3182) ==24215== by 0x7708773: g_application_run (gapplication.c:1496) ==24215== by 0x42A971: main (nautilus-main.c:101) ==24215== Address 0x266cb174 is 84 bytes inside a block of size 88 free'd ==24215== at 0x4C2882E: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==24215== by 0x79F104A: g_type_free_instance (gtype.c:1937) ==24215== by 0x79F5152: g_value_unset (gvalue.c:276) ==24215== by 0x79E98DA: g_signal_emit_valist (gsignal.c:3063) ==24215== by 0x79E9A61: g_signal_emit (gsignal.c:3090) ==24215== by 0x58F1506: gtk_timeline_run_frame (gtktimeline.c:337) ==24215== by 0x5D506EE: gdk_threads_dispatch (gdk.c:745) ==24215== by 0x7C5672A: g_timeout_dispatch (gmain.c:3857) ==24215== by 0x7C55AE9: g_main_context_dispatch (gmain.c:2513) ==24215== by 0x7C55EAF: g_main_context_iterate.isra.23 (gmain.c:3121) ==24215== by 0x7C55F73: g_main_context_iteration (gmain.c:3182) ==24215== by 0x7708773: g_application_run (gapplication.c:1496) ==24215== by 0x42A971: main (nautilus-main.c:101)
Created attachment 206104 [details] [review] GtkTimeline: protect the timeline from unref The timeline frame function emits several signals, assuming that the timeline will exist after these signals return. This assumption can be invalid if signal handlers unref the timeline.
Review of attachment 206104 [details] [review]: Makes sense
Review of attachment 206104 [details] [review]: Grr splinter
Attachment 206104 [details] pushed as e2750a4 - GtkTimeline: protect the timeline from unref
*** Bug 654020 has been marked as a duplicate of this bug. ***