New issue
Advanced search Search tips

Issue 892261 link

Starred by 4 users

Issue metadata

Status: Available
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug
Gfx



Sign in to add a comment

Handle crosvm submit command buffer errors

Project Member Reported by davidri...@chromium.org, Oct 4

Issue description

Running of simple test programs results in crosvm generating error logs:
2018-10-04T11:00:16.872050-07:00 ERR localhos[5421]: crosvm[20]: [devices/src/virtio/gpu/backend.rs:953] failed to submit command buffer: virglrenderer failed with error 22
2018-10-04T11:00:16.872116-07:00 DEBUG localhos[5421]: crosvm[20]: [devices/src/virtio/gpu/mod.rs:390] Some(CmdSubmit3d) -> ErrUnspec
2018-10-04T11:00:16.874139-07:00 ERR localhos[5421]: crosvm[20]: [devices/src/virtio/gpu/backend.rs:953] failed to submit command buffer: virglrenderer failed with error 22
2018-10-04T11:00:16.874963-07:00 DEBUG localhos[5421]: crosvm[20]: [devices/src/virtio/gpu/mod.rs:390] Some(CmdSubmit3d) -> ErrUnspec

 
Status: Available (was: Untriaged)
<triage>Marking as available</triage>
Owner: davidri...@chromium.org
The errors seem to be generated when attempting to do a vrend_hw_switch_context to ctx_id 2, which has been marked as having an error.  The context error appears to start with:
2018-10-16T10:46:59.470294-07:00 INFO VM(11)[29220]: vrend_renderer_transfer_iov: context error reported 2 "gpu_renderer" Illegal resource 4
2018-10-16T10:46:59.470301-07:00 INFO VM(11)[29220]: vrend_hw_switch_context from null to 0 (err 0)
2018-10-16T10:46:59.470309-07:00 INFO VM(11)[29220]: vrend_hw_switch_context from null to 0 (err 0)
2018-10-16T10:46:59.470317-07:00 INFO VM(11)[29220]: vrend_hw_switch_context from 0 (err 0) to 2 (err 1)
2018-10-16T10:46:59.470324-07:00 INFO VM(11)[29220]: vrend_hw_switch_context(gdctx->grctx, true) == false
2018-10-16T10:46:59.470332-07:00 INFO VM(11)[29220]: vrend_hw_switch_context from null to 0 (err 0)
 Issue 892244  has been merged into this issue.
BackedBuffer.attach_guest_backing, when Some(gpu_renderer_resource), isn't calling through to GpuRendererResource.attach_backing.  Once I hook that up, the subsequent vrend_renderer_transfer_iov succeeds, the context doesn't get moved into an error state, the submit command buffer failures go away, and xterm starts working.
The following change should address these issues:
https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1288960
Project Member

Comment 7 by bugdroid1@chromium.org, Oct 24

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/64cc43d2b89bd26fa397bda395a84a128c0df623

commit 64cc43d2b89bd26fa397bda395a84a128c0df623
Author: David Riley <davidriley@chromium.org>
Date: Wed Oct 24 05:50:43 2018

devices: gpu: Have BackBuffer use renderer resource when attaching backing.

If a BackBuffer has some gpu_renderer_resource, attach the backing
through to virgl to allow resources to be transfered in the future.

BUG=chromium:892261
TEST=eglgears_x11, xterm, xeyes

Change-Id: I9c4310da8eba73ec69dbaeba340b362c22fb21a0
Reviewed-on: https://chromium-review.googlesource.com/1288960
Commit-Ready: David Riley <davidriley@chromium.org>
Tested-by: David Riley <davidriley@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/64cc43d2b89bd26fa397bda395a84a128c0df623/devices/src/virtio/gpu/backend.rs

Labels: -Grfx Gfx

Sign in to add a comment