Jump to content
  • (Beta2) unraid v7 VM issues and finds.


    bmartino1
    • Minor

    When playing around with unraid v7 beta 2.

    I came across some werid annoyances. and probaly bugs.

    quite a few as trying to test and implement the new snapshot feature.

    When upgrading form unraid v6 to v7 beta. I had quite a few plugins.

    I still use the snapshot plugin and zfs master plugin. IN this test machine i have moed to a zfs pool aray only

    image.thumb.png.4cd679b7d78821a2028cfd46c8de3dcd.png

     

    ZFS zpool has been upgraded:
     


    Bug 1: If i remove a VM and disk
    image.png.621843660a58a0381f68fa1da703f959.png

    it still elaves behind a folder that can't be deleted.
    even with settings VM off folder is in use. Most likely libvirt is still calling it for nvram and/or snapshots per snapshot plugin I can see the file and zfs master sees the file. With no way to delete them... or need other termal comands to manuly go in and delete. 

    Bug 2/Anoyance with a potental problem when libvirt.img is broken...

    if i have a VM with a snapshot
     and something happens to the libvirt.img file (Example acidetal deletion opr recreated in another folder) I can't restore the VM 

     

    <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2' cache='writeback'/>
          <source file='/mnt/user/VM/BMM-PXE/vdisk1.S20240818093519qcow2'/>
          <target dev='hdc' bus='virtio'/>
          <serial>vdisk1</serial>
          <boot order='2'/>
          <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
        </disk>


    There may be a way to maul thermal merger the snapshot back into vdisk 1 which can be called via the template xml. Setting the xml file to the snapshot doesn't restore the chain...

    Bug 3 the most anoying one. (no snapshots)
    staring fresh on a v6 upgade no VM created nor started in v7
    The first VM ubuntu created a 20GB vdisk 1.img file for the HD, this image file works as it should wiht ubuntu installer seing the disk. and able to use format and isntall ubutn on

    ANY and all VM created the same way create a corupted vdisk 1 missing hte block device and ubuntu installer no longer sees teh vdisk1 as a hard disk to use format and install. I can copy the first 20 GB vdisk to that vm folder and installer will continue.

    There is a error or issues with vm creation making vdsik images...
    image.thumb.png.e08dc9f163ba7ab5d0e7e4e6bfadef95.png

    creat but not started

    Vdisk size is 512:
    image.png.e8f63ce83d3f65803ad2f0e1cedcde0e.png
    compared to working vdisk img:
    image.png.7aa2537c5c801d4adabb40364b029141.png

     

    now add install disk:
    image.png.003111c45d8fdfe4790c86e6ae768432.png

    and vnc boot:

    image.thumb.png.0e6c6079552b5db59c2c4e00babf2e9c.png




    User Feedback

    Recommended Comments



    all can be worked around during development. vdisk creation is the main bug here.

    a copy form the other of vdisk1 is useable. note sure why new VM vdisk creation is breaking... and atempts to remove and make a new VM is presented with the can't delete folder bug...

    Link to comment

    I noticed another issue. I seem to have to recreate the VM any time I make changes, or at least certain changes. I am still troubleshooting to determine which scenarios are problematic.

    But one I know for certain, if I set my video card (nvidia 4070) to multifunction=on, I get a blue screen (ACPI error) when booting Windows 11 and it just gets stuck in a BSOD loop. Oddly, changing the multifunction to off doesn't fix the issue. The VM has to be created with multifunction=off. I have been trying to tweak my settings but it has been extremely difficult because I can't just change a setting, I have to delete and recreate the VM every time.

    Link to comment
    1 hour ago, bobbintb said:

    I noticed another issue. I seem to have to recreate the VM any time I make changes, or at least certain changes. I am still troubleshooting to determine which scenarios are problematic.

    But one I know for certain, if I set my video card (nvidia 4070) to multifunction=on, I get a blue screen (ACPI error) when booting Windows 11 and it just gets stuck in a BSOD loop. Oddly, changing the multifunction to off doesn't fix the issue. The VM has to be created with multifunction=off. I have been trying to tweak my settings but it has been extremely difficult because I can't just change a setting, I have to delete and recreate the VM every time.

    BSOD happens just if you change MF value?

    Link to comment
    3 hours ago, bmartino1 said:

    atempts to remove and make a new VM is presented with the can't delete folder bug...

    Issue is because it is now created as a dataset. And remove was trying to do rmdir. Fix to zfs destroy in next release.

    • Like 1
    Link to comment

     and something happens to the libvirt.img file (Example acidetal deletion opr recreated in another folder) I can't restore the VM

     

    Do you mean revert? You would just need to update the storage to use the exsiting image file and delete the overlay.

    Link to comment
    21 hours ago, SimonF said:

     and something happens to the libvirt.img file (Example acidetal deletion opr recreated in another folder) I can't restore the VM

     

    Do you mean revert? You would just need to update the storage to use the exsiting image file and delete the overlay.


    i had backups of files but had 3 ubuntu iamges runing. then in some stupdid trying to delete the vm folder i acidently deleted the libvirt. which borught up the scanio of me moving htis vm to another unriad system.

    If i'm unable to comit all the snapshot to a vdisk 1 img file before moving to another system. I'm unable to use the data tranfered to another unriad system. I would need to specfiy the snapshot chin or combine all the snapshots into the vdisk img

    this was casued by me deleting the libvirt.img and then hainge all my vms dead as it wouldn't acept the laste snapshot in a newly created libvirt img.

    In theory they should never be a problem, but in the event of data coruption, libvirt.iomg missing or other where the libvirt.img is broken I woould want a way to comit the snapshots to bring it back to vdisk1 to still keep and use my vm...

    This asuming you make backup of the xml template and libvirt nvram and snampshot data files...

    Edited by bmartino1
    Link to comment
    2 hours ago, SimonF said:

    Issue is because it is now created as a dataset. And remove was trying to do rmdir. Fix to zfs destroy in next release.

    thank yo for clarify this, i can see that stoping and will use zfs destory to clear out in the time being

    Link to comment
    6 hours ago, bmartino1 said:


    i had backups of files but had 3 ubuntu iamges runing. then in some stupdid trying to delete the vm folder i acidently deleted the libvirt. which borught up the scanio of me moving htis vm to another unriad system.

    If i'm unable to comit all the snapshot to a vdisk 1 img file before moving to another system. I'm unable to use the data tranfered to another unriad system. I would need to specfiy the snapshot chin or combine all the snapshots into the vdisk img

    this was casued by me deleting the libvirt.img and then hainge all my vms dead as it wouldn't acept the laste snapshot in a newly created libvirt img.

    In theory they should never be a problem, but in the event of data coruption, libvirt.iomg missing or other where the libvirt.img is broken I woould want a way to comit the snapshots to bring it back to vdisk1 to still keep and use my vm...

    This asuming you make backup of the xml template files...

    Here is the libvirt info https://wiki.libvirt.org/I_created_an_external_snapshot_but_libvirt_will_not_let_me_delete_or_revert_to_it.html

    • Thanks 1
    Link to comment
    18 hours ago, SimonF said:

    BSOD happens just if you change MF value?

    Yes. And if I change it back, it still blue screens. I have to recreate it with the right parameters. There might be more instances in which it blue screens but I have to do more troubleshooting.

    Link to comment
    1 hour ago, bobbintb said:

    Yes. And if I change it back, it still blue screens. I have to recreate it with the right parameters. There might be more instances in which it blue screens but I have to do more troubleshooting.

    make sure the Gcard is using the same pcie bus eaxample:
    image.png.0a399b03012c8f70c838abff712cdd8b.png

    Usually find audio. ()the next too should be your gcard and sound card options ... The source address is the device in lspci under the host of unraid. (this is where your physical Hardware on your motherboard sees and maps it)


    the address after source is qemu location to access the pcie device. (this is where the qemu VM Virtual Motherboard will see it. TO do proper passthorugh you should mimic how your physical hardware sees it....

    note that the bus and slot is the same, but function is not. For multifunction to work correctly, this still need to be on the same slot. Your BSOD is caused by xml addressing issues and how your OS decided to pull and attempt memory addressing of the physical device in unraid. I don't understand why you would turn off multifunction on a device and split it... Source when in the vm space what you did was cut the card in half expecting it to work before you cut it in half...

    post your xml code and i will help you reveiw it like others before. I have not had any issues with windows pcie passthorugh form 6 to 7 beta. only issues wiht new snap shot features and how vdisk were handled...

    Otherwise review other forum posts with simalr steps i would take to asisst...


    Thank you, Simon, for your assistance on this and informing me of the future updates to fix these bugs and annoyances.

    From reading the wiki, it looks like I need to do a block commit (to fix the multiple Snapshots. to vdisk and 1 snpshot) and then a block copy to fix the snapshot going back into a single vdisk to share to a different unraid systems.

    this means manual terminal virsh comands to touch the data.

    the question is will virsh do theses commands on a different unraid system or would i need to do them on the source unraid system where its all working..

    as much as i lik the snapshots to quickly undo and fix texting and building It looks like (ATM) i will need to stay away from  using snapshots to maintin current backups and moving of the vdisk to other unriad systems.

     

     

    Link to comment
    21 hours ago, SimonF said:

    Issue is because it is now created as a dataset. And remove was trying to do rmdir. Fix to zfs destroy in next release.

    I was able to clean up the folder with zfs destroy I also had to run it with the -r comand to remove snapshots made by zfs 

    command

    zfs destroy -r {ZFS poolname}/{unraid settings VM location}/{VM name}

    In my case that was
    zfs destroy -r repository/VM/test-bios

    Link to comment

    as mentioned in another post.
     


    i was able to run a block commit on a VM while it was off. Per Simaon this should not be possilbe.

    WHile the VM still works and game me my desired outcome, This created another bug where Unraid web ui didsplays the deleted snapshots, while QEMU snapshot data still exist. The vdis1 img it left me with still boots but breks the entire snashp system.

    I wa able to move the system in theis broken state but becue of how the qemu data and how teh comit affected the vdis I don't turst the VM in this state long term.

    not sure if there can be a update on when and how the commits work when teh vm is in a on vs off state so this doen't havppen in a public relase causing issues with users using the snapshot system and geting into werid cases to recover a vm.

    Link to comment
    2 minutes ago, bmartino1 said:

    as mentioned in another post.
     


    i was able to run a block commit on a VM while it was off. Per Simaon this should not be possilbe.

    WHile the VM still works and game me my desired outcome, This created another bug where Unraid web ui didsplays the deleted snapshots, while QEMU snapshot data still exist. The vdis1 img it left me with still boots but breks the entire snashp system.

    I wa able to move the system in theis broken state but becue of how the qemu data and how teh comit affected the vdis I don't turst the VM in this state long term.

    not sure if there can be a update on when and how the commits work when teh vm is in a on vs off state so this doen't havppen in a public relase causing issues with users using the snapshot system and geting into werid cases to recover a vm.

    Wil look into this issue.

    • Like 1
    Link to comment
    On 8/19/2024 at 7:46 PM, bmartino1 said:

    VM while it was off. Per Simaon this should not be possilbe.

    The commit fails when using the Libvirt API if VM is not in a running state. I need to process the snapshots between top and base or specified snapshots. Error on my part only tested on a single snapshot. Will work on fixes but may be a few releases before it is merged.

     

    If I try with the VM shutdown it does not find the backing files.

     

    root@computenode:/mnt/user/domains2/AAArch# virsh  blockcommit "AAArch" /mnt/user/domains2/AAArch/vdisk1.S20240820200054qcow2 --active --base /mnt/user/domains2/AAArch/vdisk1.S2024082019
    3043qcow2
    error: invalid argument: could not find image '/mnt/user/domains2/AAArch/vdisk1.S20240820193043qcow2' beneath '/mnt/user/domains2/AAArch/vdisk1.S20240820200054qcow2' in chain for 'hdc'

     

    But if I start VM it works.

    root@computenode:/mnt/user/domains2/AAArch# virsh  blockcommit "AAArch" /mnt/user/domains2/AAArch/vdisk1.S20240820200054qcow2 --active --base /mnt/user/domains2/AAArch/vdisk1.S20240820193043qcow2
    Active Block Commit started
    root@computenode:/mnt/user/domains2/AAArch# 

     

    For the next release I provide the option to run when stopped, but starts VM in a suspended state.

     

     

        if ($state == "shutoff") {

            $lv->domain_start($res);

            $lv->domain_suspend($res);

        }

    • Like 1
    Link to comment

    If I need to create a new post I can. I don't want to hijack this one but it seemed relevant. I'll try to explain the files I've attached and the process I did.
     

    1. Created a new VM with multifunction off. Boots fine. XML saved as A1.
    2. Only changed multifunction to on, nothing else. BSOD. XML saved as A2.
    3. Changed multifunction back to off, nothing else. BSOB. XML saved as A3.

     

    1. Created new VM with multifunction on. BSOD. XML saved as B1.
    2. Only changed multifunction to off, nothing else. BSOD. XML saved as B2.

      Taking a cursory glance, a lot of the XML has changed even though I only changed the multifunction. I'm not sure why PCI busses are changing and whatnot.

    A3_change_vm_mf_back_to_off.txt A2_change_vm_mf_from_off_to_on.txt A1_new_vm_mf_off.txt B1_new_vm_mf_on.txt B2_change_vm_mf_from_on_to_off.txt

    Edited by bobbintb
    Link to comment
    19 minutes ago, bobbintb said:

    If I need to create a new post I can. I don't want to hijack this one but it seemed relevant. I'll try to explain the files I've attached and the process I did.
     

    1. Created a new VM with multifunction off. Boots fine. XML saved as A1.
    2. Only changed multifunction to on, nothing else. BSOD. XML saved as A2.
    3. Changed multifunction back to off, nothing else. BSOB. XML saved as A3.

     

    1. Created new VM with multifunction on. BSOD. XML saved as B1.
    2. Only changed multifunction to off, nothing else. BSOD. XML saved as B2.

      Taking a cursory glance, a lot of the XML has changed even though I only changed the multifunction. I'm not sure why PCI busses are changing and whatnot.

    A3_change_vm_mf_back_to_off.txt A2_change_vm_mf_from_off_to_on.txt A1_new_vm_mf_off.txt B1_new_vm_mf_on.txt B2_change_vm_mf_from_on_to_off.txt

    I will need to look further at this, but looks like the system is generating many PCI root ports.

     

    The way multifunction is generated it so add + 0x20 to the real PCI busid to avoid conflicts.

     

        <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x21' slot='0x00' function='0x0'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x41' slot='0x00' function='0x0' multifunction='on'/>
        </hostdev>
        <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x21' slot='0x00' function='0x1'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x41' slot='0x00' function='0x1'/>
        </hostdev>

     

    If you create a VM, then change to muiltifunction these additional devices have been created.

     

        <controller type='pci' index='6' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='6' port='0xd'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
        </controller>
        <controller type='pci' index='7' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='7' port='0xe'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
        </controller>
        <controller type='pci' index='8' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='8' port='0xf'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/>
        </controller>
        <controller type='pci' index='9' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='9' port='0x10'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
        </controller>
        <controller type='pci' index='10' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='10' port='0x11'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
        </controller>
        <controller type='pci' index='11' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='11' port='0x12'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
        </controller>
        <controller type='pci' index='12' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='12' port='0x13'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
        </controller>
        <controller type='pci' index='13' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='13' port='0x14'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
        </controller>
        <controller type='pci' index='14' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='14' port='0x15'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
        </controller>
        <controller type='pci' index='15' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='15' port='0x16'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
        </controller>
        <controller type='pci' index='16' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='16' port='0x17'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
        </controller>
        <controller type='pci' index='17' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='17' port='0x18'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
        </controller>
        <controller type='pci' index='18' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='18' port='0x19'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
        </controller>
        <controller type='pci' index='19' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='19' port='0x1a'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/>
        </controller>
        <controller type='pci' index='20' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='20' port='0x1b'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/>
        </controller>
        <controller type='pci' index='21' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='21' port='0x1c'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/>
        </controller>
        <controller type='pci' index='22' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='22' port='0x1d'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x5'/>
        </controller>
        <controller type='pci' index='23' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='23' port='0x1e'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x6'/>
        </controller>
        <controller type='pci' index='24' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='24' port='0x1f'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x7'/>
        </controller>
        <controller type='pci' index='25' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='25' port='0x20'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0' multifunction='on'/>
        </controller>
        <controller type='pci' index='26' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='26' port='0x21'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x1'/>
        </controller>
        <controller type='pci' index='27' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='27' port='0x22'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x2'/>
        </controller>
        <controller type='pci' index='28' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='28' port='0x23'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x3'/>
        </controller>
        <controller type='pci' index='29' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='29' port='0x24'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x4'/>
        </controller>
        <controller type='pci' index='30' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='30' port='0x25'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x5'/>
        </controller>
        <controller type='pci' index='31' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='31' port='0x26'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x6'/>
        </controller>
        <controller type='pci' index='32' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='32' port='0x27'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x7'/>
        </controller>
        <controller type='pci' index='33' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='33' port='0x28'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
        </controller>
        <controller type='pci' index='34' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='34' port='0x29'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
        </controller>
        <controller type='pci' index='35' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='35' port='0x2a'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
        </controller>
        <controller type='pci' index='36' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='36' port='0x2b'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x3'/>
        </controller>
        <controller type='pci' index='37' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='37' port='0x2c'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x4'/>
        </controller>
        <controller type='pci' index='38' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='38' port='0x2d'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x5'/>
        </controller>
        <controller type='pci' index='39' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='39' port='0x2e'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x6'/>
        </controller>
        <controller type='pci' index='40' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='40' port='0x2f'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
        </controller>
        <controller type='pci' index='41' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='41' port='0x30'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' multifunction='on'/>
        </controller>
        <controller type='pci' index='42' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='42' port='0x31'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/>
        </controller>
        <controller type='pci' index='43' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='43' port='0x32'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x2'/>
        </controller>
        <controller type='pci' index='44' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='44' port='0x33'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x3'/>
        </controller>
        <controller type='pci' index='45' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='45' port='0x34'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x4'/>
        </controller>
        <controller type='pci' index='46' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='46' port='0x35'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x5'/>
        </controller>
        <controller type='pci' index='47' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='47' port='0x36'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x6'/>
        </controller>
        <controller type='pci' index='48' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='48' port='0x37'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x7'/>
        </controller>
        <controller type='pci' index='49' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='49' port='0x40'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0' multifunction='on'/>
        </controller>
        <controller type='pci' index='50' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='50' port='0x41'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x1'/>
        </controller>
        <controller type='pci' index='51' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='51' port='0x42'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x2'/>
        </controller>
        <controller type='pci' index='52' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='52' port='0x43'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x3'/>
        </controller>
        <controller type='pci' index='53' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='53' port='0x44'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x4'/>
        </controller>
        <controller type='pci' index='54' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='54' port='0x45'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x5'/>
        </controller>
        <controller type='pci' index='55' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='55' port='0x46'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x6'/>
        </controller>
        <controller type='pci' index='56' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='56' port='0x47'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x7'/>
        </controller>
        <controller type='pci' index='57' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='57' port='0x48'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0' multifunction='on'/>
        </controller>
        <controller type='pci' index='58' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='58' port='0x49'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x1'/>
        </controller>
        <controller type='pci' index='59' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='59' port='0x4a'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x2'/>
        </controller>
        <controller type='pci' index='60' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='60' port='0x4b'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x3'/>
        </controller>
        <controller type='pci' index='61' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='61' port='0x4c'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x4'/>
        </controller>
        <controller type='pci' index='62' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='62' port='0x4d'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x5'/>
        </controller>
        <controller type='pci' index='63' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='63' port='0x4e'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x6'/>
        </controller>
        <controller type='pci' index='64' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='64' port='0x4f'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x7'/>
        </controller>
        <controller type='pci' index='65' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='65' port='0x50'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
        </controller>

    If you edit the XML to remove the additional PCI root ports does the VM boot without BSOD?

    Link to comment
    On 8/19/2024 at 4:01 PM, bobbintb said:

    Yes. And if I change it back, it still blue screens. I have to recreate it with the right parameters. There might be more instances in which it blue screens but I have to do more troubleshooting.

    I have been able to reproduce will work on a fix.

    Link to comment
    On 8/20/2024 at 9:32 PM, bobbintb said:

    If I need to create a new post I can. I don't want to hijack this one but it seemed relevant. I'll try to explain the files I've attached and the process I did.
     

    1. Created a new VM with multifunction off. Boots fine. XML saved as A1.
    2. Only changed multifunction to on, nothing else. BSOD. XML saved as A2.
    3. Changed multifunction back to off, nothing else. BSOB. XML saved as A3.

     

    1. Created new VM with multifunction on. BSOD. XML saved as B1.
    2. Only changed multifunction to off, nothing else. BSOD. XML saved as B2.

      Taking a cursory glance, a lot of the XML has changed even though I only changed the multifunction. I'm not sure why PCI busses are changing and whatnot.

    A3_change_vm_mf_back_to_off.txt A2_change_vm_mf_from_off_to_on.txt A1_new_vm_mf_off.txt B1_new_vm_mf_on.txt B2_change_vm_mf_from_on_to_off.txt

    Please could you test to see if this works.

     

    mv /usr/local/emhttp/plugin/dynamix.vm.manager/include/libvirt.php /usr/local/emhttp/plugin/dynamix.vm.manager/include/libvirt.old

    and the put the file attached into that dir.

    libvirt.php

    • Thanks 1
    Link to comment
    On 8/22/2024 at 1:39 PM, SimonF said:

    Please could you test to see if this works.

     

    mv /usr/local/emhttp/plugin/dynamix.vm.manager/include/libvirt.php /usr/local/emhttp/plugin/dynamix.vm.manager/include/libvirt.old

    and the put the file attached into that dir.

    libvirt.php

    Yes, sorry I've been unresponsive. It's been a busy week but I will go over it this weekend.

    Link to comment
    On 8/22/2024 at 1:39 PM, SimonF said:

    Please could you test to see if this works.

     

    mv /usr/local/emhttp/plugin/dynamix.vm.manager/include/libvirt.php /usr/local/emhttp/plugin/dynamix.vm.manager/include/libvirt.old

    and the put the file attached into that dir.

    libvirt.php

    Well, that sort of worked, lol. I don't get a blue screen but the VM is incredibly slow. I was in the BIOS and I can see it slowly render the GUI from top to bottom, it's that slow.

    I created a VM with multifunction off, as before. It booted fine, as usual. Then I changed it to multifunction on. Again, no BSOD, but sloooooow. Here is the XML after the change.

    fix_test.xml

    Edited by bobbintb
    Link to comment
    36 minutes ago, bobbintb said:

    Well, that sort of worked, lol. I don't get a blue screen but the VM is incredibly slow. I was in the BIOS and I can see it slowly render the GUI from top to bottom, it's that slow.

    I created a VM with multifunction off, as before. It booted fine, as usual. Then I changed it to multifunction on. Again, no BSOD, but sloooooow. Here is the XML after the change.

    fix_test.xml


    I have made some edits, you still seem to have a few pcieroot devcies...

    try this xml code for your widnows 11 test vm:

     

    <?xml version='1.0' encoding='UTF-8'?>
    <domain type='kvm'>
      <name>Windows 11 test</name>
      <uuid>fc5f7bc7-3cc5-f420-c3e8-aee8a1e5c061</uuid>
      <metadata>
        <vmtemplate xmlns="unraid" name="Windows 11" icon="windows11.png" os="windowstpm" webui="" storage="default"/>
      </metadata>
      <memory unit='KiB'>67108864</memory>
      <currentMemory unit='KiB'>67108864</currentMemory>
      <memoryBacking>
        <nosharepages/>
      </memoryBacking>
      <vcpu placement='static'>24</vcpu>
      <resource>
        <partition>/machine</partition>
      </resource>
      <os>
        <type arch='x86_64' machine='pc-q35-9.0'>hvm</type>
        <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi-tpm.fd</loader>
        <nvram>/etc/libvirt/qemu/nvram/fc5f7bc7-3cc5-f420-c3e8-aee8a1e5c061_VARS-pure-efi-tpm.fd</nvram>
      </os>
      <features>
        <acpi/>
        <apic/>
        <hyperv mode='custom'>
          <relaxed state='on'/>
          <vapic state='on'/>
          <spinlocks state='on' retries='8191'/>
          <vendor_id state='on' value='none'/>
        </hyperv>
      </features>
      <cpu mode='host-passthrough' check='none' migratable='on'>
        <topology sockets='1' dies='1' clusters='1' cores='12' threads='2'/>
        <cache mode='passthrough'/>
        <feature policy='require' name='topoext'/>
      </cpu>
      <clock offset='localtime'>
        <timer name='hypervclock' present='yes'/>
        <timer name='hpet' present='no'/>
      </clock>
      <on_poweroff>destroy</on_poweroff>
      <on_reboot>restart</on_reboot>
      <on_crash>restart</on_crash>
      <devices>
        <emulator>/usr/local/sbin/qemu</emulator>
        <disk type='file' device='cdrom'>
          <driver name='qemu' type='raw'/>
          <source file='/mnt/user/Apps/Windows 11/Windows11_InsiderPreview_Client_x64_en-us_26100.1150.iso'/>
          <backingStore/>
          <target dev='hda' bus='sata'/>
          <readonly/>
          <boot order='1'/>
          <address type='drive' controller='0' bus='0' target='0' unit='0'/>
        </disk>
        <disk type='file' device='cdrom'>
          <driver name='qemu' type='raw'/>
          <source file='/mnt/user/Apps/virtio-win-0.1.262-2.iso'/>
          <backingStore/>
          <target dev='hdb' bus='sata'/>
          <readonly/>
          <address type='drive' controller='0' bus='0' target='0' unit='1'/>
        </disk>
        <controller type='pci' index='0' model='pcie-root'/>
        <controller type='pci' index='1' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='1' port='0x8'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
        </controller>
        <controller type='pci' index='2' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='2' port='0x9'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
        </controller>
        <controller type='pci' index='3' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='3' port='0xa'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
        </controller>
        <controller type='pci' index='4' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='4' port='0xb'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
        </controller>
        <controller type='pci' index='5' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='5' port='0xc'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
        </controller>
        <controller type='pci' index='6' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='6' port='0xd'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
        </controller>
        <controller type='pci' index='7' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='7' port='0xe'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
        </controller>
        <controller type='pci' index='8' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='8' port='0xf'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/>
        </controller>
        <controller type='pci' index='9' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='9' port='0x10'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
        </controller>
        <controller type='pci' index='10' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='10' port='0x11'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
        </controller>
        <controller type='pci' index='11' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='11' port='0x12'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
        </controller>
        <controller type='pci' index='12' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='12' port='0x13'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
        </controller>
        <controller type='pci' index='13' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='13' port='0x14'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
        </controller>
        <controller type='pci' index='14' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='14' port='0x15'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
        </controller>
        <controller type='pci' index='15' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='15' port='0x16'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
        </controller>
        <controller type='pci' index='16' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='16' port='0x17'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
        </controller>
        <controller type='virtio-serial' index='0'>
          <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
        </controller>
        <controller type='sata' index='0'>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
        </controller>
        <controller type='usb' index='0' model='ich9-ehci1'>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
        </controller>
        <controller type='usb' index='0' model='ich9-uhci1'>
          <master startport='0'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
        </controller>
        <controller type='usb' index='0' model='ich9-uhci2'>
          <master startport='2'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
        </controller>
        <controller type='usb' index='0' model='ich9-uhci3'>
          <master startport='4'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
        </controller>
        <interface type='bridge'>
          <mac address='52:54:00:42:df:58'/>
          <source bridge='br0'/>
          <model type='virtio-net'/>
          <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
        </interface>
        <serial type='pty'>
          <target type='isa-serial' port='0'>
            <model name='isa-serial'/>
          </target>
        </serial>
        <console type='pty'>
          <target type='serial' port='0'/>
        </console>
        <channel type='unix'>
          <target type='virtio' name='org.qemu.guest_agent.0'/>
          <address type='virtio-serial' controller='0' bus='0' port='1'/>
        </channel>
        <input type='mouse' bus='ps2'/>
        <input type='keyboard' bus='ps2'/>
        <tpm model='tpm-tis'>
          <backend type='emulator' version='2.0' persistent_state='yes'/>
        </tpm>
        <audio id='1' type='none'/>
        <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x21' slot='0x00' function='0x0'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x10' slot='0x00' function='0x0' multifunction='on'/>
        </hostdev>
        <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x21' slot='0x00' function='0x1'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x10' slot='0x00' function='0x1'/>
        </hostdev>
        <hostdev mode='subsystem' type='usb' managed='no'>
          <source startupPolicy='optional'>
            <vendor id='0x046d'/>
            <product id='0xc24a'/>
            <address bus='1' device='5'/>
          </source>
          <address type='usb' bus='0' port='1'/>
        </hostdev>
        <hostdev mode='subsystem' type='usb' managed='no'>
          <source startupPolicy='optional'>
            <vendor id='0x1a2c'/>
            <product id='0x2e43'/>
            <address bus='1' device='4'/>
          </source>
          <address type='usb' bus='0' port='2'/>
        </hostdev>
        <watchdog model='itco' action='reset'/>
        <memballoon model='none'/>
      </devices>
      <seclabel type='dynamic' model='dac' relabel='yes'/>
    </domain>


    I used my working windows 11 Vm as a base and copied over your devices and setting as needed.

    fix_test.xml

    Edited by bmartino1
    unraid verfied xml in post, atached is before unraid test but same edited code. to revew differencess
    Link to comment
    45 minutes ago, bobbintb said:

    Well, that sort of worked, lol. I don't get a blue screen but the VM is incredibly slow. I was in the BIOS and I can see it slowly render the GUI from top to bottom, it's that slow.

    I created a VM with multifunction off, as before. It booted fine, as usual. Then I changed it to multifunction on. Again, no BSOD, but sloooooow. Here is the XML after the change.

    fix_test.xml

    If you change these two address lines from 0x10 to 0x04 does that improve performance?

     

    <hostdev mode="subsystem" type="pci" managed="yes">
    <driver name="vfio"/>
    <source>
    <address domain="0x0000" bus="0x21" slot="0x00" function="0x0"/>
    </source>
    <alias name="hostdev0"/>
    <address type="pci" domain="0x0000" bus="0x10" slot="0x00" function="0x0" multifunction="on"/>
    </hostdev>
    <hostdev mode="subsystem" type="pci" managed="yes">
    <driver name="vfio"/>
    <source>
    <address domain="0x0000" bus="0x21" slot="0x00" function="0x1"/>
    </source>
    <alias name="hostdev1"/>
    <address type="pci" domain="0x0000" bus="0x10" slot="0x00" function="0x1"/>
    </hostdev>

     

    Link to comment
    59 minutes ago, SimonF said:

    If you change these two address lines from 0x10 to 0x04 does that improve performance?

     

    <hostdev mode="subsystem" type="pci" managed="yes">
    <driver name="vfio"/>
    <source>
    <address domain="0x0000" bus="0x21" slot="0x00" function="0x0"/>
    </source>
    <alias name="hostdev0"/>
    <address type="pci" domain="0x0000" bus="0x10" slot="0x00" function="0x0" multifunction="on"/>
    </hostdev>
    <hostdev mode="subsystem" type="pci" managed="yes">
    <driver name="vfio"/>
    <source>
    <address domain="0x0000" bus="0x21" slot="0x00" function="0x1"/>
    </source>
    <alias name="hostdev1"/>
    <address type="pci" domain="0x0000" bus="0x10" slot="0x00" function="0x1"/>
    </hostdev>

     

    Yes, significantly. Speed is normal and no blue screen.

    Link to comment
    47 minutes ago, bobbintb said:

    Yes, significantly. Speed is normal and no blue screen.

    Can you send a copy of the xml? and trynwith bus 0x07 as that is the lowest value I think i can use.

    Link to comment



    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Restore formatting

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


  • Status Definitions

     

    Open = Under consideration.

     

    Solved = The issue has been resolved.

     

    Solved version = The issue has been resolved in the indicated release version.

     

    Closed = Feedback or opinion better posted on our forum for discussion. Also for reports we cannot reproduce or need more information. In this case just add a comment and we will review it again.

     

    Retest = Please retest in latest release.


    Priority Definitions

     

    Minor = Something not working correctly.

     

    Urgent = Server crash, data loss, or other showstopper.

     

    Annoyance = Doesn't affect functionality but should be fixed.

     

    Other = Announcement or other non-issue.

×
×
  • Create New...