https://bugs.winehq.org/show_bug.cgi?id=32695
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello folks,
it's unfortunate that they use their own Gecko engine version *and* mshtml browser embedding which pulls in Wine Gecko.
Wine: v4.10 of Netscape Portable Runtime Yahoo Messenger: v4.8.3.0 of Netscape Portable Runtime
Two incompatible sets of runtime dlls are not supposed to be mapped into same address space nor can be safely replaced by either provider.
--- snip --- ... 0032:Call KERNEL32.LoadLibraryExW(0033b32e L"C:\windows\system32\mshtml.dll",00000000,00000008) ret=7e6d688c ... 0032:trace:module:process_attach (L"mshtml.dll",(nil)) - END 0032:Ret KERNEL32.LoadLibraryExW() retval=7a870000 ret=7e6d688c ... 0032:Call KERNEL32.LoadLibraryExW(0033b02c L"C:\windows\system32\gecko\2.24\wine_gecko\\xul.dll",00000000,00000008) ret=7a925d0c 0032:trace:module:load_dll looking for L"C:\windows\system32\gecko\2.24\wine_gecko\\xul.dll" in L"C:\windows\system32\gecko\2.24\wine_gecko\;.;C:\windows\system32;C:\windows\system;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem;C:\windows\system32\gecko\2.24\wine_gecko\" 0032:trace:module:get_load_order looking for L"C:\windows\system32\gecko\2.24\wine_gecko\xul.dll" 0032:trace:module:get_load_order got hardcoded default for L"C:\windows\system32\gecko\2.24\wine_gecko\xul.dll" 0032:trace:module:load_builtin_dll Trying built-in L"C:\windows\system32\gecko\2.24\wine_gecko\xul.dll" ... 0032:trace:module:load_native_dll Trying native dll L"C:\windows\system32\gecko\2.24\wine_gecko\xul.dll" 0032:trace:module:map_image mapped PE file at 0x69c40000-0x6b82b000 ... 0032:trace:module:load_dll looking for L"mozglue.dll" in L"C:\windows\system32\gecko\2.24\wine_gecko\;.;C:\windows\system32;C:\windows\system;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem;C:\windows\system32\gecko\2.24\wine_gecko\" 0032:trace:module:load_dll Found L"C:\windows\system32\gecko\2.24\wine_gecko\mozglue.dll" for L"mozglue.dll" at 0x65fc0000, count=2 ... 0032:trace:module:get_load_order looking for L"C:\windows\system32\gecko\2.24\wine_gecko\mozjs.dll" 0032:trace:module:get_load_order got hardcoded default for L"C:\windows\system32\gecko\2.24\wine_gecko\mozjs.dll" 0032:trace:module:load_builtin_dll Trying built-in L"C:\windows\system32\gecko\2.24\wine_gecko\mozjs.dll" ... 0032:trace:module:load_native_dll Trying native dll L"C:\windows\system32\gecko\2.24\wine_gecko\mozjs.dll" ... 0032:warn:module:alloc_module disabling no-exec because of L"mozjs.dll" ... 0032:trace:module:load_dll looking for L"nspr4.dll" in L"C:\windows\system32\gecko\2.24\wine_gecko\;.;C:\windows\system32;C:\windows\system;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem;C:\windows\system32\gecko\2.24\wine_gecko\" 0032:trace:module:load_dll Found L"C:\Program Files\Yahoo!\Messenger\nspr4.dll" for L"nspr4.dll" at 0x60590000, count=-1 0032:warn:module:import_dll No implementation for nspr4.dll.PR_SetCurrentThreadName imported from L"C:\windows\system32\gecko\2.24\wine_gecko\mozjs.dll", setting to 0x32e0000 ... --- snip ---
If you replace the Yahoo provided one with the newer Wine Gecko runtime, you can work around the missing 'nspr4.dll.PR_SetCurrentThreadName' entry point but the Yahoo framework *relies* on unicode API present (MOZ_UNICODE).
Example:
--- snip --- Backtrace: =>0 0x7bc5231b stub_entry_point+0x4b(dll="nspr4.dll", name="PR_OpenFileUTF16", ret_addr=0x6128318e) [/home/focht/projects/wine/wine.repo/src/dlls/ntdll/loader.c:209] in ntdll (0x0033f4b8) 1 0x040f000f (0x0033f5c0) 2 0x60a81388 in ycpfoundation (+0x91387) (0x60a81398) 3 0x60aaa7ac in ycpfoundation (+0xba7ab) (0x60a06cc0) --- snip ---
Wine's Gecko obviously didn't have this compiled in.
But even then, you would need to replace the Yahoo provided runtime dlls with what Wine provides at the risk of breaking the app relying on old API behaviour.
IMHO a WONTFIX.
Regards