[Bug 10134] New: regtlib.exe from .NET 1.1's dotnetfx. exe installer crashes with heap problem

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Oct 22 07:27:34 CDT 2007


http://bugs.winehq.org/show_bug.cgi?id=10134

           Summary: regtlib.exe from .NET 1.1's dotnetfx.exe installer
                    crashes with heap problem
           Product: Wine
           Version: CVS/GIT
          Platform: Other
               URL: http://www.microsoft.com/downloads/details.aspx?displayl
                    ang=en&FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3
        OS/Version: other
            Status: NEW
          Keywords: download, Installer
          Severity: normal
          Priority: P2
         Component: wine-ole
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: dank at kegel.com


This one was mentioned at the end of bug 5358, but I only just
now got around to isolating it.  I ran into this in the context of bug
5358 (Microsoft Dynamics GP Trial).  That app comes with dotnetfx.exe,
which fails to install.  The problem is a heap corruption or something
in our COM implementation, as it fails slightly faster and cleaner with
WINEDEBUG=warn+heap, and succeeds with native dcom98.
The problem can be reproduced with the .net 1.1 installer downloadable
from Microsoft.  This has the same md5 signature as the one on the cdrom.

Oddly, when I first hit this it took ten seconds, the second
time it took half an hour, no idea why the speed difference.
I think it might be WINEDEBUG=warn+heap makes it run slow,
that's another sign of an uninitialized variable.

Here's the script I used to demonstrate the bug.  I'll attach fail.log.

set -x
wineserver -k
rm -rf .wine
export WINE=$HOME/wine-git/wine
export WINEPREFIXCREATE=$HOME/wine-git/tools/wineprefixcreate
sh ~/bin/winetricks fakeie6 

# install .net 1.1
test -f dotnetfx.exe || wget
http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe
# fwiw, md5sum dotnetfx.exe is 52456ac39bbb4640930d155c15160556

# 
WINEDEBUG=warn+heap,+process $WINE dotnetfx.exe 

# Here's how it fails:
#trace:process:CreateProcessW app
L"c:\\windows\\system32\\URTTEMP\\regtlib.exe" cmdline
L"\"c:\\windows\\system32\\URTTEMP\\regtlib.exe\"
\"c:\\windows\\Microsoft.NET\\Framework\\v1.1.4322\\mscorlib.tlb\""
#warn:heap:HEAP_ValidateInUseArena Heap 0x110000: invalid in-use arena magic
for 0x11a1a8
#wine: Unhandled page fault on read access to 0xaaaaaaba at address 0x7ec89683
(thread 0023), starting debugger...

# OK, so run just the failing command:
WINEDEBUG=warn+heap,+ole $WINE c:\\windows\\system32\\URTTEMP\\regtlib.exe
c:\\windows\\Microsoft.NET\\Framework\\v1.1.4322\\mscorlib.tlb > fail.log 2>&1

# Yep, that fails very nicely -- but passes with native dcom98!
sh ~/bin/winetricks dcom98
WINEDEBUG=warn+heap,+process $WINE c:\\windows\\system32\\URTTEMP\\regtlib.exe
c:\\windows\\Microsoft.NET\\Framework\\v1.1.4322\\mscorlib.tlb > ok.log 2>&1


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list