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

xeniface: assertion failure on hibernation


  • To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Rafał Wojdyła <omeg@xxxxxxxxxxxxxxxxxxxxxx>
  • Date: Mon, 15 Jul 2024 16:59:35 +0200
  • Autocrypt: addr=omeg@xxxxxxxxxxxxxxxxxxxxxx; keydata= xsBNBFH+JQwBCAC0ym1Jtm5HM2p32Nw8NDNdkhwJR1For9txOKqeYMJWBTPzGJQG9HVHdYY/ PZNfzvJkl26q1CB7JbAXVq2rSt1hn7cc4qL4BIDackJ4SEAAYbSLK82pQYUHhj18nNzZgxnn DBHpppRUA76DhSRKxEOZ+7GQAHd6H8RA0zBW+5ut0iOmglia3sOlim2yqeBRj6XaRn3RGmT9 LXQu/UrJDY52LwJGE9on1wTvw+tN4QmCipFUk6YToVbkHiyDSnNN6aRqclH0vJBZquagQ/wn aOohowIyyzbY2+GJspKEPD3J9Ov5aKe/jN13WjBYwcy+NUG9SWT+VTIi6th43mh/L3dNABEB AAHNLVJhZmHFgiBXb2pkecWCYSA8b21lZ0BpbnZpc2libGV0aGluZ3NsYWIuY29tPsLAeQQT AQIAIwUCUkHE5wIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEIWi9rB2GrW7hasI AK5DFMRDqARqlOIncq0bDJbbPnScXozcVjrU2jHaA736d9eoXNixSxX+D1+4QGjgEIUJWaa6 yqGTlqgHdOMKWYoDpUsm56Utj16E/ln1hSxXxEeHL30Fyqfqfmi0mlJv4ijasfxqwoHSt+Yy cACIhm563cwCaAdaO++lrcF2O/g+KIUXo0uEx+n6c8M25gu2TC3Cxn1ZeWH+5y9rUB6ph6JV eVKAYBSdK4qDEpDwz124YcpBloh5S4Jt6pVBSbJodbP+LQyet3Gb3IMYzFa+M6SMO/6EQX8k Q0zv1axlFCFs/Wf19A+nh40fZRRL+Q/v3lY9/v7u2mY4jGvKYao+sKXOwE0EUf4lDAEIALD5 ungRVF1VnOKpNBS6xcpXw7jGX5Lh+r9fOZ9pSyqQRfD5t6yF3bjwgJBzfIJO2t/WhxlNTwZA Y3ZYA/+UBOyi9Y0axEp1L6bR42iC1tCt4kawpm+Lye4aRXdbKo/EBP6wSUiOqQ3+LLLmnaSj saAiYQWUZ3at1hOHrZZRIy3vk38rsheWURu6FQWc4VK2odEFtKD2gvw0s93Q6xbMahcWRP3M 1TWzBSlO4pbV64nXBJVtqDOOs/jQwYjkdotNWb70a2uYasPz+btS0YvW31m94zedXdKZnJN+ kP314z1q7Gv8CPfgRTqU3JonIkw69ylk2AGzeRv5oFVhRKgFlv0AEQEAAcLAXwQYAQIACQUC Uf4lDAIbDAAKCRCFovawdhq1u8wYB/9kZRnMX5gm0Yq7zdqu/K6o3EfAfYI/ZBOXSgYcb58s L1Jy+b3inq5PZQrLn7D9V5DFBBjKwthhKVK/eKCALqYuVvaiBmhHjE02xZoi1g7pvV2kj0z6 OFtF2IXO4vwtaHQhhIutVd+jjDmnSl0kYCBurOjVFmD2ZCTDQ5/JqEDU26V5i9Dwp9sImDm7 r3lBgLOKu5uWKoQRHbdxPN8FzoFfxDH+xZKubqGgvEvCsX1CjFRP7/kcGW5TrAb/rNEOG1Ik 25Qj7mjWFa6sv2jYvV1aIpCK8sKKTPeS0mRfhnqQDYqluBsOQIrSHSHbjCTkuIdSutzJyxpG xLY7n9TPT2ug
  • Delivery-date: Mon, 15 Jul 2024 14:59:45 +0000
  • Feedback-id: i409c4082:Fastmail
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

Hi,

I was doing some tests with the default system shutdown that actually hibernates the OS and I'm hitting the following assertion:

xen|SystemPowerStateCallback: <- S0
xeniface|__FdoQuerySystemPower: ====> (Hibernate:Hibernate)
xeniface|FdoRequestQueryDevicePower: D3
xeniface|__FdoQueryDevicePower: ====> (D3:Hibernate)
xeniface|__FdoRequestQueryDevicePower: ASSERTION FAILED: (((NTSTATUS)(IoStatus->Status)) >= 0) Assertion xeniface\src\xeniface\fdo.c(1944): (((NTSTATUS)(IoStatus->Status)) >= 0)

It's reproducible on Win 10 and 11 with the latest xenbus and xeniface (debug build), no other pv drivers or tools. A bit more info below.

0: kd> k
 # Child-SP          RetAddr               Call Site
00 ffff930b`bf235750 fffff802`34f7acc4 xeniface!__FdoRequestQueryDevicePower+0x57 [xeniface\src\xeniface\fdo.c @ 1944]
01 ffff930b`bf235790 fffff802`34e54975     nt!PopRequestCompletion+0x64
02 ffff930b`bf2357e0 fffff802`34e547b7     nt!IopfCompleteRequest+0x1a5
03 ffff930b`bf2358c0 fffff802`380a81be     nt!IofCompleteRequest+0x17
04 ffff930b`bf2358f0 fffff802`380a7dfd xenbus!PdoDispatchPower+0x6e [xenbus\src\xenbus\pdo.c @ 1934] 05 ffff930b`bf235940 fffff802`3808a2e8 xenbus!PdoDispatch+0x5d [xenbus\src\xenbus\pdo.c @ 1970] 06 ffff930b`bf235980 fffff802`34f986cf xenbus!DriverDispatch+0x228 [xenbus\src\xenbus\driver.c @ 342]
07 ffff930b`bf235a00 fffff802`34e2d40d     nt!IopPoHandleIrp+0x3b
08 ffff930b`bf235a30 fffff802`3b1c1029     nt!IofCallDriver+0x6d
09 ffff930b`bf235a70 fffff802`3b1c0eb7 xeniface!__FdoQueryDevicePowerDown+0x119 [xeniface\src\xeniface\fdo.c @ 1882] 0a ffff930b`bf235ad0 fffff802`3b1bcd1c xeniface!__FdoQueryDevicePower+0x1b7 [xeniface\src\xeniface\fdo.c @ 1915] 0b ffff930b`bf235b50 fffff802`3b1c2b69 xeniface!FdoDevicePower+0xfc [xeniface\src\xeniface\fdo.c @ 2126] 0c ffff930b`bf235bc0 fffff802`34f48da5 xeniface!ThreadFunction+0x39 [xeniface\src\xeniface\thread.c @ 110]
0d ffff930b`bf235c10 fffff802`35006b58     nt!PspSystemThreadStartup+0x55
0e ffff930b`bf235c60 00000000`00000000     nt!KiStartSystemThread+0x28
0: kd> ?? (DWORD) IoStatus->Status
DWORD 0xc00000bb
0: kd> !error 0xc00000bb
Error code: (NTSTATUS) 0xc00000bb (3221225659) - The request is not supported.
0: kd> .frame 0n4;dv /t /v
04 ffff930b`bf2358f0 fffff802`380a7dfd xenbus!PdoDispatchPower+0x6e [xenbus\src\xenbus\pdo.c @ 1934]
ffff930b`bf235940 struct _XENBUS_PDO * Pdo = 0xffffc78e`45efe230
ffff930b`bf235948 struct _IRP * Irp = 0xffffc78e`4c29ade0
ffff930b`bf235910 unsigned char MinorFunction = 0x03 ''
ffff930b`bf235920 struct _IO_STACK_LOCATION * StackLocation = 0xffffc78e`4c29aef8 IRP_MJ_POWER / IRP_MN_WAIT_WAKE for Device for "\Driver\xenbus"
ffff930b`bf235914 long status = 0n-1073741637
0: kd> ?? (DWORD)Irp->IoStatus.Status
DWORD 0xc00000bb
0: kd> .frame 0n9;dv /t /v
09 ffff930b`bf235a70 fffff802`3b1c0eb7 xeniface!__FdoQueryDevicePowerDown+0x119 [xeniface\src\xeniface\fdo.c @ 1882]
ffff930b`bf235ad0 struct _XENIFACE_FDO * Fdo = 0xffffc78e`465154a0
ffff930b`bf235ad8 struct _IRP * Irp = 0xffffc78e`4c29ade0
ffff930b`bf235ab0 struct _IO_STACK_LOCATION * StackLocation = 0xffffc78e`4c29aef8 IRP_MJ_POWER / IRP_MN_WAIT_WAKE for Device for "\Driver\xenbus"
ffff930b`bf235a90 _DEVICE_POWER_STATE DeviceState = PowerDeviceD3 (0n4)
ffff930b`bf235a9c long status = 0n0
0: kd> ?? (DWORD)Irp->IoStatus.Status
DWORD 0xc00000bb

It's probably harmless here, but I also found some probable bugs in the gnttab code seemingly related to hibernation so thought I'd share this first.

--
Rafał Wojdyła
Invisible Things Lab

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.