https://bugs.winehq.org/show_bug.cgi?id=44717
Bug ID: 44717 Summary: Bermuda (Steam, Indie game) crashes due to 'msscript.ocx' 'ScriptControl_put_AllowUI' being a stub Product: Wine Version: 3.3 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: msscript.ocx Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
found during investigation of bug 39093
After removing/renaming of 'kernel32.dll' placeholder to work around bug 15437 the game reports a crash:
--- snip --- $ pwd /home/focht/wine-games/wineprefix64-steam/drive_c/Program Files (x86)/Steam
$ WINEDEBUG=+seh,+loaddll,+process,+debugstr,+relay wine ./steam.exe -applaunch 337640 -no-cef-sandbox -nominidumps -nobreakpad -noassert -nocrashdialog -windowed >>log2.txt 2>&1 ... 0068:Call KERNEL32.LoadLibraryExW(0033f58e L"C:\windows\system32\msscript.ocx",00000000,00000008) ret=10085b02 ... 0068:Ret KERNEL32.LoadLibraryExW() retval=7c0a0000 ret=10085b02 ... 0068:Call ole32.CoCreateInstance(00bffca8,00000000,00000017,00beef1c,0033fa7c) ret=100852ea ... 0068:Ret ole32.CoCreateInstance() retval=00000000 ret=100852ea 0068:Call ole32.OleRun(02082a28) ret=00508d0a 0068:fixme:msscript:ScriptControl_QueryInterface (0x2082a28)->({00000126-0000-0000-c000-000000000046} 0x33fa04) 0068:Ret ole32.OleRun() retval=00000000 ret=00508d0a 0068:fixme:msscript:ScriptControl_put_AllowUI (0x2082a28)->(ffffffff) 0068:fixme:msscript:ScriptControl_QueryInterface (0x2082a28)->({df0b3d60-548f-101b-8e65-08002b2bd119} 0x33fa7c) 0068:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0033fa30) ret=008f8b1f 0068:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b446aef ip=7b446aef tid=0068 0068:trace:seh:raise_exception info[0]=19930520 0068:trace:seh:raise_exception info[1]=0033fa4c 0068:trace:seh:raise_exception info[2]=00c3fd3c 0068:trace:seh:raise_exception eax=7b43521d ebx=03378e58 ecx=0000000c edx=0033f974 esi=0033fa1c edi=0033f9e0 0068:trace:seh:raise_exception ebp=0033f9b8 esp=0033f954 cs=66380023 ds=33002b es=7bd0002b fs=38360063 gs=7bd0006b flags=00000212 0068:trace:seh:call_stack_handlers calling handler at 0x950158 code=e06d7363 flags=1 ... 0068:Call user32.MessageBoxW(00000000,03378e58 L"*** Caught unhandled unknown exception; terminating\n",03341938 L"Bermuda_demo",00000040) ret=005b1db6 --- snip ---
Source:
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/msscript.ocx/msscript...
--- snip --- 823 static HRESULT WINAPI ScriptControl_put_AllowUI(IScriptControl *iface, VARIANT_BOOL allow_ui) 824 { 825 ScriptControl *This = impl_from_IScriptControl(iface); 826 FIXME("(%p)->(%x)\n", This, allow_ui); 827 return E_NOTIMPL; 828 } --- snip ---
'winetricks -q msscript' obviously works around.
$ wine --version wine-3.3
Regards
https://bugs.winehq.org/show_bug.cgi?id=44717
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://store.steampowered.c | |om/app/337640/ Keywords| |download
https://bugs.winehq.org/show_bug.cgi?id=44717
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #1 from Fabian Maurer dark.shadow4@web.de --- Found a description what this function does here: http://www.jose.it-berater.org/scripting/msscript/iscriptcontrol_allowui.htm
https://bugs.winehq.org/show_bug.cgi?id=44717
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED CC| |leslie_alistair@hotmail.com Fixed by SHA1| |c21c8525f9e69cfd48906ecc33b | |909490bd82783
--- Comment #2 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Fixed by https://source.winehq.org/git/wine.git/?a=commit;h=c21c8525f9e69cfd48906ecc3...
https://bugs.winehq.org/show_bug.cgi?id=44717
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello Alistair,
thanks, confirming working.
It seems this was the only thing needed. For whatever reason, it didn't do any serious stuff with script control. The game runs without any overrides.
NOTE: If the WINEPREFIX gets updated due to newer Wine version you always need to move 'kernel32.dll' placeholder out of the way again (windows/system32 for 32-bit WINEPREFIX, windows/syswow64 in 64-bit WINEPREFIX).
--- snip --- $ pwd /home/focht/wine-games/wineprefix64-steam/drive_c/Program Files (x86)/Steam
$ WINEDEBUG=+seh,+loaddll,+process,+debugstr,+msscript,+jscript,+relay wine ./steam.exe -applaunch 337640 -no-cef-sandbox -nominidumps -nobreakpad -noassert -nocrashdialog -windowed >>log.txt 2>&1 ... 0069:Call KERNEL32.LoadLibraryExW(0033f58e L"C:\windows\system32\msscript.ocx",00000000,00000008) ret=10085b02 0069:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\msscript.ocx" at 0x7c420000: builtin 0069:Call PE DLL (proc=0x7c432e07,module=0x7c420000 L"msscript.ocx",reason=PROCESS_ATTACH,res=(nil)) 0069:trace:msscript:DllMain (0x7c420000 1 (nil)) 0069:Ret PE DLL (proc=0x7c432e07,module=0x7c420000 L"msscript.ocx",reason=PROCESS_ATTACH,res=(nil)) retval=1 0069:Call msscript.ocx.DllGetClassObject(0033f8f8,7e0ab748,0033f908) ret=7dfcc117 0069:trace:msscript:DllGetClassObject (CLSID_ScriptControl {00000001-0000-0000-c000-000000000046} 0x33f908) 0069:trace:msscript:ClassFactory_QueryInterface (0x7c43e5e4)->(IID_IClassFactory 0x33f908) 0069:trace:msscript:ClassFactory_AddRef (0x7c43e5e4) 0069:Ret msscript.ocx.DllGetClassObject() retval=00000000 ret=7dfcc117 0069:trace:msscript:ScriptControl_CreateInstance ((nil) {00000000-0000-0000-c000-000000000046} 0x33f90c) 0069:trace:msscript:ScriptControl_QueryInterface (0x2082a30)->(IID_IUnknown 0x33f90c) 0069:trace:msscript:ScriptControl_AddRef (0x2082a30) ref=2 0069:trace:msscript:ScriptControl_Release (0x2082a30) ref=1 0069:trace:msscript:ClassFactory_Release (0x7c43e5e4) 0069:fixme:msscript:ScriptControl_QueryInterface (0x2082a30)->({00000126-0000-0000-c000-000000000046} 0x33fa04) 0069:trace:msscript:ScriptControl_QueryInterface (0x2082a30)->(IID_IScriptControl 0x3378e58) 0069:trace:msscript:ScriptControl_AddRef (0x2082a30) ref=2 0069:trace:msscript:ScriptControl_Release (0x2082a30) ref=1 0069:trace:msscript:ScriptControl_put_AllowUI (0x2082a30)->(ffffffff) 0069:trace:msscript:ScriptControl_put_Language (0x2082a30)->(L"JScript") 0069:trace:msscript:ActiveScriptSite_AddRef (0x2024dd0) ref=2 0069:trace:msscript:ActiveScriptSite_GetLCID (0x2024dd0, 0x33f92c) 0069:trace:msscript:ActiveScriptSite_AddRef (0x2024dd0) ref=3 0069:fixme:msscript:ActiveScriptSite_OnStateChange (0x2024dd0, 5) ... 007f:Call PE DLL (proc=0x7c432e07,module=0x7c420000 L"msscript.ocx",reason=PROCESS_DETACH,res=0x1) 007f:trace:msscript:DllMain (0x7c420000 0 0x1) ... --- snip ---
$ wine --version wine-3.3-263-gbf7b21ec7b
Regards
https://bugs.winehq.org/show_bug.cgi?id=44717
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.4.
https://bugs.winehq.org/show_bug.cgi?id=44717
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |3.0.x
https://bugs.winehq.org/show_bug.cgi?id=44717
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|3.0.x |---
--- Comment #5 from Michael Stefaniuc mstefani@winehq.org --- Removing the 3.0.x milestone from bugs included in 3.0.1.