RFC ntoskrnl.exe:ntoskrnl crashes 32-bit Vista

Paul Gofman pgofman at codeweavers.com
Mon Nov 30 09:00:16 CST 2020


Yeah, it can happen the driver is missing something on Vista. I didn't
have any Vista machine for running those tests at the moment of making
them and also that time the testbot could not load any drivers on Vista.

The question is, do we care about the test (especially such specific
ones as kernel drivers) succeeding on Vista? As I understand, we are
close to dropping Vista compatibility in tests entirely, and fixing the
test driver for Vista might take a bit of effort. IMO it would be more
interesting to have drivers test working on newer Windows machines.

On 11/30/20 17:48, Francois Gouget wrote:
> ntoskrnl.exe:ntoskrnl causes the wvista VM to crash. More specifically 
> it happens in test_driver4() on this line:
>
>     device = CreateFileA("\\\\.\\WineTestDriver4", 0, 0, NULL, OPEN_EXISTING, 0, NULL);
>
> which presumably is what triggers loading our driver so that makes 
> sense (the patch below can be used to confirm this). The BSOD says:
>
>     *** STOP: 0x0000008E (0xC000005,0x956E4AA0,0x922E0AAC,0x00000000)
>     *** dri19512.tmp - Address 956E4AA0 bqse at 956E3000, DateStamp 5fc03305
>
> So likely a NULL pointer dereference. Could this be because of a bug in 
> our test driver?
>
> For now I've set the TestBot so wvista runs WineTest wihout elevated 
> privileges which causes it to skip this test: that's the wvistaadm 
> variant.
>
> The other datapoint is that the wvistau64 VM does not crash when running 
> the 64-bit test but I don't know if that's because of the bitness or 
> some other subtle Windows version difference.
>
> wvista crash (truncated report, network connection loss, screenshot):
> https://testbot.winehq.org/JobDetails.pl?Key=82678#k101
>
> wvistau64 not crashing:
> https://testbot.winehq.org/JobDetails.pl?Key=82680#k101
>
>
>
> diff --git a/dlls/ntoskrnl.exe/tests/ntoskrnl.c b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
> index c2285aef6fc..00b845dcb0e 100644
> --- a/dlls/ntoskrnl.exe/tests/ntoskrnl.c
> +++ b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
> @@ -702,6 +702,7 @@ static void test_driver4(void)
>          DeleteFileA(filename);
>          return;
>      }
> +    exit(0);
>  
>      device = CreateFileA("\\\\.\\WineTestDriver4", 0, 0, NULL, OPEN_EXISTING, 0, NULL);
>      ok(device != INVALID_HANDLE_VALUE, "failed to open device: %u\n", GetLastError());
>
>




More information about the wine-devel mailing list