[Bug 26025] Atom Zombie Smasher demo fails due to unimpl MSVCP90.cerr at std@@3V?$basic_ostream at DU?$char_traits at D@std@@@1 at A
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun May 1 14:57:39 CDT 2011
http://bugs.winehq.org/show_bug.cgi?id=26025
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |focht at gmx.net
Summary|Atom Zombie Smasher demo: |Atom Zombie Smasher demo
|fails to run with builtin |fails due to unimpl
|msvcp80 |MSVCP90.cerr at std@@3V?$basic
| |_ostream at DU?$char_traits at D@
| |std@@@1 at A
--- Comment #3 from Anastasius Focht <focht at 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 at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at 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 at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 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 at std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@1 at 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 at std@@3V?$basic_ostream at DU?$char_traits at D@std@@@1 at 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 at std@@3V?$basic_ostream at DU?$char_traits at D@std@@@1 at A is a stub
symbol, any deref on this symbol (member ptr) will likely crash it.
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list