http://bugs.winehq.org/show_bug.cgi?id=26025 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |focht(a)gmx.net Summary|Atom Zombie Smasher demo: |Atom Zombie Smasher demo |fails to run with builtin |fails due to unimpl |msvcp80 |MSVCP90.cerr(a)std@@3V?$basic | |_ostream(a)DU?$char_traits(a)D@ | |std@@@1(a)A --- Comment #3 from Anastasius Focht <focht(a)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(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)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(a)D@std@@V?$allocator(a)D@1@@std@@YA_NABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)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(a)std@@YAAAV?$basic_ostream(a)DU?$char_traits(a)D@std@@@1(a)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(a)std@@3V?$basic_ostream(a)DU?$char_traits(a)D@std@@@1(a)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(a)std@@3V?$basic_ostream(a)DU?$char_traits(a)D@std@@@1(a)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.