[CORE-5127] advapi32: OpenTraceA (Sysinternals DiskMon2.01 dies with unhandled exception upon startup) Created: 2010-09-28  Updated: 2018-01-07  Resolved: 2018-01-07

Status: Resolved
Project: Core ReactOS
Component/s: Win32SS
Fix Version/s: 0.4.8

Type: Improvement Priority: Major
Reporter: Haos Assignee: Mark Jansen
Resolution: Fixed Votes: 1
Labels: None

Operating System: ReactOS
Platform: x86 Hardware

Attachments: Text File opentrace.patch    
Issue Links:
relates to CORE-10312 Process Explorer does not work Resolved
Module: advapi32
External URL: http://www.reactos.org/bugzilla/show_bug.cgi?id=5643
External issue ID: 5643


This API is required by SysInternals DiskMon tool.

(lib\rtl\actctx.c:2007) looking for name=Microsoft.Windows.Common-Controls version= arch=x86
(dll\win32\kernel32\except\except.c:429) Missing function in : advapi32.dll
(dll\win32\kernel32\except\except.c:430) with the functionname : OpenTraceA
Unhandled exception
ExceptionCode: 80000100
CS:EIP 1b:7c702023
DS 23 ES 23 FS 3b GS 0
EAX: 0166f918 EBX: 0166f98c ECX: 0166f660
EDX: 0000004c EBP: 0166f974 ESI: 0166f918 ESP: 0166f90c
EDI: 77e07e01 EFLAGS: 00000246
7c700000+2023 kernel32.dll (dll/win32/kernel32/except/except.c:435 (RaiseException@16))
77dc0000+2444d advapi32.dll (obj-i386/dll/win32/advapi32/advapi32_advapi32.stubs.c:16 (T.31))
77dc0000+24b67 advapi32.dll (obj-i386/dll/win32/advapi32/advapi32_advapi32.stubs.c:141 (__wine_stub_advapi32_dll_440))
400000+7834 Diskmon.exe
7c700000+322c0 kernel32.dll
(subsystems\win32\csrss\csrsrv\api\wapi.c:115) CSR: received hard error c0000144

Comment by Ged [ 2010-09-29 ]

It isn't as easy as just implementing the function, this is a lot of work.

The whole framework from WMI and performance counters in the kernel through to the ETL listeners and providers.

I very much doubt we'll see this any time soon.

Maybe resolve it to 'fix later' ?

Comment by Haos [ 2010-09-29 ]

I`d prefer leaving it as a remainder. Closed bugs are forgotten way to soon.

Comment by Ged [ 2010-09-30 ]

It isn't really a bug, it's a missing framework.
I'll be surprised if it ever gets implemented in my lifetime.

Comment by encoded [ 2010-09-30 ]

this exception is easily fixed by implementing a real stub in advapi instead of using the spec file stub, at least allowing the program to run...

Comment by gonzoMD [ 2014-06-12 ]

This patch stubplements both A and W functions
Source: http://www.winehq.org/pipermail/wine-patches/2011-April/101363.html

But sadly it doesn't fix the exception encoded

Comment by gonzoMD [ 2014-06-12 ]

Update the INVALID_PROCESSTRACE_HANDLE definition according to:

<@HeisSpiter> [11:40:03] <+gonzoMD> no the correct but differently defined: http://source.winehq.org/git/wine.git/?a=search&h=HEAD&st=grep&s=INVALID_PROCESSTRACE_HANDLE <== I'd use that one

Comment by Jedi-to-be [ 2015-04-26 ]

Please retest

Comment by reactosfanboy [ 2018-01-06 ]

0.4.8-dev-624-g48382d1 retested. Exception persists.

Comment by reactosfanboy [ 2018-01-07 ]

confirmed to be fixed by 0.4.8-dev-646-gd0f3fa5 (& 0.4.8-dev-645-ge3459ec) of PR-267.
Thank you very much Mark Jansen.
I tested before and after using the affected Diskmon 2.01.
We see no exception anymore. The tool starts up now.
We can not capture any disk/IO with it yet. We will really need to implement the etw-API for that I guess.

Generated at Sat Dec 15 18:32:28 UTC 2018 using Jira 7.12.3#712004-sha1:5ef91d760d7124da5ebec5c16a948a4a807698df.