https://bugs.winehq.org/show_bug.cgi?id=46761
Bug ID: 46761 Summary: BigNox VM VirtualBox Support Driver 'YSDrv.sys' (part of NoxPlayer 6.x) crashes on unimplemented function ntoskrnl.exe.MmBuildMdlForNonPagedPool Product: Wine Version: 4.3 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ntoskrnl Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
continuation of bug 46760
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Nox/bin
$ WINEDEBUG=+seh,+relay,+ntoskrnl,+service wine ./Nox.exe >>log.txt 2>&1 ... 005f:Call ntoskrnl.exe.MmAllocateContiguousMemorySpecifyCache(00001000,000000000,0ffffffff,000000000,00000001) ret=00572a9d 005f:trace:ntoskrnl:MmAllocateContiguousMemorySpecifyCache 4096 0 ffffffff 0 1 005f:Call KERNEL32.VirtualAlloc(00000000,00001000,00003000,00000204) ret=7e97d468 005f:Ret KERNEL32.VirtualAlloc() retval=006b0000 ret=7e97d468 005f:Ret ntoskrnl.exe.MmAllocateContiguousMemorySpecifyCache() retval=006b0000 ret=00572a9d 005f:Call ntoskrnl.exe.IoAllocateMdl(006b0000,00001000,00000000,00000000,00000000) ret=00572abb 005f:trace:ntoskrnl:IoAllocateMdl (0x6b0000, 4096, 0, 0, (nil)) 005f:Call ntdll.RtlAllocateHeap(00110000,00000008,00000020) ret=7e979f8a 005f:Ret ntdll.RtlAllocateHeap() retval=0011d700 ret=7e979f8a 005f:Ret ntoskrnl.exe.IoAllocateMdl() retval=0011d700 ret=00572abb 005f:Call KERNEL32.RaiseException(80000100,00000001,00000002,0042fae8) ret=7e982d91 wine: Call from 0x7b44c03b to unimplemented function ntoskrnl.exe.MmBuildMdlForNonPagedPool, aborting --- snip ---
I'm pretty sure BigNox used the original driver from VirtualBox project almost unmodified, hence the sources should accurately resemble the runtime behaviour.
Source code of the original VBox helper driver:
https://github.com/mirror/vbox/tree/master/src/VBox/Runtime/r0drv
https://github.com/mirror/vbox/blob/master/src/VBox/Runtime/r0drv/nt/memobj-... -> rtR0MemObjNativeAllocContEx()
With a stub it runs into next problem:
--- snip --- ... 005f:Call ntoskrnl.exe.MmBuildMdlForNonPagedPool(0011d700) ret=00572ac8 005f:fixme:ntoskrnl:MmBuildMdlForNonPagedPool 0x11d700 stub 005f:Ret ntoskrnl.exe.MmBuildMdlForNonPagedPool() retval=0000003c ret=00572ac8 005f:Call ntoskrnl.exe.ExAllocatePoolWithTag(00000000,00000058,54525049) ret=0057350b 005f:Call ntdll.RtlAllocateHeap(00110000,00000000,00000058) ret=7e97c8f9 005f:Ret ntdll.RtlAllocateHeap() retval=0012e410 ret=7e97c8f9 005f:trace:ntoskrnl:ExAllocatePoolWithTag 88 pool 0 -> 0x12e410 005f:Ret ntoskrnl.exe.ExAllocatePoolWithTag() retval=0012e410 ret=0057350b 005f:Call KERNEL32.RaiseException(80000100,00000001,00000002,0042fb1c) ret=7e982e45 005f:trace:seh:raise_exception code=80000100 flags=1 addr=0x7b44c03b ip=7b44c03b tid=005f 005f:trace:seh:raise_exception info[0]=7e982e60 005f:trace:seh:raise_exception info[1]=7e98397e wine: Call from 0x7b44c03b to unimplemented function ntoskrnl.exe.ExSetTimerResolution, aborting ... --- snip ---
$ sha1sum nox_setup_v6.2.7.1_full_intl.exe c6a8ae484a3d78e5e876cb9b6440d72861e3cffe nox_setup_v6.2.7.1_full_intl.exe
$ du -sh nox_setup_v6.2.7.1_full_intl.exe 349M nox_setup_v6.2.7.1_full_intl.exe
$ wine --version wine-4.3
Regards