https://bugs.winehq.org/show_bug.cgi?id=46762
Bug ID: 46762 Summary: BigNox VM VirtualBox Support Driver 'YSDrv.sys' (part of NoxPlayer 6.x) crashes on unimplemented function ntoskrnl.exe.ExSetTimerResolution 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 46761
--- 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.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 ---
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
--- snip --- ... 005f:Call ntoskrnl.exe.ExSetTimerResolution(00002625,00000001) ret=00562722 005f:fixme:ntoskrnl:ExSetTimerResolution (9765 1) 005f:Ret ntoskrnl.exe.ExSetTimerResolution() retval=00002710 ret=00562722 005f:Call ntoskrnl.exe.KeQueryTimeIncrement() ret=00562766 005f:Ret ntoskrnl.exe.KeQueryTimeIncrement() retval=00002710 ret=00562766 005f:Call ntoskrnl.exe.ExSetTimerResolution(00002710,00000001) ret=00562775 005f:fixme:ntoskrnl:ExSetTimerResolution (10000 1) 005f:Ret ntoskrnl.exe.ExSetTimerResolution() retval=00002710 ret=00562775 005f:Call ntoskrnl.exe.ExSetTimerResolution(00000000,00000000) ret=0056277f 005f:fixme:ntoskrnl:ExSetTimerResolution (0 0) 005f:Ret ntoskrnl.exe.ExSetTimerResolution() retval=00002710 ret=0056277f 005f:Call ntoskrnl.exe.KeQueryInterruptTime() ret=00561dff 005f:Call ntdll.NtGetTickCount() ret=7e97d098 005f:Ret ntdll.NtGetTickCount() retval=01b3759d ret=7e97d098 005f:Ret ntoskrnl.exe.KeQueryInterruptTime() retval=01b3759d ret=00561dff ... 005f:Call ntoskrnl.exe.KeQueryTimeIncrement() ret=00562766 005f:Ret ntoskrnl.exe.KeQueryTimeIncrement() retval=00002710 ret=00562766 005f:Call ntoskrnl.exe.ExSetTimerResolution(00002710,00000001) ret=00562775 005f:fixme:ntoskrnl:ExSetTimerResolution (10000 1) 005f:Ret ntoskrnl.exe.ExSetTimerResolution() retval=00002710 ret=00562775 005f:Call ntoskrnl.exe.ExSetTimerResolution(00000000,00000000) ret=0056277f 005f:fixme:ntoskrnl:ExSetTimerResolution (0 0) 005f:Ret ntoskrnl.exe.ExSetTimerResolution() retval=00002710 ret=0056277f 005f:Call ntoskrnl.exe.KeQueryInterruptTime() ret=00561dff 005f:Call ntdll.NtGetTickCount() ret=7e97d098 005f:Ret ntdll.NtGetTickCount() retval=01b3759d ret=7e97d098 005f:Ret ntoskrnl.exe.KeQueryInterruptTime() retval=01b3759d ret=00561dff ... --- 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