Public bug reported:

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:

** Affects: nautilus (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug eoan wayland-session

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1866250

Title:
  nautilus crashes under wayland when trying to unmount an external
  drive

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1866250/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to