Hard crash launching 64 bit version on Win10 KVM VM.

vfrex

n3wb
Joined
Jan 14, 2018
Messages
21
Reaction score
8
Hi,

Trying to migrate BI into a virtual machine on a new server. Gave VirtualBox a go and it worked reasonably well (still in BI demo version and haven't migrated the license/config). Then tried KVM to run the VM. Windows throws a BSOD on launching BI ONLY for the 64 bit version. Blanking on the exact error message - will reproduce if it helps. Reinstalled Windows and I got the same behavior. Uninstalled BI, reinstalled the 32 bit version and it runs just fine.

Xeon E5-2620
24 gigabytes RAM (VM gets 4)

So, questions:

1. Has anybody seen this before? Any guesses? I don't know where to begin trying to troubleshoot.
2. Any notable limitations to running 32 bit BI vs 64 bit for 7 cameras?
3. Do we know of any plans to stop offering the 32 bit option?

Thanks!
 

Silas

Getting the hang of it
Joined
Jan 6, 2017
Messages
282
Reaction score
89
Location
Down Under
Little confused here..
Are you running VirtualBox on a server? or are you in fact discussing two different topologies, like HyperV on the server for instance?
 

vfrex

n3wb
Joined
Jan 14, 2018
Messages
21
Reaction score
8
Currently running Windows 10 w/ Blue Iris directly on a computer dedicated to the task. I have a new computer (Xeon) that will take over, but it runs Linux. My first attempt at running Windows 10 in a VM was through VirtualBox. That was successful and I was able to install/run BI. My second attempt at running Windows 10 in a VM was with KVM. I was able to run Windows 10 successfully, but the virtualized OS crashes. Does that help?
 

vfrex

n3wb
Joined
Jan 14, 2018
Messages
21
Reaction score
8
Sure, but many people do it successfully anyway. This instance is already running successfully in a VM, just not on the desired hypervisor.
 

vfrex

n3wb
Joined
Jan 14, 2018
Messages
21
Reaction score
8
In case anybody ends up here with a similar question, I never figured out why BI was crashing. However, I did reinstall Linux and tried again with Proxmox, and 64-bit BI starts without a hitch. In theory everything was identical.
 

vfrex

n3wb
Joined
Jan 14, 2018
Messages
21
Reaction score
8
Well, I tried going back to plain old KVM/libvirt from Proxmox for curiosity and we're back into the blue screen when BI is launched world. Both Win10 and Server 2016. Nothing notable in Windows event logs from what I can tell. Have tried playing around with the vm hardware options to no avail. I seem to be the only person on the planet running into this issue. Can't fathom what Proxmox is doing differently.
 

rabittn

n3wb
Joined
Sep 2, 2014
Messages
3
Reaction score
1
Sorry to Dig up but hopefully this helps. I have found this to be related to the type of processor you are passing along to the blue iris VM.
 

biggen

Getting the hang of it
Joined
May 6, 2018
Messages
70
Reaction score
35
@bp2008

I had this problem too a month or so ago when I was testing BI in a KVM VM as well. During the install portions of BI, I selected the 32-bit installer and that fixed the crashing.

However, the new installer for BI doesn't allow you to select 32 vs 64bit. But the crashes also went away totally with the new installer as well so I guess whatever it was they solved it by moving to the new installer.
 

analogue

n3wb
Joined
Aug 28, 2019
Messages
5
Reaction score
2
Location
usa
Still failing for me.

host: qemu-x86_64 version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.18)
guest: win10 professional with all the latest patches

Tried a bunch of different cpus, no go.

@rabbitn What processor are you passing into the guest such that it is not failing to launch?
 

biggen

Getting the hang of it
Joined
May 6, 2018
Messages
70
Reaction score
35
Still failing for me.

host: qemu-x86_64 version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.18)
guest: win10 professional with all the latest patches

Tried a bunch of different cpus, no go.

@rabbitn What processor are you passing into the guest such that it is not failing to launch?
Does BI give you the option to select 32bit/64bit during the install?
 

TL1096r

IPCT Contributor
Joined
Jan 28, 2017
Messages
1,056
Reaction score
307
@rabittn Thanks for that tidbit. I'm planning to move my secondary BI install to a VM soon-ish. It will be under unRAID, so KVM.
I wish there was more info. How do you do all of this? Any good write-ups?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
9,134
Reaction score
6,347
Location
USA
I wish there was more info. How do you do all of this? Any good write-ups?
I'm sure you can find lots of writeups and YouTube videos showing how to set up virtual machines on many different platforms. Once you are in Windows, a BI install is the same as it is on bare metal. You need to understand though, virtualization adds a whole layer of complexity which can cause performance or stability problems that can be difficult to solve. This, and the fact that Quick Sync hardware acceleration is typically unavailable in a VM, is why it is not recommended to run Blue Iris in a VM.
 

TL1096r

IPCT Contributor
Joined
Jan 28, 2017
Messages
1,056
Reaction score
307
I'm sure you can find lots of writeups and YouTube videos showing how to set up virtual machines on many different platforms. Once you are in Windows, a BI install is the same as it is on bare metal. You need to understand though, virtualization adds a whole layer of complexity which can cause performance or stability problems that can be difficult to solve. This, and the fact that Quick Sync hardware acceleration is typically unavailable in a VM, is why it is not recommended to run Blue Iris in a VM.
Thanks. That was my concern to how you are able to have all the features that actually make Bi run smoothly.

Even though I am using i5-8500/quick sync 3400 kB/s 323MP - only 5 cams and having 55-61CPU usage and it is driving me nuts.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
9,134
Reaction score
6,347
Location
USA
That does seem high for the load @TL1096r, but of course without deeply inspecting the configuration and usage patterns, nobody can say what is wrong.
 

TL1096r

IPCT Contributor
Joined
Jan 28, 2017
Messages
1,056
Reaction score
307
That does seem high for the load @TL1096r, but of course without deeply inspecting the configuration and usage patterns, nobody can say what is wrong.
I would not know where to begin. I had some tips from fenderman so I am waiting if he has more and I will share but it is a lot.

Not to clutter this thread. I sent a small little outline. You might see something
;
 

VirtualCam

n3wb
Joined
Sep 25, 2015
Messages
8
Reaction score
1
Howdy...

I first reported this problem back in 2016 on the oVirt mailing list.

I believe the issue is a bug with QEMU. If you select a processor type of KVM64, it seems to work pretty well.
 

analogue

n3wb
Joined
Aug 28, 2019
Messages
5
Reaction score
2
Location
usa
Howdy...

I first reported this problem back in 2016 on the oVirt mailing list.

I believe the issue is a bug with QEMU. If you select a processor type of KVM64, it seems to work pretty well.
I want to give this a try but I'm not having any luck getting Windows 10 installed on a guest setup with kvm64. Boot CD just freezes at windows logo screen and pegs the guest CPUat 100% indefinitely. Changing CPU back to non-kvm64 boots up fine though.

Code:
$ qemu-x86_64 --version
qemu-x86_64 version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.19)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
XML:
<domain type='kvm' id='29'>
  <name>win10-kvm64</name>
  <uuid>redacted</uuid>
  <memory unit='KiB'>8290304</memory>
  <currentMemory unit='KiB'>8290304</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.11'>hvm</type>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <synic state='on'/>
      <stimer state='on'/>
    </hyperv>
    <vmport state='off'/>
  </features>
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>kvm64</model>
    <topology sockets='1' cores='1' threads='1'/>
    <feature policy='require' name='vme'/>
    <feature policy='require' name='x2apic'/>
    <feature policy='require' name='hypervisor'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
    <timer name='hypervclock' present='yes'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/kvm-spice</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='win10-kvm64.qcow2'/>
      <backingStore/>
      <target dev='sda' bus='scsi'/>
      <alias name='scsi0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='win10.iso'/>
      <backingStore/>
      <target dev='sdb' bus='scsi'/>
      <readonly/>
      <boot order='1'/>
      <alias name='scsi0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='virtio-win-0.1.172.iso'/>
      <backingStore/>
      <target dev='sdc' bus='scsi'/>
      <readonly/>
      <alias name='scsi0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='ubuntu-disco-19.04-desktop-amd64.iso'/>
      <backingStore/>
      <target dev='sdd' bus='scsi'/>
      <readonly/>
      <alias name='scsi0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='dmi-to-pci-bridge'>
      <model name='i82801b11-bridge'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='2'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x10'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x11'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x12'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0x13'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </controller>
    <controller type='scsi' index='0'>
      <alias name='scsi0'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <interface type='direct'>
      <mac address='redacted'/>
      <source dev='eno1' mode='bridge'/>
      <target dev='macvtap3'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/10'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/10'>
      <source path='/dev/pts/10'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='spice' port='5902' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
    <sound model='ich6'>
      <alias name='sound0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir0'/>
      <address type='usb' bus='0' port='2'/>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir1'/>
      <address type='usb' bus='0' port='3'/>
    </redirdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='apparmor' relabel='yes'>
    <label>redacted</label>
    <imagelabel>redacted</imagelabel>
  </seclabel>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>redacted</label>
    <imagelabel>redacted</imagelabel>
  </seclabel>
</domain>
Already tried switching the guest from all SATA to all SCSI - no change.

Any suggestions on what to tweak to get kvm64 to boot?
 
Top