https://bugs.winehq.org/show_bug.cgi?id=45546
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://mtgarena.downloads. | |wizards.com/Live/Windows32/ | |MTGAInstaller.exe CC| |focht@gmx.net Keywords| |download Summary|Magic The Gathering Arena |Magic The Gathering Arena |updater crashes with |updater: Unity fork of |Unhandled exception |Mono-runtime reports 'Fatal | |error in gc, | |GetThreadContext failed'
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello lubosz,
looks like the app ships an old/broken Mono runtime. Old Mono had some nasty threading bugs that ought to be fixed with newer Mono versions.
--- quote --- Running with relay log seems to have a positive influence on the crash. --- quote ---
That's expected because you change the (run)time behaviour due to excessive tracing slowdowns.
There are a couple of bugs in Wine Bugzilla with the same underlying issue. They are:
* resolved 'fixed' due to Wine/Wine-Mono update * resolved 'invalid' because the app shipped own broken Mono runtime and didn't bother with upgrades * still open because OP didn't bother to respond for retesting with newer Wine/Wine-Mono
--- snip --- $ find ~/.wine/drive_c/ -iname *mono* /home/focht/.wine/drive_c/Program Files/Wizards of the Coast/MTGA/MTGA_Data/Mono /home/focht/.wine/drive_c/Program Files/Wizards of the Coast/MTGA/MTGA_Data/Mono/EmbedRuntime/MonoPosixHelper.dll /home/focht/.wine/drive_c/Program Files/Wizards of the Coast/MTGA/MTGA_Data/Mono/EmbedRuntime/mono.dll /home/focht/.wine/drive_c/Program Files/Wizards of the Coast/MTGA/MTGA_Data/Mono/etc/mono /home/focht/.wine/drive_c/Program Files/Wizards of the Coast/MTGA/MTGA_Data/Managed/Mono.Data.Tds.dll /home/focht/.wine/drive_c/Program Files/Wizards of the Coast/MTGA/MTGA_Data/Managed/Mono.Security.dll /home/focht/.wine/drive_c/Program Files/Wizards of the Coast/MTGA/MTGA_Data/Managed/Mono.Posix.dll /home/focht/.wine/drive_c/windows/system32/monodebg.vxd /home/focht/.wine/drive_c/users/focht/Application Data/.mono --- snip ---
ProtectionID scan to reveal the old Mono runtime:
--- snip --- -=[ ProtectionID v0.6.9.0 DECEMBER]=- (c) 2003-2017 CDKiLLER & TippeX Build 24/12/17-21:05:42 Ready... Scanning -> C:\Program Files\Wizards of the Coast\MTGA\MTGA_Data\Mono\EmbedRuntime\mono.dll File Type : 32-Bit Dll (Subsystem : Win GUI / 2), Size : 2118592 (02053C0h) Byte(s) | Machine: 0x14C (I386) Compilation TimeStamp : 0x59E6CA13 -> Wed 18th Oct 2017 03:27:15 (GMT) [TimeStamp] 0x59E6CA13 -> Wed 18th Oct 2017 03:27:15 (GMT) | PE Header | - | Offset: 0x00000100 | VA: 0x10000100 | - [TimeStamp] 0x59E6CA13 -> Wed 18th Oct 2017 03:27:15 (GMT) | Export | - | Offset: 0x001EB894 | VA: 0x101EC894 | - [TimeStamp] 0x59E6CA13 -> Wed 18th Oct 2017 03:27:15 (GMT) | DebugDirectory | - | Offset: 0x001314C4 | VA: 0x101324C4 | - -> File Appears to be Digitally Signed @ Offset 0203C00h, size : 017C0h / 06080 byte(s) [LoadConfig] Struct determined as v8 (Expected size 140 | Actual size 64) [!] Executable uses SEH Tables (/SAFESEH) (3 calculated 3 recorded... 0 invalid addresses) [LoadConfig] CodeIntegrity -> Flags 0x1 | Catalog 0x0 (0) | Catalog Offset 0x625C3A43 | Reserved 0x646C6975 [LoadConfig] GuardAddressTakenIatEntryTable 0x76616C73 | Count 0x6F6D5C65 (1869438053) [LoadConfig] GuardLongJumpTargetTable 0x625C6F6E | Count 0x646C6975 (1684826485) [LoadConfig] HybridMetadataPointer 0x6975625C | DynamicValueRelocTable 0x5C73646C [LoadConfig] FailFastIndirectProc 0x65626D65 | FailFastPointer 0x6E757264 [LoadConfig] UnknownZero1 0x656D6974 [File Heuristics] -> Flag #1 : 00000100000001001100000100000100 (0x0404C104) [Entrypoint Section Entropy] : 6.72 (section #0) ".text " | Size : 0x130A5D (1247837) byte(s) [DllCharacteristics] -> Flag : (0x0100) -> DEP [SectionCount] 5 (0x5) | ImageSize 0x22F000 (2289664) byte(s) [Export] 100% of function(s) (798 of 798) are in file | 0 are forwarded | 798 code | 0 data | 0 uninit data | 0 unknown | [VersionInfo] Company Name : Unity Technologies [VersionInfo] Product Name : libmono [VersionInfo] Product Version : 1.0.0.1 [VersionInfo] File Description : Unity Technologies fork of mono runtime [VersionInfo] File Version : 1.0.0.1 [VersionInfo] Original FileName : mono.dll [VersionInfo] Internal Name : mono.dll [VersionInfo] Legal Copyrights : Copyright (C) 2015 [ModuleReport] [IAT] Modules -> VERSION.dll | WS2_32.dll | PSAPI.DLL | WINMM.dll | MSWSOCK.dll | KERNEL32.dll | USER32.dll | ADVAPI32.dll | SHELL32.dll | ole32.dll | OLEAUT32.dll [Debug Info] (record 1 of 1) (file offset 0x1314C0) Characteristics : 0x0 | TimeDateStamp : 0x59E6CA13 (Wed 18th Oct 2017 03:27:15 (GMT)) | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 (0x2) -> CodeView | Size : 0x55 (85) AddressOfRawData : 0x1EA9F0 | PointerToRawData : 0x1E99F0 CvSig : 0x53445352 | SigGuid 93DFF46E-B56F-4181-AE72AAA960C2C88E Age : 0x1 (1) | Pdb : C:\buildslave\mono\build\builds\embedruntimes\win32\mono.pdb [CdKeySerial] found "Invalid code" @ VA: 0x001AA2B8 / Offset: 0x001A92B8 [CdKeySerial] found "Unregistered" @ VA: 0x001B9B1C / Offset: 0x001B8B1C [CompilerDetect] -> Visual C++ 10.0 (Visual Studio 2010) [!] File appears to have no protection or is using an unknown protection - Scan Took : 0.712 Second(s) [0000002C8h (712) tick(s)] [246 of 580 scan(s) done] --- snip ---
I'm not sure if the version info 1.0.0.1 and year 2015 is really accurate. Maybe its possible to figure out from which branch/tag this was built from their Mono fork .. but that seems like wasted time to me.
https://github.com/Unity-Technologies/mono
https://forum.unity.com/threads/new-version-of-mono-with-unity-4-3-any-addit...
Have fun reading through that thread ;-)
FYI I didn't encounter this problem on my machine. The updater client downloaded everything and started the game launcher.
You could try some developer-internal Mono magic:
# Turns off the garbage collection in Mono $ GC_DONT_GC=1 wine ./MTGA.exe
Afaik 'MONO_NO_SMP' environment variable isn't supported on older Mono runtimes.
Regards