http://bugs.winehq.org/show_bug.cgi?id=26025
Summary: Atom Zombie Smasher demo: fails to run with builtin msvcr80 Product: Wine Version: 1.3.13 Platform: x86 URL: http://www.bigdownload.com/games/atom-zombie-smasher/p c/atom-zombie-smasher-demo/ OS/Version: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: msvcrt AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com
Installs fine, but when you run it, it gives a Wine C++ runtime error. Terminal shows: fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC80.CRT" (8.0.50608.0) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC80.CRT" (8.0.50608.0) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC80.CRT" (8.0.50608.0) Stacktrace:
at (wrapper managed-to-native) SFML.Graphics.Image.sfImage_CreateFromFile (string) <0x00004> at (wrapper managed-to-native) SFML.Graphics.Image.sfImage_CreateFromFile (string) <0x00004> at SFML.Graphics.Image..ctor (string) <0x00010> at BlendoEngine.Assets.LoadTextures () <0x0008d> at BlendoEngine.LoadScreen.LoadAsset () <0x0000a> at BlendoEngine.LoadScreen.UpdateInput (single,BlendoEngine.InputManager) <0x00012> at BlendoEngine.ScreenManager.Update (single) <0x00242> at BlendoEngine.Game1.Go (string[]) <0x0021d> at BlendoEngine.Game1.Main (string[]) <0x00045> at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0x00043>
winetricks vcrun2005 worked around it.
http://bugs.winehq.org/show_bug.cgi?id=26025
--- Comment #1 from Vincent Povirk madewokherd@gmail.com 2011-03-21 13:47:46 CDT --- Still present in 1.3.16.
http://bugs.winehq.org/show_bug.cgi?id=26025
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban@gmail.com Component|msvcrt |msvcp
--- Comment #2 from Piotr Caban piotr.caban@gmail.com 2011-03-30 13:04:18 CDT --- This game is not working because of unimplemented functions in msvcp80: ??$?5DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z ??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z ??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z ??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z ??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z ??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z ??0_Lockit@std@@QAE@H@Z ??0locale@std@@QAE@PBDH@Z ??1_Lockit@std@@QAE@XZ ??1locale@std@@QAE@XZ ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ ?_Getcat@?$ctype@_W@std@@SAIPAPBVfacet@locale@2@@Z ?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z ?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ ?_Id_cnt@id@locale@std@@0HA ?_Incref@facet@locale@std@@QAEXXZ ?_Init@locale@std@@CAPAV_Locimp@12@XZ ?_Lock@_Mutex@std@@QAEXXZ ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ ?_Unlock@_Mutex@std@@QAEXXZ ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ ?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ?end@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ ?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z ?facet_Register@facet@locale@std@@CAXPAV123@@Z ?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ ?id@?$ctype@_W@std@@2V0locale@2@A ?narrow@?$ctype@_W@std@@QBED_WD@Z ?push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z ?push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_W@Z ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@@Z ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBD@Z ?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ?reserve@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z ?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV12@II@Z ?uncaught_exception@std@@YA_NXZ ?widen@?$ctype@_W@std@@QBE_WD@Z
http://bugs.winehq.org/show_bug.cgi?id=26025
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Atom Zombie Smasher demo: |Atom Zombie Smasher demo: |fails to run with builtin |fails to run with builtin |msvcr80 |msvcp80
http://bugs.winehq.org/show_bug.cgi?id=26025
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Summary|Atom Zombie Smasher demo: |Atom Zombie Smasher demo |fails to run with builtin |fails due to unimpl |msvcp80 |MSVCP90.cerr@std@@3V?$basic | |_ostream@DU?$char_traits@D@ | |std@@@1@A
--- Comment #3 from Anastasius Focht focht@gmx.net 2011-05-01 14:57:38 CDT --- Hello,
the game bundles its own version of MONO.
Gfx resource load (good case):
--- snip --- 0025:CALL csfml-graphics.sfImage_CreateFromFile() ret=00b169d8 ... 0025:Call msvcrt.fopen(030cdbe8 "content\textures\portraits01.png",100f27cc "rb") ret=10034381 ... 0025:RET csfml-graphics.sfImage_CreateFromFile() retval=030cdb88 ret=00b169d8 --- snip ---
Failing one:
--- snip --- 0025:CALL csfml-graphics.sfImage_CreateFromFile() ret=00b169d8 ... 0025:Call msvcp90.??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z(0072f860,030cdbe8 "portraits02") ret=1008a83f ... 0021:Call msvcrt.fopen(0072f864 "portraits02",100f27cc "rb") ret=10034381 ... 0021:Ret msvcrt.fopen() retval=00000000 ret=10034381 0021:trace:seh:raise_exception code=c0000005 flags=0 addr=0x10004af0 ip=10004af0 tid=0021 0021:trace:seh:raise_exception info[0]=00000000 0021:trace:seh:raise_exception info[1]=90909094 0021:trace:seh:raise_exception eax=90909090 ebx=00000000 ecx=7b171800 edx=100ef689 esi=7b16e004 edi=00000016 0021:trace:seh:raise_exception ebp=0072f7f8 esp=0072f7cc cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00010202 ... 0021:Call KERNEL32.WriteFile(0000002c,013e2140,0000000f,0072ef6c,00000000) ret=73ad887f Stacktrace: ... --- snip ---
Looking into "content/textures" subfolder there are several "portraitsXX.png" files but "portraits02.png" is missing:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Atom Zombie Smasher demo/data $ ls -l content/textures/ total 4360 -rw-r--r-- 1 focht focht 2832 2010-07-07 10:06 blank.png -rw-r--r-- 1 focht focht 866583 2011-01-22 22:24 buildings2.png -rw-r--r-- 1 focht focht 655498 2011-01-22 22:22 buildings.png -rw-r--r-- 1 focht focht 903582 2010-11-09 13:43 comic01.png -rw-r--r-- 1 focht focht 1038633 2010-12-06 21:17 comicblank.png -rw-r--r-- 1 focht focht 8195 2010-12-06 21:27 comicfiller.png -rw-r--r-- 1 focht focht 3674 2010-11-16 19:20 icon.png -rw-r--r-- 1 focht focht 53320 2011-01-11 13:24 loading.jpg -rw-r--r-- 1 focht focht 515833 2010-11-12 21:06 portraits01.png -rw-r--r-- 1 focht focht 297300 2011-01-20 11:56 portraits03.png -rw-r--r-- 1 focht focht 4131 2011-02-24 14:22 thumb.png --- snip ---
If you copy one of the other to same folder, the game starts but fails at:
--- snip --- $ wine ./atomzombiesmasher.exe fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC80.CRT" (8.0.50608.0) wine: Call from 0x7b83821f to unimplemented function msvcp80.dll.??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z, aborting --- snip ---
I suspect the file was left out by accident and it should really _fail_ in this case.
The problem seems to be the error handling. The app makes usage of cerr object which isn't currently impl in Wine.
(I added annotations for %ecx instance refs to make it easier to read)
--- snip --- ... 0x1001ba6e: movl 0x1008c10c,%ecx ; msvcp90.__wine_stub_msvcp90_dll_1972 ; MSVCP90.?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
0x1001ba74: pushl %ecx 0x1001ba75: call 0x1001fd70 ; fetch ASCII "Unable to open file"
0x1001ba7a: movl 0x1008c110,%edx ; msvcp90.__wine_stub_msvcp90_dll_1610 ; MSVCP90.?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A
0x1001ba80: pushl %eax 0x1001ba81: pushl $0x100ef6a0 ; ASCII "". Reason : " 0x1001ba86: pushl %edi 0x1001ba87: pushl $0x100ef688 ; ASCII "Failed to load image "" 0x1001ba8c: pushl %edx 0x1001ba8d: call 0x10004ab0 ; *boom* (cerr referenced) ... --- snip ---
Because cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A is a stub symbol, any deref on this symbol (member ptr) will likely crash it.
Regards
http://bugs.winehq.org/show_bug.cgi?id=26025
--- Comment #4 from Piotr Caban piotr.caban@gmail.com 2012-06-25 12:38:42 CDT --- cerr is now exported from msvcp90. Please retest.
http://bugs.winehq.org/show_bug.cgi?id=26025
--- Comment #5 from Austin English austinenglish@gmail.com 2012-06-25 13:48:59 CDT --- (In reply to comment #4)
cerr is now exported from msvcp90. Please retest.
In wine-1.5.7-60-g9ceb1fc, mscodescan shows no unimplemented functions (yay!): austin@aw25 ~/.wine/drive_c/Program Files/Atom Zombie Smasher demo $ mscodescan File ./data/openal32.dll known to be from Creative, so assuming not a real Microsoft file. File ./data/Mono.Security.dll does not contain magic string 'microsoft corp', so assuming not a real Microsoft file. File ./unins000.exe known to be Ventica uninstaller, so assuming not a real Microsoft file. Found 1 bundled MS modules: ./data/csfml-graphics.dll
but it still fails: austin@aw25 ~/.wine/drive_c/Program Files/Atom Zombie Smasher demo/data $ wine atomzombiesmasher.exe fixme:iphlpapi:NotifyAddrChange (Handle 0xffe910, overlapped 0xffe91c): stub wine: configuration in '/home/austin/.wine' has been updated. Failed to load image "Stacktrace:
at (wrapper managed-to-native) SFML.Graphics.Image.sfImage_CreateFromFile (string) <0x00004> at (wrapper managed-to-native) SFML.Graphics.Image.sfImage_CreateFromFile (string) <0x00004> at SFML.Graphics.Image..ctor (string) <0x00010> at BlendoEngine.Assets.LoadTextures () <0x0008d> at BlendoEngine.LoadScreen.LoadAsset () <0x0000a> at BlendoEngine.LoadScreen.UpdateInput (single,BlendoEngine.InputManager) <0x00012> at BlendoEngine.ScreenManager.Update (single) <0x002d2> at BlendoEngine.Game1.Go (string[]) <0x00172> at BlendoEngine.Game1.Main (string[]) <0x0003e> at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0x00043> fixme:msvcr90:__clean_type_info_names_internal (0x1ff6ee4) stub fixme:msvcr90:__clean_type_info_names_internal (0x1fcc534) stub fixme:msvcr90:__clean_type_info_names_internal (0x101155b4) stub
which is similar to what's in 28922, though both bugs are for unimplemented functions. Would you rather a new bug for the misbehavior, and mark these two fixed?
http://bugs.winehq.org/show_bug.cgi?id=26025
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Atom Zombie Smasher demo |Atom Zombie Smasher demo |fails due to unimpl |fails due to start |MSVCP90.cerr@std@@3V?$basic | |_ostream@DU?$char_traits@D@ | |std@@@1@A |
http://bugs.winehq.org/show_bug.cgi?id=26025
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Atom Zombie Smasher demo |Atom Zombie Smasher demo |fails due to start |needs locale_ctor_cstr
http://bugs.winehq.org/show_bug.cgi?id=26025
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jaimerave@gmail.com
--- Comment #6 from Piotr Caban piotr.caban@gmail.com 2012-06-26 07:08:52 CDT --- *** Bug 28922 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=26025
--- Comment #7 from Piotr Caban piotr.caban@gmail.com 2012-06-26 07:14:06 CDT --- The demo is currently crashing because of an error in spec file (I'll send patch for it today).
When the first issue is solved the game crashes because it's trying to access a ctype<wchar> facet of locale that is not initialized. Implementation of locale_ctor_cstr and global locale objects initialization should fix this problem.
http://bugs.winehq.org/show_bug.cgi?id=26025
--- Comment #8 from Piotr Caban piotr.caban@gmail.com 2012-06-26 10:41:03 CDT --- (In reply to comment #7)
locale_ctor_cstr and global locale objects initialization should fix this
Global locale object is already created correctly (it's allocated lazily). The crash is only caused by missing locale_ctor_cstr function.
http://bugs.winehq.org/show_bug.cgi?id=26025
--- Comment #9 from Austin English austinenglish@gmail.com 2012-06-26 18:26:18 CDT --- (In reply to comment #7)
The demo is currently crashing because of an error in spec file (I'll send patch for it today).
When the first issue is solved the game crashes because it's trying to access a ctype<wchar> facet of locale that is not initialized. Implementation of locale_ctor_cstr and global locale objects initialization should fix this problem.
http://source.winehq.org/git/wine.git/commitdiff/9173de875a903df906f4ea723f4...
now it gets a bit further: Failed to load image "portraits02". Reason : Unable to open file fixme:msvcp90:locale_ctor_cstr (0x10115268 63) stub Stacktrace: ...
http://bugs.winehq.org/show_bug.cgi?id=26025
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |1f8fcf30f3ef343d557e0e7d8fb | |6005f7be3f6b6 Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #10 from Austin English austinenglish@gmail.com 2012-06-27 19:59:25 CDT --- http://source.winehq.org/git/wine.git/commitdiff/1f8fcf30f3ef343d557e0e7d8fb...
Working now, thanks!
http://bugs.winehq.org/show_bug.cgi?id=26025
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org 2012-07-03 14:15:13 CDT --- Closing bugs fixed in 1.5.8.