virtio-win / kvm-guest-drivers-windows

Windows paravirtualized drivers for QEMU\KVM
https://www.linux-kvm.org/page/WindowsGuestDrivers
BSD 3-Clause "New" or "Revised" License
1.99k stars 382 forks source link

BSOD Balloon driver crashing Windows 7 64bit SP1 (fully updated). #61

Closed Neopallium closed 2 years ago

Neopallium commented 8 years ago

I have tried to install 4 different versions: 0.1.102, 0.1.112, 0.1.113, 0.1.117

They all crash during install of the driver. I have to reboot in Safe Mode to uninstall the driver.

Also I noticed something odd about the virtio-win-0.1*.iso most are about 54Mbyte but version 0.1.102 is about 100Mbytes larger (153Mbyte).

When I mount the 54Mbyte isos on linux and use "du -sh /media/cdrom" it return 217Mbytes for the contents, but "df -h /media/cdrom" returns 55Mbytes. I don't understand how there could be 217Mbytes on the iso. They don't seem to be compressed.

I can still copy all the files off and get about the same amount of data. I am not sure if the iso have been truncated or if some of the files are damaged.

vrozenfe commented 8 years ago

Can you please specify the BSOD error code as well as qemu and kvm versions?

Thanks, Vadim.

kmyi commented 8 years ago

I second on this.

QEMU emulator version 2.6.0 (qemu-2.6.0-4.fc24) Kernel 4.6.4 (4.6.4-301.fc24.x86_64)

BSOD error screen screenshot from 2016-07-16 00-48-04

vrozenfe commented 8 years ago

According to bugcheck parameters it looks like you are trying to install a wrong driver (something like Win8 driver on Win7 platform). Can you please provide the VM platform's version and virtio-win drivers installation path.

Cheers, Vadim.

kmyi commented 8 years ago

Hello,

I installed the drivers in the iso, under the sub directories for windows 7 amd64. The package I used to get the iso is virtio-win-0.1.102 from repo virtio-win-stable in fedora.

Thanks, Kwang

vrozenfe commented 8 years ago

Can you share the relevant dump file for analysis?

Thanks, Vadim.

kmyi commented 8 years ago

Hello,

I must admit that I am not really familiar with this kind of stuff. Can you point me to which file that I should share with you?

Thanks, kwang

vrozenfe commented 8 years ago

The Kernel Memory Dump file by default should be written to %SystemRoot%\Memory.dmp .

Best regards, Vadim.

kmyi commented 8 years ago

Hello,

I installed on a fresh machine and now it works. I however found that there are duplicate dll in the current stable package, for the serial driver and the balloon driver. I think this maybe the cause, as now the serial driver causes BSOD.

Thanks, Kwang

YanVugenfirer commented 8 years ago

Hi,

The duplicate DLLSs shouldn't be a problem. They are WDF coinstallers that should be present in both drivers. During installation if WDF is not present in OS - it will be installed.

Please send us memory dump so we could investigate the root cause.

Best regards, Yan.

On Wed, Jul 20, 2016 at 9:49 AM, Kwang Moo Yi notifications@github.com wrote:

Hello,

I installed on a fresh machine and now it works. I however found that there are duplicate dll in the current stable package, for the serial driver and the balloon driver. I think this maybe the cause, as now the serial driver causes BSOD.

Thanks, Kwang

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/YanVugenfirer/kvm-guest-drivers-windows/issues/61#issuecomment-233855416, or mute the thread https://github.com/notifications/unsubscribe-auth/ABDkWM-voFtmb5nl6AWhhz1VheG8uPFmks5qXcTfgaJpZM4IOOq5 .

kmyi commented 8 years ago

Okay, I uploaded the dump to dropbox :-) Just let me know once you get it, since I don't want it to be up there forever.

https://www.dropbox.com/s/jns4y7sez23ko26/MEMORY.DMP?dl=0

One interesting thing is that all the drivers install well if you install them from what you can get at

http://www.spice-space.org/download.html

I am currently using the version from there. It seems like it's the one shipped in the fedora repo that's the problem.

Neopallium commented 8 years ago

I was also using the drivers from the fedora repo:

https://fedoraproject.org/wiki/Windows_Virtio_Drivers

When I have some time I will try the spice installer. Does it have the Balloon driver? That is the main driver that I want to use.

kmyi commented 8 years ago

@Neopallium Indeed they do. They seem to have all the drivers there.

vrozenfe commented 8 years ago

I went very briefly through https://www.dropbox.com/s/jns4y7sez23ko26/MEMORY.DMP?dl=0 your target system is Win7-64 0: kd> !targetinfo Windows 7 Built by: 7601.23392.amd64fre.win7sp1_ldr.160317-0600, Service Pack 1

but balloon driver is win8-64 0: kd> !lmi balloon Loaded Module Info: [balloon] Module: balloon Base Address: fffff8800e5de000 Image Name: balloon.sys Machine Type: 34404 (X64) Time Stamp: 54ff4382 Wed Mar 11 06:18:26 2015 Size: d000 CheckSum: 1632e Characteristics: 22
Debug Data Dirs: Type Size VA Pointer CODEVIEW 88, 5264, 4064 RSDS - GUID: {71AD10E0-B4A5-428D-A9C1-588076FA4021} Age: 1, Pdb: C:\cygwin64\tmp\build\source\internal-kvm-guest-drivers-windows\Balloon\sys\objfre_win8_amd64\amd64\balloon.pdb

Cheers, Vadim.

kmyi commented 8 years ago

That's quite weird since I believe I installed the win7 driver by explicitly selecting it. I guess, there's some issue with the Fedora package?

vrozenfe commented 8 years ago

balloon driver from virtio-win-0.1.102/Balloon/w7/amd64 (https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso) has different timestamp: Time Type Size RVA Pointer


54FF4358 cv            88 000051B8     3BB8    Format: RSDS, {62595B76-2ACB-431E-BEFA-A11FC8F003F5}, 1, c:\cygwin64\tmp\build\source\internal-kvm-guest-drivers-windows\balloon\sys\objfre_wnet_amd64\amd64\balloon.pdb

while w8 is as follow: Time Type Size RVA Pointer


54FF4382 cv            88 00005264     4064    Format: RSDS, {71AD10E0-B4A5-428D-A9C1-588076FA4021}, 1, C:\cygwin64\tmp\build\source\internal-kvm-guest-drivers-windows\Balloon\sys\objfre_win8_amd64\amd64\balloon.pdb

time-stamp 54FF4382 is the same as on BSOD screen-shot https://cloud.githubusercontent.com/assets/7147797/16890462/36109cdc-4aef-11e6-84b0-64a060b13811.png

kmyi commented 8 years ago

I see... I remember that when installing, at one point there was a case when I just simply designated the whole iso image as source for the driver. While being careful to select the win7 in the first driver, I was lazy and selected the iso after some others. So my bad...

Neopallium commented 8 years ago

I finally got the Balloon driver working from: http://www.spice-space.org/download.html

I had to manually remove the previous balloon.sys driver (mount image on linux to delete the file).

Is it normal for windows to report high memory usage when using the Balloon driver? Host memory usage of the qemu process is lower.

high_memory_usage_balloon

When "current allocation" and "maximum allocation" are set to the same value, windows reports the correct usage:

memory_usage_no_balloon

YanVugenfirer commented 8 years ago

Hi,

If you inflate the ballon than definitely you should see high memory usage. After all it will allocate guest physical memory.

Best regards, Yan.

On 6 באוג׳ 2016, at 14:59, Robert Gabriel Jakabosky notifications@github.com wrote:

I finally got the Balloon driver working from: http://www.spice-space.org/download.html

I had to manually remove the previous balloon.sys driver (mount image on linux to delete the file).

Is it normal for windows to report high memory usage when using the Balloon driver? Host memory usage of the qemu process is lower.

When "current allocation" and "maximum allocation" are set to the same value, windows reports the correct usage:

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

Neopallium commented 8 years ago

Ah. I thought the "Current allocation" setting was just how much to give the VM when it starts. I was thinking of it as more of a minimum. I had assumed the ballooning would be based on available memory on the host.

Increasing the "Current allocation" decreased the balloon size in the VM. This can be done while the VM is running.

Will the VM try to decrease the balloon size before using swap space?

YanVugenfirer commented 8 years ago

There is a Windows service that works with Balloon driver and reports memory usage statistics in the VM. But I am not sure how management part (libvirt for example) will handle it.

Best regards, Yan.

On Sat, Aug 6, 2016 at 4:51 PM, Robert Gabriel Jakabosky < notifications@github.com> wrote:

Ah. I thought the "Current allocation" setting was just how much to give the VM when it starts. I was thinking of it as more of a minimum. I had assumed the ballooning would be based on available memory on the host.

Increasing the "Current allocation" decreased the balloon size in the VM. This can be done while the VM is running.

Will the VM try to decrease the balloon size before using swap space?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/YanVugenfirer/kvm-guest-drivers-windows/issues/61#issuecomment-238024224, or mute the thread https://github.com/notifications/unsubscribe-auth/ABDkWO-gumNXK-QNxWC7F5kplJO0quuJks5qdJFLgaJpZM4IOOq5 .

vrozenfe commented 8 years ago

AFAIR there were several attempts to implement auto-ballooning in the past. I was surprised to see that MOM ( http://www.ovirt.org/develop/projects/mom /) is still alive. Maybe they finally managed to make it working (on Windows).

Cheers, Vadim.

vrozenfe commented 6 years ago

Seems to be fixed after installing the right driver. Closing the issue. Vadim.

codemonkey76 commented 4 years ago

I received this exact same issue using latest virtio-win-0.1.189 windows 7 64-bit (using the win7/amd64 balloon driver)

Azur4 commented 4 years ago

I got the same problem with virtio-win-0.1.189 on Windows 2008r2.

vrozenfe commented 4 years ago

@codemonkey76 @Azur4 Are you guys both getting 0x0000007E bug check error code?

codemonkey76 commented 4 years ago

Yep

vrozenfe commented 4 years ago

@codemonkey76 Can you please give a try to balloon driver from 187 and let me know if it is a regression or not? Thanks, Vadim.

Azur4 commented 4 years ago

Tested 189, 185 and 173 - same error

https://github.com/virtio-win/kvm-guest-drivers-windows/issues/61#issuecomment-238019965 This solves the problem, but need to delete the system file in Linux

vrozenfe commented 4 years ago

@Azur4 Can you tell me the drivers version?

Azur4 commented 4 years ago

61.74.104.14100 screen

myeyre commented 3 years ago

Same problem here with latest 61.81.104.17400 in virtio-win-0.1.189.iso.

Porblem resolved using 61.77.104.16900 in virtio-win-1.9.8.iso from rhel 7.8 supplementary dvd.

tombull commented 3 years ago

I can confirm this is a regression from 187 -> 189. If you completely delete 189 from the system and then install 187, then it works fine.

Complete uninstallation instructions (without using Linux to browse the disk image):

ybendito commented 3 years ago

@hammerg Probably due to https://github.com/virtio-win/kvm-guest-drivers-windows/commit/270d0191b4aae94ace8222a35214b1f4c2dd5801#diff-85bddc940b3f42fa3ebdf517fd1e27fb99694fdbe384fbedeece2ad09d93fb7d Can you please check?

vrozenfe commented 3 years ago

Guys, Please be advised that we will not be able to sign any pre-Win8 binaries with Red Hat SHA-1 signature, just because we don't have any valid SHA-1 cross-certificate for kernel signing anymore. (we don't have SHA-2 as well)

Thanks, Vadim.

hammerg commented 3 years ago

@hammerg Probably due to 270d019#diff-85bddc940b3f42fa3ebdf517fd1e27fb99694fdbe384fbedeece2ad09d93fb7d Can you please check?

@ybendito Are you sure about it? I compiled and installed a driver based on a version without this commit and it still crash.

Git bisect blames 986b0b79.

Can you please check?

ybendito commented 3 years ago

@tombull 176-Win7.zip Does the attached build solves the problem? (It should if I understand correctly what happened) (Note that this driver is signed with sha2 certificate and for installation requires Win7 update that adds kernel support for sha2 signatures) Thanks

ybendito commented 3 years ago

176-Win7.zip @tombull Added missing file

tombull commented 3 years ago

@ybendito The second zip file works fine. Please note that every file in the zip is byte-for-byte identical to the files supplied in 187 apart from line endings in the .inf file... so same binary files, same reported versions, everything. It also includes an unused file named 176 that contains the text output of the COFF/PE dumper for the driver. The driver in 187 works fine (as reported above), and it takes a while to test (completely purging old driver using the instructions I supplied above before installing new driver)... so if you have further versions, it would easier to just test that the files are identical to the old versions before going through the full test like this time.

ybendito commented 3 years ago

@tombull Thanks, I've missed that, I thought build 169 was shipped in 187. My mistake. Only problem with this driver is that it can't be installed on Win7 out of the box before updates.

nathanshearer commented 3 years ago

On a fresh install of Windows Server 2008 R2, not updated, the virtio-win-0.1.189/Balloon/2k8R2/amd64/ balloon driver will cause a BSOD.

alealexpro100 commented 3 years ago

Tried to use build 126 on Windows Server 2008 R2 and it worked. Balloon driver installed successfully and didn't cause any BSOD. Took from here: #8 .

YanVugenfirer commented 2 years ago

We are no longer supporting Windows 7 in master branch.