[Bug 19040] AOL 9.0VR: wmp9 sub-installer crashes while registering drmclien.dll

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Nov 4 17:54:33 CDT 2011


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download, regression
                URL|http://www.aol.com          |http://download.newaol.com/
                   |                            |clients/bush/waol/4327.271.
                   |                            |1/install/setup.exe
                 CC|                            |focht at gmx.net
          Component|-unknown                    |ntdll
            Summary|AOL cd installer crashes on |AOL 9.0VR: wmp9
                   |launch                      |sub-installer crashes while
                   |                            |registering drmclien.dll
    Regression SHA1|                            |33255ee6ecf48725e8e061313da
                   |                            |8f387a5714e44

--- Comment #2 from Anastasius Focht <focht at gmx.net> 2011-11-04 17:54:33 CDT ---
Hello,

it seems there is some official website describing how to recreate AOL CDs ;-)

http://help.aol.com/help/microsites/microsite.do?cmd=displayKCPopup&docType=kc&externalId=14113

AOL 9.0 Installer download:

http://download.newaol.com/clients/bush/waol/4327.271.1/install/setup.exe

There is a crash near the end when running Windows Media Player 9.0 setup.
Can be reproduced manually by running:

~/.wine/drive_c/windows/system32$ wine regsvr32.exe drmclien.dll

+tid,+seh,+relay gives:

--- snip ---
0033:Call KERNEL32.VirtualProtect(091bba0d,00000787,00000008,0032f648)
ret=091c580a
0033:trace:virtual:NtProtectVirtualMemory 0xffffffff 0x91bba0d 00000787
00000008
0033:Ret  KERNEL32.VirtualProtect() retval=00000000 ret=091c580a
0033:trace:seh:raise_exception code=c0000005 flags=0 addr=0x91c556b ip=091c556b
tid=0033
0033:trace:seh:raise_exception  info[0]=00000001
0033:trace:seh:raise_exception  info[1]=091bba6d
0033:trace:seh:raise_exception  eax=091bba6d ebx=091bc193 ecx=091bba68
edx=00000089 esi=0032fe18 edi=00000000
0033:trace:seh:raise_exception  ebp=0032f5a8 esp=0032f59c cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00210202
0033:trace:seh:call_stack_handlers calling handler at 0x7bc98075 code=c0000005
flags=0
0033:Call KERNEL32.UnhandledExceptionFilter(0032f074) ret=7bc980af
wine: Unhandled page fault on write access to 0x091bba6d at address 0x91c556b
(thread 0033), starting debugger... 
--- snip ---

Winedbg session:

--- snip ---
Wine-dbg>bt
Backtrace:
=>0 0x7bc90243 get_vprot_flags+0x3(protect=0x8, vprot=0x33f558)
[/home/focht/projects/wine/wine-git/dlls/ntdll/virtual.c:560] in ntdll
(0x0033f454)
  1 0x7bc9489e NtProtectVirtualMemory+0x181(process=0xffffffff,
addr_ptr=0x33f5d0, size_ptr=0x33f5d4, new_prot=0x8, old_prot=0x33f648)
[/home/focht/projects/wine/wine-git/dlls/ntdll/virtual.c:2090] in ntdll
(0x0033f584)
  2 0x7b87ce45 VirtualProtectEx+0x2c(process=0xffffffff, addr=0x91bba0d,
size=0x787, new_prot=0x8, old_prot=0x33f648)
[/home/focht/projects/wine/wine-git/dlls/kernel32/virtual.c:241] in kernel32
(0x0033f5c4)
  3 0x7b87ce0e VirtualProtect+0x39(addr=0x91bba0d, size=0x787, new_prot=0x8,
old_prot=0x33f648)
[/home/focht/projects/wine/wine-git/dlls/kernel32/virtual.c:217] in kernel32
(0x0033f5f4)
  4 0x091c580a in drmclien (+0x25809) (0x0033f610)
  5 0x091c36a4 in drmclien (+0x236a3) (0x0033f64c)
  6 0x091bba08 in drmclien (+0x1ba07) (0x0033fd48)
  7 0x091b2647 in drmclien (+0x12646) (0x0033fd58)
  8 0x7effc7c1 RegisterDll+0x49(strDll="drmclien.dll")
[/home/focht/projects/wine/wine-git/programs/regsvr32/regsvr32.c:118] in
regsvr32 (0x0033fd88)
...
Wine-dbg>info locals
0x7bc948af NtProtectVirtualMemory+0x193: (0033f584)
    HANDLE process=0xffffffff (parameterEBP)
    PVOID* addr_ptr=0x33f5d0 (parameterEBP)
    SIZE_T* size_ptr=0x33f5d4 (parameterEBP)
    ULONG new_prot=0x8 (parameterEBP)
    ULONG* old_prot=0x33f648 (parameterEBP)
    struct file_view* view=0x7bc94720 (localEBP)
    sigset_t sigset={__val={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}} (localEBP)
    NTSTATUS status=0 (localEBP)
    char* base="PΦ   ]┬" (localEBP)
    BYTE vprot=0 (localEBP)
    unsigned int new_vprot=0x9 (localEBP)
    SIZE_T size=0x2000 (localEBP)
    LPVOID addr=0x91bba0d (localEBP)
Wine-dbg>l
2091        if (new_vprot & VPROT_WRITECOPY) return
STATUS_INVALID_PAGE_PROTECTION;
--- snip ---

PE mappings for address in .text

--- snip ---
Memory map
Address    Size     Section  Contains              Type Access

091A0000   00001000          PE header             Img  R
091A1000   00044000 .text    Code,imports,exports  Img  R E
091E5000   00003000 .data    Data                  Img  RW  CopyOnWr
091E8000   00001000 .rsrc    Resources             Img  R
091E9000   00004000 .reloc   Relocations           Img  R

--- snip ---

Sequence: PAGE_EXECUTE_READ (orig) -> PAGE_WRITECOPY (to modify data in
specific .text region) -> PAGE_EXECUTE_READ (restore)

The problem is this commit:

http://source.winehq.org/git/wine.git/commitdiff/33255ee6ecf48725e8e061313da8f387a5714e44

Reverting lets the installer successfully finish.

$ sha1sum setup.exe 
f7bdfef0f79dab31be820d6f51e5a7e7d26b2eef  setup.exe

$ wine --version
wine-1.3.32

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