GNOME Bugzilla – Bug 759776
nautilus crashes when changing from folder view to list view before the folder contents had time to load
Last modified: 2016-01-15 17:03:26 UTC
nautilus crashes when changing from folder view to list view before the folder contents had time to load. to reproduce, open a large folder such as /usr/lib. you need a slow disk. hdds will do. ssds are probably unable to reproduce this. before the folder contents load, change view to 'list view'. nautilus crashes. valgring says: (nautilus:30477): GLib-GIO-CRITICAL **: g_action_group_has_action: assertion 'G_IS_ACTION_GROUP (action_group)' failed (nautilus:30477): GLib-GIO-CRITICAL **: g_action_group_get_action_enabled: assertion 'G_IS_ACTION_GROUP (action_group)' failed (nautilus:30477): GLib-GIO-CRITICAL **: g_action_group_get_action_state: assertion 'G_IS_ACTION_GROUP (action_group)' failed (nautilus:30477): GLib-CRITICAL **: g_variant_get_type: assertion 'value != NULL' failed (nautilus:30477): GLib-CRITICAL **: g_variant_type_is_subtype_of: assertion 'g_variant_type_check (type)' failed (nautilus:30477): GLib-CRITICAL **: g_variant_get_int32: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)' failed (nautilus:30477): GLib-CRITICAL **: g_variant_unref: assertion 'value != NULL' failed ==30477== Invalid read of size 8 ==30477== at 0x7450321: g_action_map_lookup_action (in /usr/lib/libgio-2.0.so.0.4600.2) ==30477== by 0x444DAE: real_update_actions_state (nautilus-files-view.c:6169) ==30477== by 0x435156: nautilus_canvas_view_update_actions_state (nautilus-canvas-view.c:1078) ==30477== by 0x446A08: nautilus_files_view_update_toolbar_menus (nautilus-files-view.c:6728) ==30477== by 0x446AC2: done_loading.part.48 (nautilus-files-view.c:3139) ==30477== by 0x447459: done_loading (nautilus-files-view.c:7118) ==30477== by 0x447459: nautilus_files_view_stop_loading (nautilus-files-view.c:7212) ==30477== by 0x447981: nautilus_files_view_destroy (nautilus-files-view.c:2816) ==30477== by 0x7733014: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.4600.2) ==30477== by 0x774557D: ??? (in /usr/lib/libgobject-2.0.so.0.4600.2) ==30477== by 0x774DDFB: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.4600.2) ==30477== by 0x774E12E: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.4600.2) ==30477== by 0x59FCC99: ??? (in /usr/lib/libgtk-3.so.0.1800.6) ==30477== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==30477== ==30477== ==30477== Process terminating with default action of signal 11 (SIGSEGV) ==30477== Access not within mapped region at address 0x0 ==30477== at 0x7450321: g_action_map_lookup_action (in /usr/lib/libgio-2.0.so.0.4600.2) ==30477== by 0x444DAE: real_update_actions_state (nautilus-files-view.c:6169) ==30477== by 0x435156: nautilus_canvas_view_update_actions_state (nautilus-canvas-view.c:1078) ==30477== by 0x446A08: nautilus_files_view_update_toolbar_menus (nautilus-files-view.c:6728) ==30477== by 0x446AC2: done_loading.part.48 (nautilus-files-view.c:3139) ==30477== by 0x447459: done_loading (nautilus-files-view.c:7118) ==30477== by 0x447459: nautilus_files_view_stop_loading (nautilus-files-view.c:7212) ==30477== by 0x447981: nautilus_files_view_destroy (nautilus-files-view.c:2816) ==30477== by 0x7733014: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.4600.2) ==30477== by 0x774557D: ??? (in /usr/lib/libgobject-2.0.so.0.4600.2) ==30477== by 0x774DDFB: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.4600.2) ==30477== by 0x774E12E: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.4600.2) ==30477== by 0x59FCC99: ??? (in /usr/lib/libgtk-3.so.0.1800.6) ==30477== If you believe this happened as a result of a stack ==30477== overflow in your program's main thread (unlikely but ==30477== possible), you can try to increase the size of the ==30477== main thread stack using the --main-stacksize= flag. ==30477== The main thread stack size used in this run was 8388608. ==30477== I'll reinstall gtk/glib with debug symbols later today but I thought I should report what I have so far. I think this is the only nautilus crash I am seeing in 3.18.4
full backtrace with gdb Program received signal SIGSEGV, Segmentation fault. 0x00007ffff5598321 in g_action_map_lookup_action (action_map=0x0, action_name=0x4e7d80 "new-folder-with-selection") at gactionmap.c:87 87 return G_ACTION_MAP_GET_IFACE (action_map) (gdb) bt full
+ Trace 235839
Perhaps make "view change" operations delay themselves if the current folder is still being loaded? That will probably avoid the crash.
*** This bug has been marked as a duplicate of bug 759717 ***