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 645725 - Nautilus crashes randomly after moving files
Nautilus crashes randomly after moving files
Status: RESOLVED DUPLICATE of bug 602500
Product: nautilus
Classification: Core
Component: File and Folder Operations
2.32.x
Other Linux
: Normal critical
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-03-26 09:33 UTC by HyperBaton
Modified: 2011-04-02 08:17 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description HyperBaton 2011-03-26 09:33:56 UTC
Nautilus tends to crash quite frequently when moving files. It restarts itself just after the move operation is finished. The operation always succeeds, Nautilus just restarts afterwards. I have tried reinstalling Nautilus and deleting the .nautilus folder in my home folder. But this doesn't seem to do the trick... Does Nautilus store a log file somewhere so I can provide you with more helpful info?
Comment 1 Stefano Teso 2011-03-26 10:21:29 UTC
What distribution are you using?

Typically distributions ship with a crash reporting tool (such as abrt in fedora, debreaper in debian, apport in ubuntu, and bug-buddy for all GNOME distros); you just need to install the package providing this functionality.

The next time nautilus crashes, the crash reporting tool will pop up and print a backtrace; that's enough to get started.
Comment 2 HyperBaton 2011-03-26 12:35:45 UTC
I am using Arch Linux. I will give bug-buddy a try and report back with something useful asap hopefully. Thanks for the tips.
Comment 3 Stefano Teso 2011-03-26 15:54:25 UTC
You can use gdb directly as well, and post the stacktrace here. See http://live.gnome.org/GettingTraces
Comment 4 HyperBaton 2011-03-27 18:30:10 UTC
Sorry, no stacktrace yet. I've never done it before and from what I've learned, I need packages that contain the debugging symbols. Arch Linux repositories don't seem to have those, so I will have to recompile my Nautilus using the debug flag, I believe? Correct me if I'm wrong. Would I need to recompile dependencies as well using the debug flag?

I did find out something else. It seems I was using nautilus-elementary instead of standard nautilus. I installed the standard nautilus, and so far I have not been able to reproduce the crash. But I would like to help fix this, so I will reinstall nautilus-elementary when I have the time and try to get that stacktrace.
Comment 5 Stefano Teso 2011-03-28 06:26:36 UTC
(In reply to comment #4)
> Sorry, no stacktrace yet. I've never done it before and from what I've learned,
> I need packages that contain the debugging symbols. Arch Linux repositories
> don't seem to have those, so I will have to recompile my Nautilus using the
> debug flag, I believe? Correct me if I'm wrong. Would I need to recompile
> dependencies as well using the debug flag?

Yes, you need to recompile with -g, see [1]. And the libraries should be recompiled as well, I'd say that glib, gtk+, and gvfs should be enough to get started.

> I did find out something else. It seems I was using nautilus-elementary instead
> of standard nautilus. I installed the standard nautilus, and so far I have not
> been able to reproduce the crash. But I would like to help fix this, so I will
> reinstall nautilus-elementary when I have the time and try to get that
> stacktrace.

nautilus-elementary is not GNOME software (it's a fork, actually), and bugs should be filed on launchpad [2]. Sure nautilus and nautilus-elementary share most of the source code, however if this crash only occurs using the latter, please close this bug report. Thanks!

(As a side note, nautilus-elementary is being discontinued in favor of marlin, so the crash is not very likely to be fixed in a future release -- as there will be none, as far as I can see)

[1] https://wiki.archlinux.org/index.php/Debug_-_Getting_Traces
[2] https://launchpad.net/nautilus-elementary
Comment 6 HyperBaton 2011-03-28 08:25:26 UTC
Okay, thanks a bunch for your help, at least I learned quite a bit. I can use that knowledge when I have an actual useful bug report to file :) Sorry for wasting your time, I did not realize at first that I was using a different nautilus.
Comment 7 HyperBaton 2011-04-01 11:02:18 UTC
It seems I cheered too quickly, I am experiencing this crash again when moving files using the standard Nautilus. I have recompiled all the suggested packages to do a stack trace. But when I start gdb and attach to the nautilus PID, nautilus itself freezes completely, making it impossible to try and crash nautilus. When I detach in gdb, nautilus runs fine again. Am I doing something wrong using gdb?
Comment 8 Stefano Teso 2011-04-01 12:59:47 UTC
You can remove nautilus from the gnome-session (the gconf key is '/desktop/gnome/session/required_components_list', just temporarily remove the 'filemanager' entry from the list using gconf-editor) so that it won't get run automatically when logging in; log out; log in; and finally run nautilus manually using `gdb --args /usr/bin/nautilus --sm-client-disable`.

[ It would be neat if you could check whether 2.91.9x from git is affected by this bug. I have no idea if it's packaged for archlinux. Alternatives are using jhbuild, the image from gnome3.org, or a fedora 15 pre-release live CD, I guess. This is just optional though :-) ]
Comment 9 HyperBaton 2011-04-01 13:56:52 UTC
Here are the last lines in gdb when nautilus crashes after moving some files:

...
[New Thread 0x7fffd9ffb700 (LWP 25443)]
[New Thread 0x7fffda7fc700 (LWP 25444)]
[New Thread 0x7fffe0830700 (LWP 25445)]
[New Thread 0x7fffdbfff700 (LWP 25446)]
[Thread 0x7fffd9ffb700 (LWP 25443) exited]
[Thread 0x7fffda7fc700 (LWP 25444) exited]
[Thread 0x7fffdbfff700 (LWP 25446) exited]
[Thread 0x7fffe0830700 (LWP 25445) exited]
[New Thread 0x7fffe0830700 (LWP 25459)]
[Thread 0x7fffe0830700 (LWP 25459) exited]

** (nautilus:23905): CRITICAL **: nautilus_file_get_uri: assertion `NAUTILUS_IS_FILE (file)' failed

Program received signal SIGSEGV, Segmentation fault.
nautilus_file_peek_display_name (file=0x0) at nautilus-file.c:3785
3785		if (file->details->display_name == NULL) {


Is this of any help?
Comment 10 Stefano Teso 2011-04-01 15:46:54 UTC
It's a start, but it's not enough. When the crash occurs, type in gdb: 'thread apply all bt full' and paste the output here. Thanks :-)
Comment 11 HyperBaton 2011-04-01 16:13:12 UTC
Alright, I think I have it...

Thread 1 (Thread 0x7ffff7fbf8e0 (LWP 29059))

  • #0 nautilus_file_peek_display_name
    at nautilus-file.c line 3785
  • #1 nautilus_file_get_display_name
    at nautilus-file.c line 3808
  • #2 selection_changed_callback
    at nautilus-information-panel.c line 1129
  • #3 g_closure_invoke
    at gclosure.c line 766
  • #4 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #5 g_signal_emit_valist
    at gsignal.c line 2983
  • #6 g_signal_emit_by_name
    at gsignal.c line 3077
  • #7 fm_directory_view_send_selection_change
    at fm-directory-view.c line 2377
  • #8 process_old_files
    at fm-directory-view.c line 2922
  • #9 display_pending_files
    at fm-directory-view.c line 2936
  • #10 display_pending_callback
    at fm-directory-view.c line 3036
  • #11 g_timeout_dispatch
    at gmain.c line 3585
  • #12 g_main_dispatch
    at gmain.c line 2149
  • #13 g_main_context_dispatch
    at gmain.c line 2702
  • #14 g_main_context_iterate
    at gmain.c line 2780
  • #15 g_main_loop_run
    at gmain.c line 2988
  • #16 IA__gtk_main
    at gtkmain.c line 1237
  • #17 main
    at nautilus-main.c line 544
  • #0 nautilus_file_peek_display_name
    at nautilus-file.c line 3785
  • #1 nautilus_file_get_display_name
    at nautilus-file.c line 3808
  • #2 selection_changed_callback
    at nautilus-information-panel.c line 1129
  • #3 g_closure_invoke
    at gclosure.c line 766
  • #4 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #5 g_signal_emit_valist
    at gsignal.c line 2983
  • #6 g_signal_emit_by_name
    at gsignal.c line 3077
  • #7 fm_directory_view_send_selection_change
    at fm-directory-view.c line 2377
  • #8 process_old_files
    at fm-directory-view.c line 2922
  • #9 display_pending_files
    at fm-directory-view.c line 2936
  • #10 display_pending_callback
    at fm-directory-view.c line 3036
  • #11 g_timeout_dispatch
    at gmain.c line 3585
  • #12 g_main_dispatch
    at gmain.c line 2149
  • #13 g_main_context_dispatch
    at gmain.c line 2702
  • #14 g_main_context_iterate
    at gmain.c line 2780
  • #15 g_main_loop_run
    at gmain.c line 2988
  • #16 IA__gtk_main
    at gtkmain.c line 1237
  • #17 main
    at nautilus-main.c line 544
  • #0 nautilus_file_peek_display_name
    at nautilus-file.c line 3785
  • #1 nautilus_file_get_display_name
    at nautilus-file.c line 3808
  • #2 selection_changed_callback
    at nautilus-information-panel.c line 1129
  • #3 g_closure_invoke
    at gclosure.c line 766
  • #4 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #5 g_signal_emit_valist
    at gsignal.c line 2983
  • #6 g_signal_emit_by_name
    at gsignal.c line 3077
  • #7 fm_directory_view_send_selection_change
    at fm-directory-view.c line 2377
  • #8 process_old_files
    at fm-directory-view.c line 2922
  • #9 display_pending_files
    at fm-directory-view.c line 2936
  • #10 display_pending_callback
    at fm-directory-view.c line 3036
  • #11 g_timeout_dispatch
    at gmain.c line 3585
  • #12 g_main_dispatch
    at gmain.c line 2149
  • #13 g_main_context_dispatch
    at gmain.c line 2702
  • #14 g_main_context_iterate
    at gmain.c line 2780
  • #15 g_main_loop_run
    at gmain.c line 2988
  • #16 IA__gtk_main
    at gtkmain.c line 1237
  • #17 main
    at nautilus-main.c line 544

Comment 12 Stefano Teso 2011-04-02 08:17:24 UTC
Good news, looks like this has been fixed in master. :-)

Thanks for taking the time to report this bug.
This particular bug has already been reported into our bug tracking system, but we are happy to tell you that the problem has already been fixed. It should be solved in the next software version. You may want to check for a software upgrade.

*** This bug has been marked as a duplicate of bug 602500 ***