nautilus crashes under wayland when trying to unmount an external drive

Bug #1866250 reported by Pedro Côrte-Real
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
nautilus (Ubuntu)
Invalid
Low
Unassigned

Bug Description

I can 100% reliably crash nautilus when running under a sway session. The steps to reproduce it are simple:

1. Connect an external drive and mount it by browsing to it in nautilus
2. Open a terminal and cd into the drive mount
3. Press the unmount icon for the drive in nautilus

At this point nautilus 100% reliably crashes. It will not crash if the drive is not being used. Looking at the backtrace it seems it is somehow trying to do X calls when running under wayland. Here's the trace:

(gdb) bt
#0 0x0000000000000000 in ()
#1 0x00007ffff7eb3393 in g_hash_table_lookup_node (hash_return=<synthetic pointer>, key=0x60, hash_table=0x5555561e8000<error reading variable: Cannot access memory at address 0x100000004>) at ../../../glib/ghash.c:473
#2 0x00007ffff7eb3393 in g_hash_table_lookup (hash_table=0x5555561e8000<error reading variable: Cannot access memory at address 0x100000004>, key=key@entry=0x60) at ../../../glib/ghash.c:1509
#3 0x00007ffff76d35b8 in lookup_cached_xatom (atom=0x60, display=0x5555561b1040 [GdkWaylandDisplay]) at ../../../../../gdk/x11/gdkproperty-x11.c:76
#4 0x00007ffff76d35b8 in lookup_cached_xatom (atom=0x60, display=0x5555561b1040 [GdkWaylandDisplay]) at ../../../../../gdk/x11/gdkproperty-x11.c:67
#5 0x00007ffff76d35b8 in gdk_x11_atom_to_xatom_for_display (atom=0x60, display=0x5555561b1040 [GdkWaylandDisplay]) at ../../../../../gdk/x11/gdkproperty-x11.c:109
#6 0x00007ffff76d35b8 in gdk_x11_atom_to_xatom_for_display (display=0x5555561b1040 [GdkWaylandDisplay], atom=0x60) at ../../../../../gdk/x11/gdkproperty-x11.c:96
#7 0x00007ffff7b3fc8d in _gtk_mount_operation_lookup_context_get (display=0x5555561b1040 [GdkWaylandDisplay]) at ../../../../gtk/gtkmountoperation-x11.c:534
#8 0x00007ffff79cf800 in update_process_list_store (processes=0x5555569ce670, list_store=<optimized out>, mount_operation=<optimized out>) at ../../../../gtk/gtkmountoperation.c:1286
#9 0x00007ffff79cf800 in gtk_mount_operation_show_processes_do_gtk (choices=0x0, processes=0x5555569ce670, message=0x555556930a90 "", op=<optimized out>) at ../../../../gtk/gtkmountoperation.c:1679
#10 0x00007ffff79cf800 in gtk_mount_operation_show_processes
    (op=<optimized out>, message=message@entry=0x5555567dfac0 "Volume is busy\nOne or more applications are keeping the volume busy.", processes=processes@entry=0x5555569ce670, choices=choices@entry=0x555556578420)
    at ../../../../gtk/gtkmountoperation.c:1704
#11 0x00007ffff7329b5b in _g_cclosure_marshal_VOID__STRING_BOXED_BOXEDv
    (closure=0x5555569572e0, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x5555569e27f0) at ../../../gio/gmarshal-internal.c:2059
#12 0x00007ffff725c936 in _g_closure_invoke_va (closure=0x5555569572e0, return_value=0x0, instance=0x5555569d32d0, args=0x7fffffffd1f8, n_params=3, param_types=0x5555569e27f0) at ../../../gobject/gclosure.c:873
#13 0x00007ffff727936c in g_signal_emit_valist (instance=instance@entry=0x5555569d32d0, signal_id=signal_id@entry=566, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd1f8) at ../../../gobject/gsignal.c:3306
#14 0x00007ffff7279fa9 in g_signal_emit_by_name (instance=0x5555569d32d0, detailed_signal=0x7fffdae3a1d2 "show-processes") at ../../../gobject/gsignal.c:3493
#15 0x00007fffdae33fa8 in () at /usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so
#16 0x00007fffdae385a8 in () at /usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so
#17 0x00007ffff616c81e in ffi_call_unix64 () at ../src/x86/unix64.S:76
#18 0x00007ffff616c1ef in ffi_call (cif=cif@entry=0x7fffffffd660, fn=fn@entry=0x7fffdae38530, rvalue=<optimized out>, avalue=avalue@entry=0x7fffffffd570) at ../src/x86/ffi64.c:525
Python Exception <class 'gdb.error'> There is no member named v_pointer.:
#22 0x00007ffff72783ea in #23 0x00007fffdae2d7e5 in () at /usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so
#27 0x00007ffff72799b3 in <emit signal ??? on instance 0x5555562b6f70 [GVfsRemoteVolumeMonitorProxy]> (instance=instance@entry=0x5555562b6f70, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3453
    #24 0x00007ffff725c6e2 in g_closure_invoke (closure=0x5555557441a0, return_value=0x0, n_param_values=4, param_values=0x7fffffffdbe0, invocation_hint=0x7fffffffdb60) at ../../../gobject/gclosure.c:810
    #25 0x00007ffff726fcc6 in signal_emit_unlocked_R
    (node=node@entry=0x5555557441d0, detail=detail@entry=0, instance=instance@entry=0x5555562b6f70, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffdbe0)
    at ../../../gobject/gsignal.c:3679
    #26 0x00007ffff7279327 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffdde0) at ../../../gobject/gsignal.c:3397
#28 0x00007ffff73bc638 in on_signal_received
    (connection=<optimized out>, sender_name=0x7fffe4014460 ":1.39", object_path=<optimized out>, interface_name=<optimized out>, signal_name=0x7fffe401b220 "MountOpShowProcesses", parameters=0x5555569d7670, user_data=0x555555a52610) at ../../../gio/gdbusproxy.c:924
#29 0x00007ffff73ab118 in emit_signal_instance_in_idle_cb (data=0x7fffe401fe60) at ../../../gio/gdbusconnection.c:3747
#30 0x00007ffff7ec571e in g_main_dispatch (context=0x555555745480) at ../../../glib/gmain.c:3179
#31 0x00007ffff7ec571e in g_main_context_dispatch (context=context@entry=0x555555745480) at ../../../glib/gmain.c:3844
#32 0x00007ffff7ec5ad0 in g_main_context_iterate (context=context@entry=0x555555745480, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3917
#33 0x00007ffff7ec5b73 in g_main_context_iteration (context=context@entry=0x555555745480, may_block=may_block@entry=1) at ../../../glib/gmain.c:3978
#34 0x00007ffff7384b05 in g_application_run (application=0x555555731210 [NautilusApplication], argc=<optimized out>, argv=<optimized out>) at ../../../gio/gapplication.c:2559
#35 0x00005555555a3d0b in main (argc=1, argv=0x7fffffffe1a8) at ../src/nautilus-main.c:81

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: nautilus 1:3.34.1-1ubuntu1
ProcVersionSignature: Ubuntu 5.3.0-40.32-generic 5.3.18
Uname: Linux 5.3.0-40-generic x86_64
ApportVersion: 2.20.11-0ubuntu8.5
Architecture: amd64
CurrentDesktop: Unity
Date: Thu Mar 5 21:06:41 2020
GsettingsChanges:
 b'org.gnome.nautilus.window-state' b'sidebar-width' b'228'
 b'org.gnome.nautilus.window-state' b'initial-size' b'(1103, 655)'
 b'org.gnome.nautilus.window-state' b'maximized' b'true'
 b'org.gnome.nautilus.preferences' b'default-folder-viewer' b"'list-view'"
InstallationDate: Installed on 2019-05-09 (301 days ago)
InstallationMedia: Ubuntu 19.04 "Disco Dingo" - Release amd64 (20190416)
SourcePackage: nautilus
UpgradeStatus: Upgraded to eoan on 2019-12-21 (75 days ago)
usr_lib_nautilus:

Revision history for this message
Pedro Côrte-Real (pedrocr) wrote :
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. It sounds like some part of the system has crashed. To help us find the cause of the crash please follow these steps:

1. Look in /var/crash for crash files and if found run:
    ubuntu-bug YOURFILE.crash
Then tell us the ID of the newly-created bug.

2. If step 1 failed then look at https://errors.ubuntu.com/user/ID where ID is the content of file /var/lib/whoopsie/whoopsie-id on the machine. Do you find any links to recent problems on that page? If so then please send the links to us.

3. If step 2 also failed then apply the workaround from bug 994921, reboot, reproduce the crash, and retry step 1.

Please take care to avoid attaching .crash files to bugs as we are unable to process them as file attachments. It would also be a security risk for yourself.

Changed in nautilus (Ubuntu):
importance: Undecided → Low
status: New → Invalid
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.