GNOME Bugzilla – Bug 680157
invalid read valgrind errors
Last modified: 2012-07-21 05:31:14 UTC
Running 3.5.4 under valgrind I get those error "==9117== Invalid read of size 4 ==9117== at 0x4C226EE: g_object_get (gobject.c:2106) ==9117== by 0x80C041C: set_status_timeout_cb (nautilus-window-slot.c:583) ==9117== by 0x4CA57EE: g_timeout_dispatch (gmain.c:3882) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103) ==9117== Address 0x6bbfdf0 is 0 bytes inside a block of size 396 free'd ==9117== at 0x402B06C: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==9117== by 0x4CAABEA: standard_free (gmem.c:98) ==9117== by 0x4CAAD5F: g_free (gmem.c:252) ==9117== by 0x4CC04FA: g_slice_free1 (gslice.c:1111) ==9117== by 0x4C3E131: g_type_free_instance (gtype.c:1935) ==9117== by 0x4C1F5CA: g_object_unref (gobject.c:3036) ==9117== by 0x423FB1C: gtk_main_do_event (gtkmain.c:1614) ==9117== by 0x45C6FDB: _gdk_event_emit (gdkevents.c:69) ==9117== by 0x45F4CE7: gdk_event_source_dispatch (gdkeventsource.c:358) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103) ==9117== ==9117== Invalid read of size 4 ==9117== at 0x4C3F06A: g_type_check_instance_is_a (gtype.c:3959) ==9117== by 0x4C22708: g_object_get (gobject.c:2106) ==9117== by 0x80C041C: set_status_timeout_cb (nautilus-window-slot.c:583) ==9117== by 0x4CA57EE: g_timeout_dispatch (gmain.c:3882) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103) ==9117== Address 0x6bbfdf0 is 0 bytes inside a block of size 396 free'd ==9117== at 0x402B06C: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==9117== by 0x4CAABEA: standard_free (gmem.c:98) ==9117== by 0x4CAAD5F: g_free (gmem.c:252) ==9117== by 0x4CC04FA: g_slice_free1 (gslice.c:1111) ==9117== by 0x4C3E131: g_type_free_instance (gtype.c:1935) ==9117== by 0x4C1F5CA: g_object_unref (gobject.c:3036) ==9117== by 0x423FB1C: gtk_main_do_event (gtkmain.c:1614) ==9117== by 0x45C6FDB: _gdk_event_emit (gdkevents.c:69) ==9117== by 0x45F4CE7: gdk_event_source_dispatch (gdkeventsource.c:358) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103)" and those "==9117== Invalid read of size 4 ==9117== at 0x4122B07: gtk_action_group_get_action (gtkactiongroup.c:802) ==9117== by 0x80B4DBB: real_update_menus (nautilus-view.c:8640) ==9117== by 0x8077D4C: nautilus_icon_view_update_menus (nautilus-icon-view.c:1379) ==9117== by 0x80B3B68: nautilus_view_update_menus (nautilus-view.c:728) ==9117== by 0x80B3BC4: update_menus_timeout_callback (nautilus-view.c:3664) ==9117== by 0x4CA57EE: g_timeout_dispatch (gmain.c:3882) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103) ==9117== Address 0x12847718 is 0 bytes inside a block of size 44 free'd ==9117== at 0x402B06C: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==9117== by 0x4CAABEA: standard_free (gmem.c:98) ==9117== by 0x4CAAD5F: g_free (gmem.c:252) ==9117== by 0x4CC04FA: g_slice_free1 (gslice.c:1111) ==9117== by 0x4C3E131: g_type_free_instance (gtype.c:1935) ==9117== by 0x4C1F5CA: g_object_unref (gobject.c:3036) ==9117== by 0x4CA1B95: g_list_foreach (glist.c:942) ==9117== by 0x4CA1BE1: g_list_free_full (glist.c:183) ==9117== by 0x4398FC5: gtk_ui_manager_finalize (gtkuimanager.c:686) ==9117== by 0x4C1F557: g_object_unref (gobject.c:3023) ==9117== by 0x80C32A3: nautilus_window_finalize (nautilus-window.c:1221) ==9117== by 0x4C1F557: g_object_unref (gobject.c:3023) ==9117== by 0x423FB1C: gtk_main_do_event (gtkmain.c:1614) ==9117== by 0x45C6FDB: _gdk_event_emit (gdkevents.c:69) ==9117== by 0x45F4CE7: gdk_event_source_dispatch (gdkeventsource.c:358) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103) ==9117== ==9117== Invalid read of size 4 ==9117== at 0x4C3F06A: g_type_check_instance_is_a (gtype.c:3959) ==9117== by 0x4122B1D: gtk_action_group_get_action (gtkactiongroup.c:802) ==9117== by 0x80B4DBB: real_update_menus (nautilus-view.c:8640) ==9117== by 0x8077D4C: nautilus_icon_view_update_menus (nautilus-icon-view.c:1379) ==9117== by 0x80B3B68: nautilus_view_update_menus (nautilus-view.c:728) ==9117== by 0x80B3BC4: update_menus_timeout_callback (nautilus-view.c:3664) ==9117== by 0x4CA57EE: g_timeout_dispatch (gmain.c:3882) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103) ==9117== Address 0x12847718 is 0 bytes inside a block of size 44 free'd ==9117== at 0x402B06C: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==9117== by 0x4CAABEA: standard_free (gmem.c:98) ==9117== by 0x4CAAD5F: g_free (gmem.c:252) ==9117== by 0x4CC04FA: g_slice_free1 (gslice.c:1111) ==9117== by 0x4C3E131: g_type_free_instance (gtype.c:1935) ==9117== by 0x4C1F5CA: g_object_unref (gobject.c:3036) ==9117== by 0x4CA1B95: g_list_foreach (glist.c:942) ==9117== by 0x4CA1BE1: g_list_free_full (glist.c:183) ==9117== by 0x4398FC5: gtk_ui_manager_finalize (gtkuimanager.c:686) ==9117== by 0x4C1F557: g_object_unref (gobject.c:3023) ==9117== by 0x80C32A3: nautilus_window_finalize (nautilus-window.c:1221) ==9117== by 0x4C1F557: g_object_unref (gobject.c:3023) ==9117== by 0x423FB1C: gtk_main_do_event (gtkmain.c:1614) ==9117== by 0x45C6FDB: _gdk_event_emit (gdkevents.c:69) ==9117== by 0x45F4CE7: gdk_event_source_dispatch (gdkeventsource.c:358) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103) ==9117== ==9117== Invalid read of size 4 ==9117== at 0x4122B07: gtk_action_group_get_action (gtkactiongroup.c:802) ==9117== by 0x80B4E0A: real_update_menus (nautilus-view.c:8653) ==9117== by 0x8077D4C: nautilus_icon_view_update_menus (nautilus-icon-view.c:1379) ==9117== by 0x80B3B68: nautilus_view_update_menus (nautilus-view.c:728) ==9117== by 0x80B3BC4: update_menus_timeout_callback (nautilus-view.c:3664) ==9117== by 0x4CA57EE: g_timeout_dispatch (gmain.c:3882) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103) ==9117== Address 0x12847718 is 0 bytes inside a block of size 44 free'd ==9117== at 0x402B06C: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==9117== by 0x4CAABEA: standard_free (gmem.c:98) ==9117== by 0x4CAAD5F: g_free (gmem.c:252) ==9117== by 0x4CC04FA: g_slice_free1 (gslice.c:1111) ==9117== by 0x4C3E131: g_type_free_instance (gtype.c:1935) ==9117== by 0x4C1F5CA: g_object_unref (gobject.c:3036) ==9117== by 0x4CA1B95: g_list_foreach (glist.c:942) ==9117== by 0x4CA1BE1: g_list_free_full (glist.c:183) ==9117== by 0x4398FC5: gtk_ui_manager_finalize (gtkuimanager.c:686) ==9117== by 0x4C1F557: g_object_unref (gobject.c:3023) ==9117== by 0x80C32A3: nautilus_window_finalize (nautilus-window.c:1221) ==9117== by 0x4C1F557: g_object_unref (gobject.c:3023) ==9117== by 0x423FB1C: gtk_main_do_event (gtkmain.c:1614) ==9117== by 0x45C6FDB: _gdk_event_emit (gdkevents.c:69) ==9117== by 0x45F4CE7: gdk_event_source_dispatch (gdkeventsource.c:358) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103) ==9117== ==9117== Invalid read of size 4 ==9117== at 0x4C3F06A: g_type_check_instance_is_a (gtype.c:3959) ==9117== by 0x4122B1D: gtk_action_group_get_action (gtkactiongroup.c:802) ==9117== by 0x80B4E0A: real_update_menus (nautilus-view.c:8653) ==9117== by 0x8077D4C: nautilus_icon_view_update_menus (nautilus-icon-view.c:1379) ==9117== by 0x80B3B68: nautilus_view_update_menus (nautilus-view.c:728) ==9117== by 0x80B3BC4: update_menus_timeout_callback (nautilus-view.c:3664) ==9117== by 0x4CA57EE: g_timeout_dispatch (gmain.c:3882) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103) ==9117== Address 0x12847718 is 0 bytes inside a block of size 44 free'd ==9117== at 0x402B06C: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==9117== by 0x4CAABEA: standard_free (gmem.c:98) ==9117== by 0x4CAAD5F: g_free (gmem.c:252) ==9117== by 0x4CC04FA: g_slice_free1 (gslice.c:1111) ==9117== by 0x4C3E131: g_type_free_instance (gtype.c:1935) ==9117== by 0x4C1F5CA: g_object_unref (gobject.c:3036) ==9117== by 0x4CA1B95: g_list_foreach (glist.c:942) ==9117== by 0x4CA1BE1: g_list_free_full (glist.c:183) ==9117== by 0x4398FC5: gtk_ui_manager_finalize (gtkuimanager.c:686) ==9117== by 0x4C1F557: g_object_unref (gobject.c:3023) ==9117== by 0x80C32A3: nautilus_window_finalize (nautilus-window.c:1221) ==9117== by 0x4C1F557: g_object_unref (gobject.c:3023) ==9117== by 0x423FB1C: gtk_main_do_event (gtkmain.c:1614) ==9117== by 0x45C6FDB: _gdk_event_emit (gdkevents.c:69) ==9117== by 0x45F4CE7: gdk_event_source_dispatch (gdkeventsource.c:358) ==9117== by 0x4CA4B12: g_main_context_dispatch (gmain.c:2539) ==9117== by 0x4CA4EAF: g_main_context_iterate.isra.21 (gmain.c:3146) ==9117== by 0x4CA4F90: g_main_context_iteration (gmain.c:3207) ==9117== by 0x4B45D4B: g_application_run (gapplication.c:1607) ==9117== by 0x8067717: main (nautilus-main.c:103)"
Easy way to trigger the errors and segfault (could be the same than bug #670646) - gsettings set org.gnome.desktop.background draw-background true - run nautilus - click on the new menu button - select "new win" - close the new dialog - click on the menu button again - select "new tab" - close the tab it usually segfaults either when opening or closing the tab
seems to be due to http://git.gnome.org/browse/gtk+/commit/?id=325cf071d1b6de55eac2a97d8f38558efda17807 ... reassigning to GTK
This really looks more like a nautilus issue. dir_action_group is stored in the view details, without taking a reference, and then used in signal callbacks. The only involvement of the gtk change is most likely that it changed the times when those signal callbacks happen.
Also, I can't reproduce this here with nautilus 3.5.4
@ I can't reproduce this here with nautilus 3.5.4 did you make nautilus display the background? not sure what is different in our configs but when I tried I was running gtk and nautilus vanilla from upstream so I doubt it's a distro patch, applying the commit to gtk 3.4 also creates the issue
I don't doubt that you see a nautilus crash, and that you correctly identified this commit as triggering it. But the stacktrace does not have any notebook code in it.
*** This bug has been marked as a duplicate of bug 680349 ***