qemu-s390x
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: getting the console output for s390 cdrom-test?


From: Thomas Huth
Subject: Re: getting the console output for s390 cdrom-test?
Date: Mon, 8 Feb 2021 12:34:09 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0

On 08/02/2021 11.27, Peter Maydell wrote:
On Thu, 4 Feb 2021 at 16:08, Thomas Huth <thuth@redhat.com> wrote:

On 22/01/2021 21.32, Peter Maydell wrote:
Hi; I've been looking at why the s390 cdrom test has an intermittent
failure on my aarch64 box. Looking at some TCG debug log output
I think what is happening is that sometimes execution diverges from
a successful run inside virtio_scsi_setup() and we end up failing
a vs_assert(), which triggers a "Guest crashed on cpu 0: disabled-wait"
which then makes the qtest hang until its timeout.

I think that vs_assert() ought to be printing some information
to the console about which assert fails when it happens, but
how do I need to tweak the qtest to get it to capture this
console log somewhere?

   Hi!

Sorry for the late reply ... did you get any further with this already?

No, I've been mostly working on other stuff. Thanks for the instructions
on how to capture stdio. This is what a success looks like:

LOADPARM=[        ]
Using virtio-scsi.
Warning: Could not locate a usable virtio-scsi device
Using virtio-blk.
Using guessed DASD geometry.
Using ECKD scheme (block size  4096), CDL
No zIPL section in IPL2 record.
zIPL load failed.
Using virtio-blk.
ISO boot image size verified

And this is a failure:

LOADPARM=[        ]
Using virtio-scsi.
target: 0x0000000000000094

! SCSI cannot report LUNs: response VS RESP=09 !

Looks like the SCSI controller returned VIRTIO_SCSI_S_FAILURE instead of the expected VIRTIO_SCSI_S_BAD_TARGET here (see virtio_scsi_locate_device() in pc-bios/s390-ccw/virtio-scsi.c).

The question is: How could that happen? If I get hw/scsi/virtio-scsi.c right, this is only set by virtio_scsi_fail_cmd_req(), i.e. it only happens if virtio_scsi_parse_req() returned -ENOTSUP ... which indicates that there was something wrong with the VirtIOSCSIReq request?

Could you maybe try to add some debug printfs to virtio_scsi_parse_req() in hw/scsi/virtio-scsi.c and/or to scsi_report_luns() / vs_run() in pc-bios/s390-ccw/virtio-scsi.c to see whether there is something obviously wrong in the request?

 Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]