Thunar process hangs on poll() when trying to unmount USB storage
Submitted by Sam Varshavchik
Assigned to Xfce Bug Triage
Description
Thunar 1.6.11, Fedora 26.
A request to unmount a mounted USB storage volume results in the following strace of the thunar process:
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK) = 17 futex(0x7fd7fe8f6218, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) futex(0x7fd7fe8f6218, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x560aed102fb0, FUTEX_WAKE_PRIVATE, 1) = 0 write(9, "\1\0\0\0\0\0\0\0", 8) = 8 futex(0x560aed100380, FUTEX_WAKE_PRIVATE, 1) = 1 futex(0x560aed1000a0, FUTEX_WAKE_PRIVATE, 1) = 1 futex(0x560aed0f80a8, FUTEX_WAKE_PRIVATE, 1) = 1 poll([{fd=17, events=POLLIN}], 1, 25000 <unfinished ...>) = ?
Thunar creates a new event file descriptor, and get stuck poll()ing it.
Someone else, with a lot more patience than me, captured a fuller strace that shows multiple instances of this pattern repeated (multiple poll() timeouts, with each one taking 25 seconds). More info here:
https://bugzilla.redhat.com/show_bug.cgi?id=1469789
Specifically here:
https://bugzilla.redhat.com/attachment.cgi?id=1302303
Eventually Thunar does succeed in unmounting the volume, but this apparently take many, many minutes, for all of these poll()s to time out. Until it's over, Thunar is completely dead in the water, and does not respond to any X events.
Version: 1.6.11