[Bug 46760] New: BigNox VM VirtualBox Support Driver 'YSDrv.sys' ( part of NoxPlayer 6.x) fails to load, needs ' ntoskrnl.exe.MmAllocateContiguousMemorySpecifyCache' implementation

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Mar 3 11:30:56 CST 2019


https://bugs.winehq.org/show_bug.cgi?id=46760

            Bug ID: 46760
           Summary: BigNox VM VirtualBox Support Driver 'YSDrv.sys' (part
                    of NoxPlayer 6.x) fails to load, needs
                    'ntoskrnl.exe.MmAllocateContiguousMemorySpecifyCache'
                    implementation
           Product: Wine
           Version: 4.3
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ntoskrnl
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

as it says.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Nox/bin

$ WINEDEBUG=+seh,+relay,+ntoskrnl,+service wine ./Nox.exe >>log.txt 2>&1
...
005f:trace:service:QueryServiceConfigW Image path           = L"C:\\Program
Files\\Bignox\\BigNoxVM\\RT\\YSDrv.sys"
005f:trace:service:QueryServiceConfigW Group                = L""
005f:trace:service:QueryServiceConfigW Dependencies         = L""
005f:trace:service:QueryServiceConfigW Service account name = L"LocalSystem"
005f:trace:service:QueryServiceConfigW Display name         = L"VBox Support
Driver"
005f:Ret  advapi32.QueryServiceConfigW() retval=00000001 ret=7e98086a
005f:trace:ntoskrnl:open_driver opened service for driver
L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\YSDrv"
...
005f:trace:ntoskrnl:load_driver loading driver L"C:\\Program
Files\\Bignox\\BigNoxVM\\RT\\YSDrv.sys"
005f:Call KERNEL32.LoadLibraryW(0011d8c8 L"C:\\Program
Files\\Bignox\\BigNoxVM\\RT\\YSDrv.sys") ret=7e980aa2 
...
005f:trace:ntoskrnl:load_driver_module L"C:\\Program
Files\\Bignox\\BigNoxVM\\RT\\YSDrv.sys": relocating from 0x400000 to 0x550000 
...
005f:Call driver init 0x560920
(obj=0x11d788,str=L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\YSDrv") 
...
005f:Call
ntoskrnl.exe.MmAllocateContiguousMemorySpecifyCache(00001000,000000000,0ffffffff,000000000,00000001)
ret=00572a9d
005f:fixme:ntoskrnl:MmAllocateContiguousMemorySpecifyCache : stub
005f:Ret  ntoskrnl.exe.MmAllocateContiguousMemorySpecifyCache() retval=00000000
ret=00572a9d
DbgPrint says: supdrvGipCreate: failed to allocate the GIP page. rc=-8 
...
005f:Ret  driver init 0x560920
(obj=0x11d788,str=L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\YSDrv")
retval=e986fff8
005f:trace:ntoskrnl:init_driver init done for L"YSDrv" obj 0x11d788
005f:trace:ntoskrnl:init_driver - DriverInit = 0x560920
005f:trace:ntoskrnl:init_driver - DriverStartIo = (nil)
005f:trace:ntoskrnl:init_driver - DriverUnload = (nil)
005f:trace:ntoskrnl:init_driver - MajorFunction[0] = 0x7e97aeed
...
005f:trace:ntoskrnl:init_driver - MajorFunction[27] = 0x7e97aeed
005f:trace:ntoskrnl:ObDereferenceObject (0x11d788) ref=0
...
005f:err:ntoskrnl:ZwLoadDriver failed to create driver
L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\YSDrv": e986fff8 
--- 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-r0drv-nt.cpp#L336
 -> rtR0MemObjNativeAllocContEx()

With an implementation it runs further - into next bug.

--- snip ---
...
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 ---

$ 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

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list