[Bug 45448] New: vSphere 5.5 client 'hcmon.sys' driver crashes on unimplemented function ntoskrnl.exe.KeFlushQueuedDpcs

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Jul 13 17:12:01 CDT 2018


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

            Bug ID: 45448
           Summary: vSphere 5.5 client 'hcmon.sys' driver crashes on
                    unimplemented function ntoskrnl.exe.KeFlushQueuedDpcs
           Product: Wine
           Version: 3.12
          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,

continuation of bug 45378

Prerequisite:

* .NET Framework 3.5 (SP1) installation ('winetricks -q dotnet35sp1')

Happens on teardown/unloading.

--- snip ---
$ WINEDEBUG=+seh,+relay,+ntoskrnl,+service wineboot >>log.txt 2>&1
...
0022:Ret  advapi32.SetServiceStatus() retval=00000001 ret=7effb431
0022:Call driver unload 0x782f60 (obj=0x11cc98)
0022:Call ntoskrnl.exe.RtlInitUnicodeString(0076fc74,007859fc
L"\\DosDevices\\hcmon") ret=00782f8b
0022:Call ntdll.RtlInitUnicodeString(0076fc74,007859fc L"\\DosDevices\\hcmon")
ret=7bc81503
0022:Ret  ntdll.RtlInitUnicodeString() retval=0076fc74 ret=7bc81503
0022:Ret  ntoskrnl.exe.RtlInitUnicodeString() retval=0076fc74 ret=00782f8b
0022:Call ntoskrnl.exe.IoDeleteSymbolicLink(0076fc74) ret=00782f95
0022:Call ntdll.NtOpenSymbolicLinkObject(0076fc00,00000000,0076fbe8)
ret=7e986ad9
0022:Ret  ntdll.NtOpenSymbolicLinkObject() retval=00000000 ret=7e986ad9
0022:Call ntdll.NtClose(00000050) ret=7e986b52
0022:Ret  ntdll.NtClose() retval=00000000 ret=7e986b52
0022:Ret  ntoskrnl.exe.IoDeleteSymbolicLink() retval=00000000 ret=00782f95
0022:Call ntoskrnl.exe.IoUnregisterPlugPlayNotification(00000000) ret=00782fa3
0022:fixme:ntoskrnl:IoUnregisterPlugPlayNotification stub: (nil)
0022:Ret  ntoskrnl.exe.IoUnregisterPlugPlayNotification() retval=00000000
ret=00782fa3
0022:Call ntoskrnl.exe.IoUnregisterPlugPlayNotification(00000000) ret=00782fab
0022:fixme:ntoskrnl:IoUnregisterPlugPlayNotification stub: (nil)
0022:Ret  ntoskrnl.exe.IoUnregisterPlugPlayNotification() retval=00000000
ret=00782fab
0022:Call ntoskrnl.exe.KeSetEvent(00120f70,00000000,00000000) ret=00782fc1
0022:fixme:ntoskrnl:KeSetEvent (0x120f70, 0, 0): stub
0022:Ret  ntoskrnl.exe.KeSetEvent() retval=00000000 ret=00782fc1
0022:Call
ntoskrnl.exe.KeWaitForSingleObject(deadbeaf,00000000,00000000,00000000,00000000)
ret=00782fd1
0022:fixme:ntoskrnl:KeWaitForSingleObject stub: 0xdeadbeaf, 0, 0, 0, (nil)
0022:Ret  ntoskrnl.exe.KeWaitForSingleObject() retval=c0000002 ret=00782fd1
0022:Call ntoskrnl.exe.ExFreePoolWithTag(0011ce60,63684d76) ret=00782fe2
0022:trace:ntoskrnl:ExFreePoolWithTag 0x11ce60
0022:Call ntdll.RtlFreeHeap(00110000,00000000,0011ce60) ret=7e987d37
0022:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7e987d37
0022:Ret  ntoskrnl.exe.ExFreePoolWithTag() retval=00000001 ret=00782fe2
0022:trace:ntoskrnl:ObDereferenceObject (0xdeadbeaf): stub
0022:Call KERNEL32.RaiseException(80000100,00000001,00000002,0076fc40)
ret=7e98c13a
0022:trace:seh:raise_exception code=80000100 flags=1 addr=0x7b447132
ip=7b447132 tid=0022
0022:trace:seh:raise_exception  info[0]=7e98c160
0022:trace:seh:raise_exception  info[1]=7e98e78d
0022:trace:seh:call_vectored_handlers calling handler at 0x7e983675
code=80000100 flags=1
0022:trace:seh:call_vectored_handlers handler at 0x7e983675 returned 0
0022:trace:seh:call_stack_handlers calling handler at 0x7bcb3cd2 code=80000100
flags=1
0022:Call KERNEL32.UnhandledExceptionFilter(0076f6f4) ret=7bcb3d0d
0022:trace:seh:start_debugger Starting debugger "winedbg --auto 27 80"
0022:err:seh:start_debugger Couldn't start debugger ("winedbg --auto 27 80")
(1115) 
...
wine: Unimplemented function ntoskrnl.exe.KeFlushQueuedDpcs called at address
0x7b447132 (thread 0022), starting debugger... 
--- snip ---

API:
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/wdm/nf-wdm-keflushqueueddpcs

--- quote ---
KeFlushQueuedDpcs function

The KeFlushQueuedDpcs routine returns after all queued DPCs on all processors
have executed.
Syntax

NTKERNELAPI VOID KeFlushQueuedDpcs(

);

Parameters

This function has no parameters.
Return Value

None
Remarks

Drivers can use this routine to wait until all currently-queued DPCs are run.
Note that KeFlushQueuedDpcs can take a long time to return, so drivers should
not use it along any critical code paths.
--- quote ---

$ sha1sum VMware-viclient-all-5.5.0-1281650.exe 
dccbf3e787f05f7930ed712007375188ea99f009  VMware-viclient-all-5.5.0-1281650.exe

$ du -sh VMware-viclient-all-5.5.0-1281650.exe 
349M    VMware-viclient-all-5.5.0-1281650.exe

$ wine --version
wine-3.12-110-g414fe80aeb

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