https://bugs.winehq.org/show_bug.cgi?id=37081
Bug ID: 37081 Summary: Mario Forever 5.0.1 hangs on startup (ieframe 'IEnumOLEVERB::Next' always returns 'S_OK' even with no items retrieved) Product: Wine Version: 1.7.24 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ieframe Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net
Hello folks,
as the summary says ... split off from bug 26097
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/softendo.com/Mario Forever 5.01
$ WINEDEBUG=+tid,+seh,+relay,+ole,+variant,+ieframe wine ./Mario\ Forever\ 5.0.exe >>log.txt 2>&1 ... 0023:Call KERNEL32.CreateProcessA(00000000,00422be8 ""C:\users\focht\Temp\mrta64d.tmp\stdrt.exe" /SF "C:\Program Files\softendo.com\Mario Forever 5.01\Mario Forever 5.0.exe" /SO94208",00000000,00000000,00000001,00000020,00000000,00000000,0033fd54,0033fd28) ret=004016b4 ... 0025:Call KERNEL32.__wine_kernel_init() ret=7bc59dbc 0023:Ret KERNEL32.CreateProcessA() retval=00000001 ret=004016b4 ... 0025:Call PE DLL (proc=0x1003d6ed,module=0x10000000 L"MMFS2.dll",reason=PROCESS_ATTACH,res=0x1) ... 0025:Call ole32.CoGetClassObject(0033fc9c,00000001,00000000,10330868,0033fc88) ret=10303a99 0025:trace:ole:CoGetClassObject CLSID: {8856f961-340a-11d0-a96b-00c04fd705a2},IID: {00000001-0000-0000-c000-000000000046} ... 0025:trace:ole:COMPOBJ_DllList_Add L"C:\windows\system32\ieframe.dll" 0025:Call KERNEL32.LoadLibraryExW(0033f8ee L"C:\windows\system32\ieframe.dll",00000000,00000008) ret=7e3a788c 0025:Call PE DLL (proc=0x7cb57aa8,module=0x7cb20000 L"ieframe.dll",reason=PROCESS_ATTACH,res=(nil)) ... 0025:trace:ieframe:WebBrowser_QueryInterface (0x1844d8)->(IID_IProvideClassInfo2 0x33fb48) 0025:trace:ieframe:WebBrowser_AddRef (0x1844d8) ref=4 0025:trace:ieframe:ProvideClassInfo_GetGUID (0x1844d8)->(1 0x33fb68) 0025:trace:ieframe:WebBrowser_Release (0x1844d8) ref=3 ... 0025:trace:ieframe:WebBrowser_QueryInterface (0x1844d8)->(IID_IOleObject 0x33fb4c) 0025:trace:ieframe:WebBrowser_AddRef (0x1844d8) ref=4 0025:trace:ieframe:OleObject_EnumVerbs (0x1844d8)->(0x33fb48) ... 0025:trace:ieframe:EnumOLEVERB_Next (0x19c690)->(1 0x33fb60 0x33fb58) ... 0025:Call KERNEL32.lstrlenA(008996b0 "\xe4\xb7\x01") ret=1031fdf4 0025:Ret KERNEL32.lstrlenA() retval=00000003 ret=1031fdf4 ... 0025:trace:ieframe:EnumOLEVERB_Next (0x19c690)->(1 0x33fb60 0x33fb58) 0025:trace:ieframe:EnumOLEVERB_Next (0x19c690)->(1 0x33fb60 0x33fb58) <repeats endlessly> --- snip ---
--- snip --- Wine-dbg>info process pid threads executable (all id:s are in hex) 00000020 1 'explorer.exe' 0000000e 6 'services.exe' 00000019 3 _ 'plugplay.exe' 00000012 4 _ 'winedevice.exe' 00000008 1 'Mario Forever 5.0.exe' 00000022 3 _ 'stdrt.exe'
Wine-dbg>info thread process tid prio (all id:s are in hex) 00000008 Mario Forever 5.0.exe 00000009 0 ... 00000022 stdrt.exe 00000026 15 00000024 0 00000023 0
Wine-dbg>info share Module Address Debug info Name (154 modules) PE 380000- 38c000 Deferred ctrlx.mfx PE 390000- 399000 Deferred timex.mfx PE 3a0000- 3a6000 Deferred kcdirect.mfx PE 3b0000- 3b6000 Deferred flash.mfx PE 3c0000- 3c9000 Deferred joystick.mfx PE 3d0000- 3d6000 Deferred waveflt.sft PE 3e0000- 3f1000 Deferred cctrans PE 400000- 45b000 Deferred stdrt PE 7f0000- 881000 Deferred modfusionex.mfx PE 9a0000- 9c4000 Deferred oggflt.sft PE 10000000-1004b000 Deferred mmfs2 PE 10300000-1034b000 Export kcactivex.mfx PE 10700000-10709000 Deferred kcclock.mfx PE 10b00000-10b08000 Deferred kcedit.mfx PE 10c00000-10c09000 Deferred kcfile.mfx PE 10e00000-10e06000 Deferred kcini.mfx PE 11900000-11906000 Deferred kcplugin.mfx PE 12000000-12007000 Deferred kcwctrl.mfx ELF 470f3000-47110000 Deferred libgcc_s.so.1 --- snip ---
Source: http://source.winehq.org/git/wine.git/blob/9114827e7ecf7ad6dd35fed92a830aa0f...
--- snip --- 347 static HRESULT WINAPI EnumOLEVERB_Next(IEnumOLEVERB *iface, ULONG celt, OLEVERB *rgelt, ULONG *pceltFetched) 348 { 349 EnumOLEVERB *This = impl_from_IEnumOLEVERB(iface); 350 351 TRACE("(%p)->(%u %p %p)\n", This, celt, rgelt, pceltFetched); 352 353 if(pceltFetched) 354 *pceltFetched = 0; 355 return S_OK; 356 } --- snip ---
MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/dd542689%28v=vs.85%2...
--- quote --- Return value
If the method retrieves the number of items requested, the return value is S_OK. Otherwise, it is S_FALSE. --- quote ---
$ sha1sum Install_Mario_Forever_v5_01.zip e7299e67aadeae06ccca30522156e250f602cfa6 Install_Mario_Forever_v5_01.zip
$ du -sh Install_Mario_Forever_v5_01.zip 17M Install_Mario_Forever_v5_01.zip
$ wine --version wine-1.7.24
Regards