IE6 install Regression

Mike McCormack mike at
Sat Oct 23 03:02:24 CDT 2004

Eric Pouech wrote:

> could you be more precise on the crash:
> - where does it take place ?

OK, I've included the full backtrace below.

> - are you running native msvcrt or builtin ?

Seems like the process has neither loaded.

> - does IE6 installer use msvcrt at all ?

I don't think so.  In any case, there's no msvcrt.dll in Windows\System 
at this stage of the install.

> - does this error araise from a child process ? if so, which parameters 
> are given in CreateProcess. Is the parent process using msvcrt (native, 
> builtin) ?

Yes, It's from a child process.

001d:Call kernel32.CreateProcessA(00000000,77adf880 "acmsetup /T 
nashbase.stf  /S C:\\Windows\\msdownld.tmp\\A
S02A93E.tmp\\ /QT /g \"C:\\Windows\\IE Setup 
77adf7f4,77adf854) ret=010012da

I've put a full log at:

> - does fixing the copy&paste error in dlls/kernel/environ.c at 
> ENV_CopyStartupInformation (startup_infoA.cb should be 
> sizeof(startup_infoA) not sizeof(startup_infoW)) help somewhere ?

No.  The (incorrect) patch below fixes the problem.  My guess is that 
IE6 is using the reserved fields somehow.


diff -u -r1.1.1.2 environ.c
--- dlls/kernel/environ.c       8 Sep 2004 02:31:38 -0000
+++ dlls/kernel/environ.c       23 Oct 2004 06:05:47 -0000
@@ -462,8 +462,8 @@
      startup_infoA.dwFillAttribute      = rupp->dwFillAttribute;
      startup_infoA.dwFlags              = rupp->dwFlags;
      startup_infoA.wShowWindow          = rupp->wShowWindow;
-    startup_infoA.cbReserved2          = rupp->RuntimeInfo.Length;
-    startup_infoA.lpReserved2          = (void*)rupp->RuntimeInfo.Buffer;
+    startup_infoA.cbReserved2          = 0;
+    startup_infoA.lpReserved2          = 0;
      startup_infoA.hStdInput            = rupp->hStdInput;
      startup_infoA.hStdOutput           = rupp->hStdOutput;
      startup_infoA.hStdError            = rupp->hStdError;

Unhandled exception: page fault on read access to 0x77fd04e4 in 32-bit 
code (0x500b354f).
In 32 bit mode.
Register dump:
  CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:0000
  EIP:500b354f ESP:77adfd3c EBP:77adfd90 EFLAGS:00210202(   - 00      - 
  EAX:004d0000 EBX:77efd748 ECX:00000040 EDX:77b004e0
  ESI:77fd04e4 EDI:500c7ab8
Stack dump:
0x77adfd3c:  00000001 00000001 77efd748 00000044
0x77adfd4c:  00000000 00000000 00000000 00000000
0x77adfd5c:  00000000 00000000 00000000 00000000
0x77adfd6c:  00000000 00000000 00000000 00000000
0x77adfd7c:  77b004e0 00000008 0000000c 00000010
0x77adfd8c:  004d0000 77adfdb0 500b20e3 500b218b
=>1 0x500b354f (0x77adfd90)
   2 0x500b20e3 (0x77adfdb0)
   3 0x77ec7bae call_dll_entry_point+0x12 in ntdll (0x77adfdc8)
   4 0x77ec8dbd MODULE_InitDLL+0xfd(wm=0x77c20c18, reason=0x1, 
[/home/mike/codeweavers/office/wine/dlls/ntdll/loader.c:741] in ntdll 
   5 0x77ec8fc7 process_attach+0x107(wm=0x77c20c18, lpReserved=0x1) 
[/home/mike/codeweavers/office/wine/dlls/ntdll/loader.c:814] in ntdll 
   6 0x77ec8ffd process_attach+0x13d(wm=0x77c20690, lpReserved=0x1) 
[/home/mike/codeweavers/office/wine/dlls/ntdll/loader.c:806] in ntdll 
   7 0x77ecb473 LdrInitializeThunk+0x203(main_file=0x4, unknown2=0x0, 
unknown3=0x0, unknown4=0x0) 
[/home/mike/codeweavers/office/wine/dlls/ntdll/loader.c:1913] in ntdll 
   8 0x77b8828d start_process+0x9d(arg=0x0) 
[/home/mike/codeweavers/office/wine/dlls/kernel/process.c:1012] in 
kernel32 (0x77adfff4)
   9 0xb7fd4dfd wine_switch_to_stack+0x11 in (0x00000000)
0x500b354f: repe movsl  (%esi),%es:(%edi)
Module  Address                 Debug info      Name (52 modules)
PE      0x00400000-0045c000     Deferred        acmsetup
PE      0x50090000-500d8000     Export          mssetup
PE      0x65f00000-65fc2000     Deferred        ole32
ELF     0x77607000-776b1000     Deferred        comctl32<elf>
   \-PE  0x77620000-776b1000     \               comctl32
ELF     0x776b1000-77708000     Deferred        shlwapi<elf>
   \-PE  0x776d0000-77708000     \               shlwapi
ELF     0x77708000-777bb000     Deferred        shell32<elf>
   \-PE  0x77720000-777bb000     \               shell32
ELF     0x777bb000-777d1000     Deferred        lz32<elf>
   \-PE  0x777c0000-777d1000     \               lz32
ELF     0x777d1000-777eb000     Deferred        version<elf>
   \-PE  0x777e0000-777eb000     \               version
ELF     0x777eb000-77809000     Deferred        mpr<elf>
   \-PE  0x777f0000-77809000     \               mpr
ELF     0x77809000-7788c000     Deferred        gdi32<elf>
   \-PE  0x77820000-7788c000     \               gdi32
ELF     0x7788c000-779a9000     Deferred        user32<elf>
   \-PE  0x778b0000-779a9000     \               user32
ELF     0x779a9000-779e0000     Deferred        advapi32<elf>
   \-PE  0x779c0000-779e0000     \               advapi32
ELF     0x77b10000-77c20000     Stabs           kernel32<elf>
   \-PE  0x77b40000-77c20000     \               kernel32
ELF     0x77d3c000-77d51000     Deferred
ELF     0x77d51000-77d5d000     Deferred
ELF     0x77d69000-77d8c000     Deferred
ELF     0x77d98000-77e8b000     Deferred
ELF     0x77e8b000-77f00000     Stabs           ntdll<elf>
   \-PE  0x77eb0000-77f00000     \               ntdll
ELF     0x77f00000-77f07000     Deferred        <wine-loader>
ELF     0x7fc8a000-7fca8000     Deferred        imm32<elf>
   \-PE  0x7fc90000-7fca8000     \               imm32
ELF     0x7fca8000-7fcc6000     Deferred
ELF     0x7fd0a000-7fd0e000     Deferred
ELF     0x7fd1a000-7fd22000     Deferred
ELF     0x7fd22000-7fd2b000     Deferred
ELF     0x7fd2b000-7fd7c000     Deferred
ELF     0x7fd7c000-7fdef000     Deferred
ELF     0x7fdef000-7feb6000     Deferred
ELF     0x7feb6000-7fec4000     Deferred
ELF     0x7fec4000-7fec9000     Deferred
ELF     0x7fec9000-7fee0000     Deferred
ELF     0x7fee0000-7fee9000     Deferred
ELF     0x7fef2000-7fef5000     Deferred
ELF     0x7fef5000-7ff78000     Deferred        x11drv<elf>
   \-PE  0x7ff10000-7ff78000     \               x11drv
ELF     0x7ff78000-7ff85000     Deferred
ELF     0x7ff91000-80000000     Deferred
ELF     0xb7e8b000-b7e8e000     Deferred
ELF     0xb7e8e000-b7fc4000     Deferred
ELF     0xb7fd0000-b7fe9000     DIA   
ELF     0xb7fea000-b8000000     Deferred
process  tid      prio (all id:s are in hex)
0000001e (D) C:\Windows\msdownld.tmp\AS004145.tmp\acmsetup.exe
         0000001f    0 <==
         0000001d    0
         00000017    0
         00000014    0
         00000011    0
         0000000b    0
         00000009    0
WineDbg terminated on pid 0x1e

More information about the wine-devel mailing list