Random crashes during file operations

Bug #971488 reported by nwt
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Marlin
New
Undecided
Unassigned

Bug Description

During all sorts of file operations (cut&paste, copy, delete) marlin will randomly crash with SIGSEGV. Been so for months now. I even saw crashes when the operation came from an outside program and marlin only had the affected folder open.

It has resulted in eg incompletely deleted or copied folders, but no data loss so far.

Using marlin-bzr, varka-bzr, vala 0.16.0, glib2 2.32.0, gtk3 3.4.0 on Arch Linux x64.

Backtrace for a crash caused by delete (#4 & #5 merely repeated until #104729):

Program received signal SIGSEGV, Segmentation fault.
513 ptr = lookup_file (model, file, directory);

#0 fm_list_model_get_tree_iter_from_file (model=model@entry=0xc77b60, file=0xeccd40, directory=0xb811b0, iter=iter@entry=0x7fffff7ff020)
    at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/libcore/fm-list-model.c:513
#1 0x00007ffff76ae3bc in fm_list_model_remove_file (model=model@entry=0xc77b60, file=<optimized out>, directory=<optimized out>)
    at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/libcore/fm-list-model.c:961
#2 0x00007ffff76ae49f in fm_list_model_remove (model=model@entry=0xc77b60, iter=iter@entry=0x7fffff7ff0c0) at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/libcore/fm-list-model.c:888
#3 0x00007ffff76ae3cb in fm_list_model_remove_file (model=model@entry=0xc77b60, file=<optimized out>, directory=<optimized out>)
    at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/libcore/fm-list-model.c:962
#4 0x00007ffff76ae49f in fm_list_model_remove (model=model@entry=0xc77b60, iter=iter@entry=0x7fffff7ff160) at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/libcore/fm-list-model.c:888
#5 0x00007ffff76ae3cb in fm_list_model_remove_file (model=model@entry=0xc77b60, file=<optimized out>, directory=<optimized out>)
    at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/libcore/fm-list-model.c:962
[…]
#104728 0x00007ffff76ae49f in fm_list_model_remove (model=model@entry=0xc77b60, iter=iter@entry=0x7fffffffc7a0) at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/libcore/fm-list-model.c:888
#104729 0x00007ffff76ae3cb in fm_list_model_remove_file (model=0xc77b60, file=<optimized out>, directory=<optimized out>) at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/libcore/fm-list-model.c:962
#104730 0x00007ffff4634373 in g_cclosure_marshal_VOID__OBJECTv (closure=0xb9a660, return_value=<optimized out>, instance=0xb811b0, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>,
    param_types=0xa7e770) at gmarshal.c:1312
#104731 0x00007ffff463179a in _g_closure_invoke_va (closure=closure@entry=0xb9a660, return_value=return_value@entry=0x0, instance=instance@entry=0xb811b0, args=args@entry=0x7fffffffca40, n_params=1,
    param_types=0xa7e770) at gclosure.c:840
#104732 0x00007ffff46482c9 in g_signal_emit_valist (instance=instance@entry=0xb811b0, signal_id=signal_id@entry=348, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffca40) at gsignal.c:3207
#104733 0x00007ffff46493f0 in g_signal_emit_by_name (instance=0xb811b0, detailed_signal=0x7ffff76bf724 "file-deleted") at gsignal.c:3389
#104734 0x00007ffff76b6ec6 in gof_directory_async_notify_file_removed (gof=<optimized out>, self=<optimized out>)
    at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/build/libcore/gof-directory-async.c:1480
#104735 gof_directory_async_notify_files_removed (files=0xc77b60, files@entry=0x7fffc80c4860) at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/build/libcore/gof-directory-async.c:1684
#104736 0x00007ffff76ab093 in marlin_file_changes_consume_changes (consume_all=consume_all@entry=1) at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/libcore/marlin-file-changes-queue.c:323
#104737 0x00007ffff76a4ba0 in delete_job_done (user_data=0xeb5740) at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/libcore/marlin-file-operations.c:1954
#104738 0x00007ffff48c289c in mainloop_proxy_func (data=0x7fffc80cdd10) at gioscheduler.c:286
#104739 0x00007ffff4378c73 in g_idle_dispatch (source=source@entry=0x7fffc809a2d0, callback=<optimized out>, user_data=<optimized out>) at gmain.c:4634
#104740 0x00007ffff437b249 in g_main_dispatch (context=0x6de920) at gmain.c:2515
#104741 g_main_context_dispatch (context=context@entry=0x6de920) at gmain.c:3052
#104742 0x00007ffff437b543 in g_main_context_iterate (context=context@entry=0x6de920, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3123
#104743 0x00007ffff437b5fe in g_main_context_iteration (context=0x6de920, context@entry=0x0, may_block=may_block@entry=1) at gmain.c:3184
#104744 0x00007ffff48f9e9f in g_application_run (application=0x6da040, argc=argc@entry=1, argv=argv@entry=0x7fffffffcec8) at gapplication.c:1496
#104745 0x0000000000427525 in main (argc=1, argv=0x7fffffffcec8) at /var/abs/local/yaourtbuild/marlin-bzr/src/marlin-build/src/marlin-main.c:35

Revision history for this message
nwt (nwt) wrote :

Noticed this in the log after a crash when I tried to add /mnt to the sidebar; maybe it helps:

FATAL: [Gtk] gtk_tree_view_columns_autoresize: assertion `GTK_IS_TREE_VIEW(tree_view)' failed

Revision history for this message
nwt (nwt) wrote :

Right now I get most crashes in Marlin's "second" view (the one that allows tree-like browsing; its icon is three lines). It appears to occur frequently when the first entry in the CWD is a folder that gets deleted, esp. if it's the only entry of the CWD and/or had its own contents deleted before.

Output on the terminal will frequently contain:

string_contains: assertion `self != NULL' failed [this will always be printed four times at the start]

[Gtk] Inserting action group 'DirViewActions' into UI manager which already has a group with this name

[Gtk] gtk_tree_selection_path_is_selected: assertion `GTK_IS_TREE_SELECTION (selection)' failed

[Gtk] gtk_widget_queue_draw: assertion `GTK_IS_WIDGET (widget)' failed

marlin_icon_renderer_render: assertion `priv->file && priv->pixbuf && GDK_IS_PIXBUF (priv->pixbuf)' failed

[GLib-GObject] gsignal.c:2538: handler `2852' of instance `0xbf8cf0' is not blocked

[GLib-GObject] invalid uninstantiatable type `(null)' in cast to `GtkWidget'

gof-directory-async.vala:300: query info failed, Error when getting information for file '/home/me/a/untitled folder': No such file [note: this doesn't match my locale, anyway]

file already in tree (parent_ptr: (nil))!!! [esp. if one deletes a file/folder and immediately recreates one with the same name]

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.