http://bugs.winehq.org/show_bug.cgi?id=23492
Summary: Windows Driver Kit (WDK) 7.1.0 install fails Product: Wine Version: 1.2-rc6 Platform: x86 URL: http://www.microsoft.com/downloads/details.aspx?displa ylang=en&FamilyID=36a2630f-5d56-43b5-b996-7633f2ec14ff OS/Version: Linux Status: NEW Keywords: download, Installer Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com
Created an attachment (id=29324) --> (http://bugs.winehq.org/attachment.cgi?id=29324) terminal output + backtrace
Tried installing the WDK while looking for a header, and found the install fails before even getting a window up: Backtrace: =>0 0x010ad270 in kitsetup (+0xad270) (0x005ce3d4) 1 0x6857aafa WINPROC_wrapper+0x19() in user32 (0x005ce404) 2 0x6857aafa WINPROC_wrapper+0x19() in user32 (0x005ce454) 3 0x6857c5fc call_window_proc+0x5b(hwnd=0x70054, msg=0x0081, wp=0, lp=0x5ce938, result=0x5ce488, arg=0x10ad258) [/home/austin/wine-git/dlls/user32/winproc.c:242] in user32 (0x005ce4a4) 4 0x6857c74a CallWindowProcW+0x59(func=0x10ad258, hwnd=0x81, msg=0x0081, wParam=0, lParam=0x5ce938) [/home/austin/wine-git/dlls/user32/winproc.c:984] in user32 (0x005ce4c0) 5 0x010ab289 in kitsetup (+0xab288) (0x005ce4fc) 6 0x010ad29e in kitsetup (+0xad29d) (0x005ce520) 7 0x6857aafa WINPROC_wrapper+0x19() in user32 (0x005ce550) 8 0x6857aafa WINPROC_wrapper+0x19() in user32 (0x005ce5a0) 9 0x6857c5fc call_window_proc+0x5b(hwnd=0x70054, msg=0x0081, wp=0, lp=0x5ce938, result=0x5ce654, arg=0x10ad258) [/home/austin/wine-git/dlls/user32/winproc.c:242] in user32 (0x005ce5f0) 10 0x6857d95f WINPROC_call_window+0x10e(hwnd=0x70054, msg=0x0081, wParam=0
terminal output / +relay,+seh,+tid attached
http://bugs.winehq.org/show_bug.cgi?id=23492
--- Comment #1 from Austin English austinenglish@gmail.com 2010-07-03 19:24:10 --- Created an attachment (id=29325) --> (http://bugs.winehq.org/attachment.cgi?id=29325) +relay,+seh,+tid
http://bugs.winehq.org/show_bug.cgi?id=23492
--- Comment #2 from Nikolay Sivov bunglehead@gmail.com 2010-07-04 01:55:37 --- AtlModuleExtractCreateWndData returns 0 before first exception. Try native one please.
http://bugs.winehq.org/show_bug.cgi?id=23492
--- Comment #3 from Austin English austinenglish@gmail.com 2010-07-10 18:12:22 --- (In reply to comment #2)
AtlModuleExtractCreateWndData returns 0 before first exception. Try native one please.
Works great! The next failure is a generic msi failure: fixme:msi:ACTION_CustomAction msidbCustomActionTypeTSAware not handled fixme:msi:ACTION_CustomAction msidbCustomActionTypeTSAware not handled fixme:msi:ACTION_CustomAction msidbCustomActionTypeTSAware not handled fixme:msi:msi_unimplemented_action_stub MsiUnpublishAssemblies -> 28 ignored L"MsiAssembly" table values err:ole:CoUninitialize Mismatched CoUninitialize err:ole:CoUninitialize Mismatched CoUninitialize err:msi:ACTION_InstallFiles Failed to copy L"Z:\a762df3669525ef8d1fe3155a908219a\install.ini" to L"C:\install.ini" (3) err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1603
no time to debug right now though.
http://bugs.winehq.org/show_bug.cgi?id=23492
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |atl Summary|Windows Driver Kit (WDK) |Windows Driver Kit (WDK) |7.1.0 install fails |7.1.0 install fails (check | |for superclassed case in | |AtlModuleRegisterWndClassIn | |foA/W before returning new | |wndproc)
--- Comment #4 from Anastasius Focht focht@gmx.net 2011-04-28 09:35:19 CDT --- Hello,
follow-up bug from bug 26028. If that bug is fixed, the ActiveX control crashes the same way as the installer here. The problem lies apparently in AtlModuleRegisterWndClassInfoA/W().
--- snip --- 0022:Call atl.AtlModuleRegisterWndClassInfoW(010f3e40,010f1678,003baa3c) ret=010ad1b3 0022:fixme:atl:AtlModuleRegisterWndClassInfoW 0x10f3e40 0x10f1678 0x3baa3c semi-stub 0022:trace:atl:AtlModuleRegisterWndClassInfoW wci->m_wc.lpszClassName = L"KitSetup_SplashScreen" 0022:Call user32.GetClassInfoExW(01000000,0102ce78 L"KitSetup_SplashScreen",005ce8bc) ret=684f0493 0022:Ret user32.GetClassInfoExW() retval=00000000 ret=684f0493 0022:Call user32.RegisterClassExW(010f1678) ret=684f04ac 0022:trace:win:alloc_winproc allocated 0xffff0023 for W 0x10ad258 (36/4096 used) 0022:Ret user32.RegisterClassExW() retval=0000c043 ret=684f04ac 0022:trace:atl:AtlModuleRegisterWndClassInfoW returning 0xc043 0022:Ret atl.AtlModuleRegisterWndClassInfoW() retval=0000c043 ret=010ad1b3 ... 0022:Call atl.AtlModuleAddCreateWndData(010f3e40,003baa28,003baa20) ret=010ad2e5 0022:trace:atl:AtlModuleAddCreateWndData (0x10f3e40, 0x3baa28, 0x3baa20) 0022:Ret atl.AtlModuleAddCreateWndData() retval=010f3e40 ret=010ad2e5 0022:Call user32.CreateWindowExW(00000000,0000c043,0102cea4 L"KitSetup Initializing...",90000a03,00000000,00000000,00000320,00000258,00000000,00000000,01000000,00000000) ret=010ad330 0022:trace:win:WIN_CreateWindowEx L"KitSetup Initializing..." #c043 ex=00000000 style=90000a03 0,0 800x600 parent=(nil) menu=(nil) inst=0x1000000 params=(nil) 0022:trace:win:dump_window_styles style: WS_POPUP WS_VISIBLE 00000a03 0022:trace:win:dump_window_styles exstyle: ... 0022:trace:win:WIN_CreateWindowEx hwnd 0x60050 cs 0,0 800x600 0022:Call window proc 0x10ad258 (hwnd=0x60050,msg=WM_NCCREATE,wp=00000000,lp=005ce870) 0022:Call atl.AtlModuleExtractCreateWndData(010f3e40) ret=010ad26b 0022:trace:atl:AtlModuleExtractCreateWndData (0x10f3e40) 0022:Ret atl.AtlModuleExtractCreateWndData() retval=003baa20 ret=010ad26b ... 0022:Call user32.SetWindowLongW(00060050,fffffffc,001421b0) ret=010ad292 0022:trace:win:WIN_SetWindowLong 0x60050 -4 1421b0 W 0022:trace:win:alloc_winproc allocated 0xffff0024 for W 0x1421b0 (37/4096 used) 0022:Ret user32.SetWindowLongW() retval=010ad258 ret=010ad292 0022:Call user32.CallWindowProcW(010ad258,00060050,00000081,00000000,005ce870) ret=010ab289 0022:Call window proc 0x10ad258 (hwnd=0x60050,msg=WM_NCCREATE,wp=00000000,lp=005ce870) 0022:Call atl.AtlModuleExtractCreateWndData(010f3e40) ret=010ad26b 0022:trace:atl:AtlModuleExtractCreateWndData (0x10f3e40) 0022:Ret atl.AtlModuleExtractCreateWndData() retval=00000000 ret=010ad26b 0022:trace:seh:raise_exception code=c0000005 flags=0 addr=0x10ad270 ip=010ad270 tid=0022 0022:trace:seh:raise_exception info[0]=00000000 0022:trace:seh:raise_exception info[1]=00000000 0022:trace:seh:raise_exception eax=00000000 ebx=00060050 ecx=00000000 edx=005cef8c esi=00000000 edi=005ce384 0022:trace:seh:raise_exception ebp=005ce2b8 esp=005ce2ac cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00010206 0022:trace:seh:call_vectored_handlers calling handler at 0x68e406d6 code=c0000005 flags=0 0022:trace:seh:call_vectored_handlers handler at 0x68e406d6 returned 0 0022:trace:seh:call_stack_handlers calling handler at 0x10dd17e code=c0000005 flags=0 --- snip ---
AtlModuleExtractCreateWndData() should never get called twice here (the app doesn't expect this).
In first call of app window proc (WM_NCCREATE), the app retrieves its instance data data through AtlModuleExtractCreateWndData(). The app then does some initialization (members, thunk) and sets a new window proc SetWindowLongW(). The actual work is delegated back by calling the old (prev) window proc of though CallWindowProcW(). The problem: the old window proc (prev member) is the _same_ app window proc which was called for window creation (WM_NCCREATE) - and this is wrong. The default window must be called in this case, not the app supplied one.
--- snip dlls/atl/atl_main.c --- ATOM WINAPI AtlModuleRegisterWndClassInfoA(_ATL_MODULEA *pm, _ATL_WNDCLASSINFOA *wci, WNDPROC *pProc) { ATOM atom;
FIXME("%p %p %p semi-stub\n", pm, wci, pProc);
atom = wci->m_atom; if (!atom) { ... }
*pProc = wci->pWndProc;
TRACE("returning 0x%04x\n", atom); return atom; } --- snip dlls/atl/atl_main.c ---
You need to check for superclassed case (e.g. _ATL_WNDCLASSINFO member -> m_lpszOrigName != NULL) before returning a new window proc in out param, effectively replacing the default one in app wnd data.
You need to fix AtlModuleRegisterWndClassInfoW() for the installer here and AtlModuleRegisterWndClassInfoA() for the app in bug 26028 They will both successfully start then without any native override.
Regards
http://bugs.winehq.org/show_bug.cgi?id=23492
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |26028
http://bugs.winehq.org/show_bug.cgi?id=23492
Bug 23492 depends on bug 26028, which changed state.
Bug 26028 Summary: Buitin IE crash while open a activex control from Bank of Communications (wrong instance handle when registering a class using AtlModuleRegisterWndClassInfoA/W) http://bugs.winehq.org/show_bug.cgi?id=26028
What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
http://bugs.winehq.org/show_bug.cgi?id=23492
fracting fracting@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fracting@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=23492
--- Comment #5 from Anastasius Focht focht@gmx.net 2011-04-28 14:09:50 CDT --- Hello,
this bug also affects "MDI2PDF Converter" (http://www.bugysoft.com/setup.exe), which seems to be the successor of MDIViewer (bug 10528).
$ wine --version wine-1.3.18-312-ge594268
$ sha1sum setup.exe 997034a94e998aacd100abdcb1ec57da6a200343 setup.exe
You need winetricks vcrun6 and vb6run
The app crashes immediately on startup.
--- snip --- ... fixme:atl:AtlModuleInit SEMI-STUB (0x2e857e08 0x2e852e38 0x2e800000) fixme:gdi:ExtCreatePen Hatches not implemented fixme:atl:AtlIPersistStreamInit_Load (0xa219ec, 0x2e853c38, 0xd424d8, 0xd424d8) fixme:atl:AtlModuleRegisterWndClassInfoW 0x2e857e08 0x2e8543c0 0xd42550 semi-stub wine: Unhandled page fault on read access to 0x00000000 at address 0x2e81e314 (thread 0009), starting debugger... Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x2e81e314). --- snip ---
If you fix the wndproc, the app starts successfully.
Regards
http://bugs.winehq.org/show_bug.cgi?id=23492
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #6 from Anastasius Focht focht@gmx.net 2011-05-04 14:00:49 CDT --- Hello,
thanks, fixed by commit: http://source.winehq.org/git/wine.git/commitdiff/a4d0d6348958cf3563e3e8604bf...
Regards
http://bugs.winehq.org/show_bug.cgi?id=23492
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2011-05-13 13:33:49 CDT --- Closing bugs fixed in 1.3.20.
http://bugs.winehq.org/show_bug.cgi?id=23492
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |a4d0d6348958cf3563e3e8604bf | |caa825f9d14b9