https://bugs.winehq.org/show_bug.cgi?id=37198
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Component|-unknown |msvcp Summary|Could not load XPCOM in |Pale Moon Portable 24.7.x |Pale moon Portable 24.7.1 |fails on startup, reporting |x86 (32-bit) |"Couldn't load XPCOM" | |(needs msvcp110.dll | |'?_BADOFF@std@@3_JB' also | |exported for 32-bit arch) Ever confirmed|0 |1
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay wine ./Palemoon-Portable.exe >>log.txt 2>&1 ... 0026:Call KERNEL32.LoadLibraryExW(0033f7e0 L"Z:\home\focht\Downloads\yyy\Bin\Palemoon\mozglue.dll",00000000,00000008) ret=0040226a 0026:Call PE DLL (proc=0x10029f80,module=0x10000000 L"mozglue.dll",reason=PROCESS_ATTACH,res=(nil)) 0026:Call KERNEL32.LoadLibraryA(1002b3dc "KERNEL32.DLL") ret=1002a0d0 0026:Ret KERNEL32.LoadLibraryA() retval=7b810000 ret=1002a0d0 ... 0026:Call KERNEL32.LoadLibraryA(1002b3e9 "MSVCP110.dll") ret=1002a0d0 0026:Ret KERNEL32.LoadLibraryA() retval=7ed00000 ret=1002a0d0 0026:Call KERNEL32.GetProcAddress(7ed00000,100271b3 "??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ") ret=1002a0e5 0026:Ret KERNEL32.GetProcAddress() retval=7ed0854c ret=1002a0e5 0026:Call KERNEL32.GetProcAddress(7ed00000,100271ed "?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEXXZ") ret=1002a0e5 0026:Ret KERNEL32.GetProcAddress() retval=7ed0a358 ret=1002a0e5 ... 0026:Call KERNEL32.GetProcAddress(7ed00000,1002761f "?_Winerror_map@std@@YAPBDH@Z") ret=1002a0e5 0026:Ret KERNEL32.GetProcAddress() retval=7ed058b4 ret=1002a0e5 0026:Call KERNEL32.GetProcAddress(7ed00000,1002763d "?_Syserror_map@std@@YAPBDH@Z") ret=1002a0e5 0026:Ret KERNEL32.GetProcAddress() retval=7ed055f4 ret=1002a0e5 0026:Call KERNEL32.GetProcAddress(7ed00000,1002765b "?_BADOFF@std@@3_JB") ret=1002a0e5 0026:Ret KERNEL32.GetProcAddress() retval=00000000 ret=1002a0e5 0026:Ret PE DLL (proc=0x10029f80,module=0x10000000 L"mozglue.dll",reason=PROCESS_ATTACH,res=(nil)) retval=0 0026:Call PE DLL (proc=0x10029f80,module=0x10000000 L"mozglue.dll",reason=PROCESS_DETACH,res=(nil)) 0026:trace:seh:raise_exception code=c0000005 flags=0 addr=0x1001b60d ip=1001b60d tid=0026 0026:trace:seh:raise_exception info[0]=00000000 0026:trace:seh:raise_exception info[1]=04300200 0026:trace:seh:raise_exception eax=00000010 ebx=7bcd1000 ecx=2e59ecf4 edx=0033f0d8 esi=0033f0a8 edi=0033f36c 0026:trace:seh:raise_exception ebp=0033f074 esp=0033f048 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010202 0026:trace:seh:call_stack_handlers calling handler at 0x7bc9dee8 code=c0000005 flags=0 0026:trace:seh:__regs_RtlUnwind code=c0000005 flags=2 0026:trace:seh:__regs_RtlUnwind calling handler at 0x7bc818cd code=c0000005 flags=2 0026:trace:seh:__regs_RtlUnwind handler at 0x7bc818cd returned 1 0026:exception in PE entry point (proc=0x10029f80,module=0x10000000,reason=PROCESS_DETACH,res=(nil)) ... 0026:Call user32.MessageBoxW(00000000,0033e9f0 L"Couldn't load XPCOM.\n",00404290 L"Firefox",00010010) ret=00401789 --- snip ---
You can work around by use overrides as follows (the app ships both native libs).
--- snip --- $ WINEDLLOVERRIDES=msvcp110,msvcr110=n wine ./Palemoon-Portable.exe --- snip ---
It seems Wine mistakenly exports '__int64 const std::_BADOFF' in 'msvcp110.dll' only for 64-bit arch?
http://source.winehq.org/git/wine.git/blob/7aa53f036cb59f57fd369339aeaa545f0...
--- snip --- 1151 @ extern -arch=win64 ?_BADOFF@std@@3_JB std_BADOFF --- snip ---
$ sha1sum Palemoon-Portable-24.7.2.win32.exe 19816f54b22a1038e575f58918852364c05d4d3c Palemoon-Portable-24.7.2.win32.exe
$ du -sh Palemoon-Portable-24.7.2.win32.exe 22M Palemoon-Portable-24.7.2.win32.exe
$ wine --version wine-1.7.27-59-g857a35e
Regards