[Bug 12099] New: .NET Framework 1.1 installer requires loadperf. dll in case of AeDebug -> Auto=0 (unhandled exception dialog)
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Mar 18 15:52:42 CDT 2008
http://bugs.winehq.org/show_bug.cgi?id=12099
Summary: .NET Framework 1.1 installer requires loadperf.dll in
case of AeDebug -> Auto=0 (unhandled exception dialog)
Product: Wine
Version: CVS/GIT
Platform: All
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs at winehq.org
ReportedBy: focht at gmx.net
Created an attachment (id=11486)
--> (http://bugs.winehq.org/attachment.cgi?id=11486)
example patch to add loadperf.dll and simple UnloadPerfCounterTextStringsW stub
preventing .NET 1.1 installer exception
Hello,
VS.NET 7.x installers modify AeDebug which results in error message box from
.NET Framework 1.1 installer due to an unhandled exception.
With default AeDebug Auto=1 and standalone .NET 1.1 installation you won't
notice it because this exception doesn't affect overall "success" result of
installer.
You can capture output from console to see winedbg actually spawned.
VS.NET 7.x installers add/modify the following JIT debugging keys:
--- snip ---
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\AeDebug\Debugger
Auto: 1 -> 0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger
Default: cordbg.exe !a 0x%x8
--- snip ---
Extract from .msi file:
--- snip ---
_FldbVs7eve_RegFile_887_00017.3643236F_FC70_11D3_A536_0090278A1BB8 2
SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug Auto 0
_VS_Debugging___VS7JIT_____X86.3643236F_FC70_11D3_A536_0090278A1BB8)
..
--- snip ---
You can simulate the behaviour on clean ~/.wine if you manually set
AeDebug/Auto=0 (default is 1) and then execute the standalone .NET 1.1
installer.
--- snip ---
002d:Call KERNEL32.lstrlenA(0034f55c "2008-03-17
21:20:25\t\tStarting\tUninstalling performance counters\r\n") ret=79e88b92
..
002d:Call KERNEL32.LoadLibraryA(79e61310 "loadperf.dll") ret=79e907ed
002d:Ret KERNEL32.LoadLibraryA() retval=00000000 ret=79e907ed
002d:Call KERNEL32.GetLastError() ret=79e907f9
002d:Ret KERNEL32.GetLastError() retval=0000007e ret=79e907f9
002d:Call KERNEL32.RaiseException(c06d007e,00000000,00000001,0034f960)
ret=79e9082c
002d:trace:seh:raise_exception code=c06d007e flags=0 addr=0x7b8419a0
002d:trace:seh:raise_exception info[0]=0034f910
002d:trace:seh:raise_exception eax=7b82c3e9 ebx=7b8af3e4 ecx=00000000
edx=0034f904 esi=0034f904 edi=0034f880
002d:trace:seh:raise_exception ebp=0034f868 esp=0034f804 cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00200212
002d:trace:seh:call_stack_handlers calling handler at 0x402518 code=c06d007e
flags=0
..
002d:Call KERNEL32.UnhandledExceptionFilter(0034f350) ret=7c34c456
wine: Unhandled exception 0xc06d007e at address 0x7b8419a0 (thread 002d),
starting debugger...
002d:Call user32.MessageBoxA(00000000,0034efd8 "Unhandled exception 0xc06d007e
at address 0x7b8419a0.\nDo you wish to debug it?",7b8a3e47 "Exception
raised",00000014) ret=7b841deb
--- snip ---
The message box is shown with the option to dismiss the exception or to debug
it.
This can be pretty confusing to users who have no knowledge how to deal with
this.
Well, actually this exception should never occur.
Wine can prevent this problem by providing a simple loadperf.dll and
UnloadPerfCounterTextStringsW stub.
Output after patch:
--- snip ---
0041:Ret KERNEL32.LoadLibraryA() retval=607d0000 ret=79e907ed
0041:Call KERNEL32.InterlockedExchange(79e96fa8,607d0000) ret=79e9083e
0041:Ret KERNEL32.InterlockedExchange() retval=00000000 ret=79e9083e
0041:Call KERNEL32.GetProcAddress(607d0000,79e919b4
"UnloadPerfCounterTextStringsW") ret=79e908c4
0041:Ret KERNEL32.GetProcAddress() retval=607d8808 ret=79e908c4
0041:Call loadperf.UnloadPerfCounterTextStringsW(0034f9d0 L"u
\"ASP.NET_1.1.4322\"",00000001) ret=79e86e64
0041:fixme:loadperf:UnloadPerfCounterTextStringsW (L"u \"ASP.NET_1.1.4322\"",
1): stub!
0041:Ret loadperf.UnloadPerfCounterTextStringsW() retval=00000000 ret=79e86e64
--- snip ---
Please add this dll and the UnloadPerfCounterTextStringsW stub.
The attached patch is provided as example to quickly validate the problem
solution.
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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