Problems with non-blocking i/o and virtio wayland pipes |
||||
Issue descriptionSommelier never gets a 0 byte read() when using non-blocking i/o. After reading the data, subsequent read() calls return EAGAIN and we never get signaled that the FD is ready to read. This is preventing copy and paste from working in Crostini. For GTK3, it appears to work as GTK will not wait for the transfer to complete before pasting the data. However, the transfer stays active, and the number of active transfers pile up as the user tries to paste data. For X11, it doesn't work at all as we need to finish the reading up to the X11 incr limit before we can start sending the data to the X11 client.
,
Apr 20 2018
,
Apr 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/df7736b9ed96e660cd92e5e5b369ec0e4c98ee29 commit df7736b9ed96e660cd92e5e5b369ec0e4c98ee29 Author: David Reveman <reveman@chromium.org> Date: Sat Apr 21 00:34:23 2018 vm_tools: avoid crash when previous selection transfer is pending. Protect against previous transfer not having completed. This shouldn't happen under normal circomstances but is possible for really large transfers to x11 clients, and current virtwl issues make it likely to happen. BUG= chromium:835112 TEST=attempting to paste text two times in x11 app doesn't cause a crash Change-Id: If7aeb1048c65f79c1988cf2c43a7bd05675c12d9 Reviewed-on: https://chromium-review.googlesource.com/1020860 Commit-Ready: David Reveman <reveman@chromium.org> Tested-by: David Reveman <reveman@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/df7736b9ed96e660cd92e5e5b369ec0e4c98ee29/vm_tools/sommelier/sommelier.c
,
Apr 23 2018
,
Apr 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/crosvm/+/71aedde5af253e435c351da42b40c1e9c16df8c0 commit 71aedde5af253e435c351da42b40c1e9c16df8c0 Author: Zach Reizner <zachr@google.com> Date: Fri Apr 27 19:22:37 2018 wl: send HUP event when VFDs are hungup It is essential that paste operations on the guest receive a hangup letting them know that there is no more data to read. This change fixes that behavior, which was broken by thew new PollContext based logic, which separates out the readable and hungup code paths. TEST=finished wayland pastes receive EOF BUG= chromium:835112 Change-Id: I764124ab2eabb32d8cc25a3a4c0dfbe49b26e799 Reviewed-on: https://chromium-review.googlesource.com/1031292 Commit-Ready: Zach Reizner <zachr@chromium.org> Tested-by: David Reveman <reveman@chromium.org> Reviewed-by: David Reveman <reveman@chromium.org> Reviewed-by: Stephen Barber <smbarber@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> [modify] https://crrev.com/71aedde5af253e435c351da42b40c1e9c16df8c0/devices/src/virtio/wl.rs
,
Apr 30 2018
I believe this is fixed. Please re-open if hangup related bugs persist after this patch. |
||||
►
Sign in to add a comment |
||||
Comment 1 by reve...@chromium.org
, Apr 20 2018