New issue
Advanced search Search tips

Issue 835112 link

Starred by 8 users

Issue metadata

Status: Verified
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 830203



Sign in to add a comment

Problems with non-blocking i/o and virtio wayland pipes

Project Member Reported by reve...@chromium.org, Apr 20 2018

Issue description

Sommelier 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.
 
Status: Available (was: Assigned)
Components: OS>Systems>Containers
Project Member

Comment 3 by bugdroid1@chromium.org, 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

Blocking: 830203
Project Member

Comment 5 by bugdroid1@chromium.org, 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

Comment 6 by za...@chromium.org, Apr 30 2018

Status: Verified (was: Available)
I believe this is fixed. Please re-open if hangup related bugs persist after this patch.

Sign in to add a comment