Bug 1655408

Summary: VM can not boot up due to "Failed to lock byte 100" if cdrom has been mounted on the host
Product: Red Hat Enterprise Linux Advanced Virtualization Reporter: lijin <lijin>
Component: qemu-kvmAssignee: Hanna Reitz <hreitz>
qemu-kvm sub component: General QA Contact: Xueqiang Wei <xuwei>
Status: CLOSED CURRENTRELEASE Docs Contact:
Severity: low    
Priority: medium CC: chayang, coli, jen, juzhang, knoel, lijin, michen, rbalakri, ribarry, virt-maint
Version: ---   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-04-15 17:29:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description lijin 2018-12-03 05:30:41 UTC
Description of problem:


Version-Release number of selected component (if applicable):
virtio-win-prewhql-162
kernel-4.18.0-40.el8.x86_64
qemu-kvm-3.0.0-2.module+el8+2208+e41b12e0.x86_64
seabios-bin-1.11.1-2.module+el8+2173+537e5cb5.noarch

How reproducible:
20%

Steps to Reproduce:
1.mount an .iso file on the host: 
# mount /home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-162.iso /home/whql_autotest/virtio-win-prewhql-0.1-162/
2.boot win7-32 guest with two cdroms:
/usr/libexec/qemu-kvm \
    -S  \
    -name 'avocado-vt-vm1'  \
    -sandbox off  \
    -machine q35  \
    -nodefaults \
    -device VGA,bus=pcie.0,addr=0x1 \
    -device pcie-root-port,id=pcie_root_port_0,slot=2,chassis=2,addr=0x2,bus=pcie.0 \
    -device pcie-root-port,id=pcie_root_port_1,slot=3,chassis=3,addr=0x3,bus=pcie.0 \
    -device pcie-root-port,id=pcie_root_port_2,slot=4,chassis=4,addr=0x4,bus=pcie.0  \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/avocado_3wuyjnhe/monitor-qmpmonitor1-20181202-233559-xxhfnWAg,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/avocado_3wuyjnhe/monitor-catch_monitor-20181202-233559-xxhfnWAg,server,nowait \
    -mon chardev=qmp_id_catch_monitor,mode=control \
    -device pvpanic,ioport=0x505,id=id27vGH1  \
    -chardev socket,id=serial_id_serial0,path=/var/tmp/avocado_3wuyjnhe/serial-serial0-20181202-233559-xxhfnWAg,server,nowait \
    -device isa-serial,chardev=serial_id_serial0  \
    -chardev socket,id=seabioslog_id_20181202-233559-xxhfnWAg,path=/var/tmp/avocado_3wuyjnhe/seabios-20181202-233559-xxhfnWAg,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20181202-233559-xxhfnWAg,iobase=0x402 \
    -device pcie-root-port,id=pcie.0-root-port-5,slot=5,chassis=5,addr=0x5,bus=pcie.0 \
    -device qemu-xhci,id=usb1,bus=pcie.0-root-port-5,addr=0x0 \
    -device pcie-root-port,id=pcie.0-root-port-6,slot=6,chassis=6,addr=0x6,bus=pcie.0 \
    -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pcie.0-root-port-6,addr=0x0 \
    -drive id=drive_image1,if=none,snapshot=off,aio=threads,cache=none,format=qcow2,file=/home/kvm_autotest_root/images/win7-32-sp1-virtio-scsi.qcow2 \
    -device scsi-hd,id=image1,drive=drive_image1 \
    -device pcie-root-port,id=pcie.0-root-port-7,slot=7,chassis=7,addr=0x7,bus=pcie.0 \
    -device virtio-net-pci,mac=9a:55:56:57:58:59,id=idzcoBhW,vectors=4,netdev=idCTdSAH,bus=pcie.0-root-port-7,addr=0x0  \
    -netdev tap,id=idCTdSAH,vhost=on,vhostfd=19,fd=6 \
    -m 14336  \
    -smp 24,maxcpus=24,cores=12,threads=1,sockets=2  \
    -cpu 'Skylake-Server',+kvm_pv_unhalt,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time \
    -drive id=drive_cd1,if=none,snapshot=off,aio=threads,cache=none,media=cdrom,file=/home/kvm_autotest_root/iso/windows/winutils.iso \
    -device scsi-cd,id=cd1,drive=drive_cd1 \
    -drive id=drive_virtio,if=none,snapshot=off,aio=threads,cache=none,media=cdrom,file=/home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-162.iso \
    -device scsi-cd,id=virtio,drive=drive_virtio \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -vnc :0  \
    -rtc base=localtime,clock=host,driftfix=slew  \
    -boot order=cdn,once=c,menu=off,strict=off \
    -enable-kvm


Actual results:
guest can not boot up:
sometimes it points to virtio-win-prewhql-0.1-162.iso file:
qemu-kvm: -drive id=drive_virtio,if=none,snapshot=off,aio=threads,cache=none,media=cdrom,file=/home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-162.iso: Failed to lock byte 100

sometimes it points to winutils.iso file:
qemu-kvm: -drive id=drive_cd1,if=none,snapshot=off,aio=threads,cache=none,media=cdrom,file=/home/kvm_autotest_root/iso/windows/winutils.iso: Failed to lock byte 100

Expected results:
Job can boot up correctly.

Additional info:

Comment 1 Xueqiang Wei 2018-12-12 06:56:29 UTC
Confirm with lijin, she hit this issue by automation.

I tested 10 times manually, can not reproduce it. I will try it by automation.