http://bugs.winehq.org/show_bug.cgi?id=5322
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #29 from Anastasius Focht focht@gmx.net 2008-03-20 17:23:32 --- Hello,
just adding another app which needs HKEY_PERFORMANCE_DATA (.NET based). Someone in wine-users mentioned it: http://www.winehq.org/pipermail/wine-users/2008-March/030452.html
--- quote --- But i tried a different program with uses the .NET Framework 1.1. Here is the Link http://www.winload.de/screenshots/41122/Internet/Internettools/DSLWatch.NET....
Installation works fine, after starting the Program the same crash appears. With an other .NET DLL but i think the problem is the same. --- quote ---
In most cases, the console FIXME's from .NET based apps should not be used to make assumptions of the cause of failures. I'd prefer that people just file bug reports rather than trying to guess stuff they don't know about - even if it resolves to dupe in the end...
With each .NET app examined, more gaps/bugs in wine APIs are discovered - which is a good thing (tm).
The app mentioned above makes use of .NET's System.Diagnostics.PerformanceCounter[*]
--- snip trace --- .. 0035:Call advapi32.RegQueryValueExW(80000004,047a5aac L"Global",00000000,00000000,00179d98,0033f3b8) ret=003fa67d 0035:trace:reg:RegQueryValueExW (0x80000004,L"Global",(nil),(nil),0x179d98,0x33f3b8=128000) 0035:trace:reg:NtCreateKey ((nil),L"PerfData",<null>,0,f003f,0x33f0e8) 0035:trace:reg:NtCreateKey <- 0x17c 0035:trace:reg:create_special_root_hkey L"PerfData" -> 0x17c 0035:trace:reg:NtQueryValueKey (0x17c,L"Global",2,0x33f170,256) 0035:Ret advapi32.RegQueryValueExW() retval=00000002 ret=003fa67d .. 0035:Call KERNEL32.RaiseException(e0434f4d,00000001,00000000,00000000) ret=7921020d 0035:trace:seh:raise_exception code=e0434f4d flags=1 addr=0x7b8419a0 0035:trace:seh:raise_exception eax=7b82c3e9 ebx=7b8af3e4 ecx=00000000 edx=00000000 esi=0033f2c0 edi=0033f240 0035:trace:seh:raise_exception ebp=0033f228 esp=0033f1c4 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00200246 0035:trace:seh:call_stack_handlers calling handler at 0x7920fd39 code=e0434f4d flags=1 --- snip trace ---
--- snip managed callstack --- 0)* system!System.Diagnostics.PerformanceMonitor::GetData +0299 item=(0x047b5724) "Global" 1) system!System.Diagnostics.PerformanceCounterLib::GetPerformanceData +00aa item=(0x047b5724) "Global" 2) system!System.Diagnostics.PerformanceCounterLib::get_CategoryTable +00e7 3) system!System.Diagnostics.PerformanceCounterLib::CounterExists +0033 category=(0x047b434c) "RAS insgesamt" counter=(0x047b4378) "Bytes gesendet" categoryExists=(0x0034f468) false 4) system!System.Diagnostics.PerformanceCounterLib::CounterExists +005d machine=(0x04797374) "." category=(0x047b434c) "RAS insgesamt" counter=(0x047b4378) "Bytes gesendet" 5) system!System.Diagnostics.PerformanceCounter::Initialize +0187 .. --- snip managed callstack ---
By adding fake HKEY_PERFORMANCE_DATA (starting with Global:DWORD=xxxx) one can get the app at least start (after following usual .NET 1.x howto). Though the app is pretty useless for now because the real perf data/counters are missing.
Maybe the performance data/counters problem domain could be made SoC project. Or have at least one volunteer work on it - even if it's long term/low prio. It isn't that hard.
Regards