http://bugs.winehq.org/show_bug.cgi?id=32559
Bug #: 32559 Summary: Warlock - Master of the Arcane 1.4 crashes on startup Product: Wine Version: 1.5.20 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: msvcrt AssignedTo: wine-bugs@winehq.org ReportedBy: beshwa@gmail.com Classification: Unclassified
Created attachment 42965 --> http://bugs.winehq.org/attachment.cgi?id=42965 Crash output
Warlock - Master of the Arcane 1.4 from Steam crashes on startup with an exception.
http://bugs.winehq.org/show_bug.cgi?id=32559
Andrew Clark beshwa@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal
http://bugs.winehq.org/show_bug.cgi?id=32559
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69@gmail.com
--- Comment #1 from GyB gyebro69@gmail.com 2012-12-29 01:24:45 CST --- Could you attach the complete terminal output?
I can't reproduce the crash with the demo on Steam, the game starts fine even with built-in msvcp90,msvcr90 dlls. Only native d3dx9_36 is needed (instead of native d3dx9_43). However the demo version is 1.0.2.1 not 1.4.
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #2 from Adam fidor@fidor.org 2012-12-29 17:56:00 CST --- Created attachment 43014 --> http://bugs.winehq.org/attachment.cgi?id=43014 Full terminal ouput from Steam start to the game crash
I'm also affected by this bug(wine 1.5.19 and 1.5.20). However the demo of this game was working perfectly fine. One more thing: before the game begins (and crash) it always performs DirectX instalation.
http://bugs.winehq.org/show_bug.cgi?id=32559
Adam fidor@fidor.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fidor@fidor.org
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #3 from GyB gyebro69@gmail.com 2012-12-29 21:50:56 CST --- (In reply to comment #2)
Created attachment 43014 [details] Full terminal ouput from Steam start to the game crash
I'm also affected by this bug(wine 1.5.19 and 1.5.20). However the demo of this game was working perfectly fine. One more thing: before the game begins (and crash) it always performs DirectX instalation.
The crash shown in your log looks like a different issue and reminds me of bug #32593. The backtrace however lacks debugging symbols, you need to install debug package Wine (or compile Wine from source) to get a proper backtrace.
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #4 from Andrew Clark beshwa@gmail.com 2012-12-29 22:30:34 CST --- The demo works fine for me. The full install of the game via Steam does not.
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #5 from Adam fidor@fidor.org 2012-12-30 07:31:46 CST --- (In reply to comment #3)
(In reply to comment #2)
Created attachment 43014 [details] Full terminal ouput from Steam start to the game crash
I'm also affected by this bug(wine 1.5.19 and 1.5.20). However the demo of this game was working perfectly fine. One more thing: before the game begins (and crash) it always performs DirectX instalation.
The crash shown in your log looks like a different issue and reminds me of bug #32593. The backtrace however lacks debugging symbols, you need to install debug package Wine (or compile Wine from source) to get a proper backtrace.
I've installed wine1.5-dbg from ppa.launchpad.net and rerun the Warlock again. Unfortunately the terminal output did not contain any additional information.
---backtrace--- Backtrace: =>0 0xf6ee12bc in dsound (+0x212bc) (0x043af248) 1 0xf6ed7904 in dsound (+0x17903) (0x043af2d8) 2 0xf6ed8021 in dsound (+0x18020) (0x043af328) 3 0xf6ed6b72 DirectSoundCreate8+0x1a1() in dsound (0x043af398) 4 0x7bc65f1a call_entry_point+0x29() in ntdll (0x043af3c8) 5 0x7bc66b3b SNOOP_Return+0xbf6() in ntdll (0x043af424) 6 0xf6ecd309 in dsound (+0xd308) (0x043af4f0) 7 0x050ab406 in fmodex (+0xb405) (0x043af4f0) 8 0x050abe41 in fmodex (+0xbe40) (0x043af524) 9 0x051259dc in fmodex (+0x859db) (0x043af718) 10 0x050bb4a1 in fmodex (+0x1b4a0) (0x043af72c) 11 0x003bca03 in fmod_event (+0x2ca02) (0x10733010) 12 0x00000002 (0x046b27fc) 13 0x044c2ac0 in gameui (+0x112abf) (0x043c9900) 0xf6ee12bc: movl 0x0(%eax),%edx
[...] ---backtrace---
Running the wine with WINEDEBUG=+relay,+seh,+tid results in 21MB file - compressed (file size before compression was 1.5GB).
I've search though the wine wiki/documentation and I was unable to find any additional switches or procedure how to use debbuging symbols. Should I attach that file or should I use some other options/switches or different command line to get the required information?
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #6 from Andrew Clark beshwa@gmail.com 2012-12-30 11:12:37 CST --- Created attachment 43023 --> http://bugs.winehq.org/attachment.cgi?id=43023 Game debug log
Debug log from game itself
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #7 from Andrew Clark beshwa@gmail.com 2012-12-30 11:13:03 CST --- Created attachment 43024 --> http://bugs.winehq.org/attachment.cgi?id=43024 Game crashdump log
Crashdump file from game itself
http://bugs.winehq.org/show_bug.cgi?id=32559
Adam fidor@fidor.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #43014|0 |1 is obsolete| |
--- Comment #8 from Adam fidor@fidor.org 2012-12-30 16:28:50 CST --- Created attachment 43035 --> http://bugs.winehq.org/attachment.cgi?id=43035 Full terminal ouput from Steam start to the game crash (with sound disabled)
I've disabled the sound using winetricks and now I think I'm getting exactly the same crash as others. I'm attaching the terminal output and if needed I can give more debugging informations. I've tried to set msvcr90 to native mode and the crash looked little bit different:
---cut--- nhandled exception: page fault on write access to 0x0bea1000 in 32-bit code (0xf758f032). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:f758f032 ESP:043af788 EBP:043af7bc EFLAGS:00010206( R- -- I - -P- ) EAX:152a9ff0 EBX:f75fd000 ECX:00000010 EDX:0bea0ff0 ESI:00001000 EDI:1416ac94 Stack dump: 0x043af788: 7e857ff4 7e83296e 0bea0020 152a9000 0x043af798: 00001000 7bc7ab3e 1586c950 043ea102 0x043af7a8: 00000034 0f42c8c0 00000000 1416ac94 0x043af7b8: 00000000 00000040 043e9b24 0bea0020 0x043af7c8: 152a9000 00001000 043ea892 0bea0020 0x043af7d8: 152a9000 00001000 00000000 00000000 Backtrace: =>0 0xf758f032 in libc.so.6 (+0x138032) (0x043af7bc) 1 0x7e83296e MSVCRT_memcpy+0x2d() in msvcrt (0x043af7bc) 0xf758f032: movq %mm1,0x10(%edx) Modules: ---cut---
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #9 from GyB gyebro69@gmail.com 2012-12-31 00:55:43 CST --- Please install debug package for Wine (or compile Wine from source), set msvcp90,msvcr90 to built-in in winecfg and attach a new backtrace (hopefully it will provide a usable backtrace).
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #10 from Adam fidor@fidor.org 2012-12-31 20:33:43 CST --- Created attachment 43048 --> http://bugs.winehq.org/attachment.cgi?id=43048 Warlock terminal output and backtrace with built-in (warlock_2013-01-01-0330.txt)
I'll describe all my steps, just to make sure:
I've installed dbg packages (the amd64 was already installed):
sudo apt-get install wine1.5-dbg:i386 wine1.5-dbg:amd64
I've setup the following libraries: ---user.reg--- [Software\Wine\DllOverrides] 1357006580 "*dwrite"="" "*gameoverlayrenderer"="" "msvcp90"="builtin" "msvcr90"="builtin" ---user.reg---
I've started the game.exe as usual with the following command: fidor@Fidor-PC:~/.wine/drive_c/Program Files (x86)/Steam/steamapps/common/Warlock - Master of the Arcane$ LANG=en_US wine game.exe
(the Steam was already running so I could launch the game itself, launching the game from Steam gives the same results)
I've received the terminal output that I'm attaching: warlock_2013-01-01-0330.txt
Am I missing some step or doing sth wrong? I just want to be 100% sure since the output looks very similar to previous ones.
http://bugs.winehq.org/show_bug.cgi?id=32559
Claus subcore@icb.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |subcore@icb.at
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #11 from Andrew Clark beshwa@gmail.com 2013-02-19 11:04:38 CST --- Test with Wine 1.5.24 - same crash point. Debug attached to bug.
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #12 from Andrew Clark beshwa@gmail.com 2013-02-19 11:10:24 CST --- Created attachment 43641 --> http://bugs.winehq.org/attachment.cgi?id=43641 Backtrace
Backtrace with wine 1.5.24
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #13 from Andrew Clark beshwa@gmail.com 2013-02-20 11:05:41 CST --- Created attachment 43653 --> http://bugs.winehq.org/attachment.cgi?id=43653 Wine debug output - last 10000 lines (hopefully enough)
Game run as follows
WINEDEBUG=+relay,+snoop wine game.exe &> /tmp/warlock_mota_debug.log
tail -10000 /tmp/warlock_mota_debug.log | bzip2 > warlock_mota_debug.log.bz2
http://bugs.winehq.org/show_bug.cgi?id=32559
Andrew Clark beshwa@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.5.20 |1.5.24
http://bugs.winehq.org/show_bug.cgi?id=32559
Andrew Clark beshwa@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.5.24 |1.6-rc2
--- Comment #14 from Andrew Clark beshwa@gmail.com 2013-06-15 17:50:17 CDT --- Still crashes in Wine 1.6-rc2
wine: Unhandled page fault on write access to 0x0bfa1000 at address 0x78544682 (thread 0067), starting debugger... Unhandled exception: page fault on write access to 0x0bfa1000 in 32-bit code (0x78544682). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:78544682 ESP:043af784 EBP:043af78c EFLAGS:00010202( R- -- I - - - ) EAX:0bfa0020 EBX:17d88000 ECX:00000001 EDX:00000000 ESI:17d88f80 EDI:0bfa0fa0 Stack dump: 0x043af784: 00001000 00000000 043af7bc 785446fc 0x043af794: 0bfa0020 17d88000 00001000 0000000b 0x043af7a4: 00000000 00000034 17d88000 16b3dc94 0x043af7b4: 00001000 11b608c0 00000040 043e9b24 0x043af7c4: 0bfa0020 17d88000 00001000 043ea892 0x043af7d4: 0bfa0020 17d88000 00001000 00000000 Backtrace: =>0 0x78544682 in msvcr90 (+0x24682) (0x043af78c) 1 0x785446fc in msvcr90 (+0x246fb) (0x043af7bc) 0x78544682: movq %mm6,0x60(%edi)
http://bugs.winehq.org/show_bug.cgi?id=32559
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.6-rc2 |1.5.20
http://bugs.winehq.org/show_bug.cgi?id=32559
Alexander Brüning lama@lamamail.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lama@lamamail.de
--- Comment #15 from Alexander Brüning lama@lamamail.de --- Still happening with 1.7.13, same error (it's on sale right now on Steam).
http://bugs.winehq.org/show_bug.cgi?id=32559
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #16 from joaopa jeremielapuree@yahoo.fr --- A backtrace with debugs symbols installed would be more useful.
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #17 from Alexander Brüning lama@lamamail.de --- Created attachment 47683 --> http://bugs.winehq.org/attachment.cgi?id=47683 Backtrace with wine-git (2014-03-02)
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #18 from Alexander Brüning lama@lamamail.de --- Created attachment 47684 --> http://bugs.winehq.org/attachment.cgi?id=47684 Last 100000 lines of WINEDEBUG=+all
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #19 from Alexander Brüning lama@lamamail.de --- Hope those are alright.
http://bugs.winehq.org/show_bug.cgi?id=32559
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|msvcrt |-unknown Summary|Warlock - Master of the |Warlock - Master of the |Arcane 1.4 crashes on |Arcane 1.4 (Steam) crashes |startup |on startup
--- Comment #20 from Anastasius Focht focht@gmx.net --- Hello Alexander,
unfortunately the trace log you attached is too short. The backtrace/page fault is a secondary one, the real damage had already been done before.
Within the log I spotted this:
--- snip --- 240019.969:002a:Ret dbghelp.MiniDumpWriteDump() retval=00000001 ret=00402a55 ... <crash here> --- snip ---
The app installs its own crash handler which calls dbghelp.MiniDumpWriteDump() on unhandled faults. Unfortunately the call is not in your log file.
Please generate a new log. Also use 'append' mode because the app is multi-threaded which tends to produce interleaving messages, messing up the trace.
--- snip --- $ WINEDEBUG= ... >>log.txt 2>&1 --- snip ---
BTW .. I found a distributed 'backup' for testing. The game starts for me in clean WINEPREFIX without crash.
After the intro animation/splash screens, a main menu is shown with some wizard guy and glowing effects on the left hand side.
The main menu isn't actually visible because of this:
--- snip --- fixme:hlsl_parser:hlsl_parse Array. err:d3dcompiler:compile_shader HLSL shader parsing failed. --- snip ---
After doing 'winetricks d3dcompiler_43' the main menu is properly shown and I was able to play the game. The d3d compiler shortcoming is definitely a dupe of existing bugs.
Did you really install the game in an own, clean WINEPREFIX? Installing multiple games and their prerequisites in the same prefix tends to mess it up at one point, leading to crashes.
Regards
http://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #21 from Alexander Brüning lama@lamamail.de --- I've completely reinstalled the game in a fresh prefix, still the same error. Removing the DRM or installing the shader compiler doesn't help either. I'm using a Nvidia GPU and 64-bit WINE if that helps.
--- snip --- $ WINEDEBUG= ... >>log.txt 2>&1 --- snip ---
What should I set WINEDEBUG to for this? I've tried a few recommended settings that left me with a huge (>600MB) log file.
https://bugs.winehq.org/show_bug.cgi?id=32559
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW URL| |http://store.steampowered.c | |om/app/203630/ Component|-unknown |directx-d3d Ever confirmed|0 |1
--- Comment #22 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming, bought the game to check myself.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Steam
$ WINEDEBUG=+tid,+seh,+d3d9,+d3d,+relay,+d3d_surfacewine ./steam.exe -no-dwrite -applaunch 203630 -windowed >>log.txt 2>&1 ... 005d:trace:d3d9:d3d9_device_CreateTexture iface 0x19e0d0, width 2048, height 512, levels 11, usage 0, format 0x35545844, pool 0x1, texture 0x15a282e4, shared_handle (nil). 005d:Call ntdll.RtlAllocateHeap(00110000,00000008,00000018) ret=7eda24fc 005d:Ret ntdll.RtlAllocateHeap() retval=0e697b68 ret=7eda24fc 005d:Call wined3d.wined3d_mutex_lock() ret=7edb5a8c 005d:Ret wined3d.wined3d_mutex_lock() retval=00000000 ret=7edb5a8c 005d:Call wined3d.wined3d_texture_create(001b7c60,0431f7c8,0000000b,00000001,0e697b68,7edc7e78,0e697b78) ret=7edb5aca 005d:Call ntdll.RtlAllocateHeap(00110000,00000008,00000148) ret=7ed20406 005d:Ret ntdll.RtlAllocateHeap() retval=0e697b88 ret=7ed20406 005d:trace:d3d:device_resource_add device 0x1b7c60, resource 0xe697b88. 005d:Call ntdll.RtlAllocateHeap(00110000,00000008,0000002c) ret=7ed1bf16 005d:Ret ntdll.RtlAllocateHeap() retval=0e697cd8 ret=7ed1bf16 005d:fixme:d3d:debug_d3dusage Unrecognized usage flag(s) 0x10000000 005d:trace:d3d_surface:wined3d_surface_create container 0xe697b88, width 2048, height 512, format WINED3DFMT_DXT5, usage 0 (0x10000000), pool WINED3D_POOL_MANAGED, multisample_type 0, multisample_quality 0, target 0xde1, level 0, flags 0x1, surface 0x431f630. 005d:Call ntdll.RtlAllocateHeap(00110000,00000008,00000114) ret=7ed17888 005d:Ret ntdll.RtlAllocateHeap() retval=0e697d10 ret=7ed17888 005d:Call ntdll.RtlAllocateHeap(00110000,00000008,00100013) ret=7ecae2f6 005d:Ret ntdll.RtlAllocateHeap() retval=1b7e0020 ret=7ecae2f6 005d:trace:d3d:device_resource_add device 0x1b7c60, resource 0xe697d10. 005d:trace:d3d_surface:surface_set_container surface 0xe697d10, container 0xe697b88. 005d:trace:d3d_surface:surface_validate_location surface 0xe697d10, location WINED3D_LOCATION_SYSMEM. 005d:trace:d3d_surface:surface_private_setup surface 0xe697d10. 005d:trace:d3d9:device_parent_surface_created device_parent 0x19e0d4, container_parent 0xe697b68, surface 0xe697d10, parent 0x431f5a4, parent_ops 0x431f5a8. ... 005d:Call wined3d.wined3d_surface_map(0e697d10,0431f704,00000000,00000000) ret=7edb0b06 005d:trace:d3d_surface:wined3d_surface_map surface 0xe697d10, map_desc 0x431f704, rect (null), flags 0. 005d:trace:d3d_surface:surface_prepare_system_memory surface 0xe697d10. 005d:trace:d3d_surface:surface_load_location surface 0xe697d10, location WINED3D_LOCATION_SYSMEM. 005d:trace:d3d_surface:surface_load_location Location already up to date. 005d:fixme:d3d:wined3d_debug_location Unrecognized location flag(s) 0xfffffc00. 005d:trace:d3d_surface:surface_invalidate_location surface 0xe697d10, location WINED3D_LOCATION_DISCARDED | WINED3D_LOCATION_USER_MEMORY | WINED3D_LOCATION_DIB | WINED3D_LOCATION_BUFFER | WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB | WINED3D_LOCATION_DRAWABLE |. 005d:trace:d3d_surface:wined3d_surface_get_pitch surface 0xe697d10. 005d:trace:d3d_surface:wined3d_surface_get_pitch Returning 8192. 005d:trace:d3d_surface:wined3d_surface_map Locked rect (0,0)-(2048,512). 005d:trace:d3d_surface:wined3d_surface_map Returning memory 0x1b7e0030, pitch 8192. 005d:Ret wined3d.wined3d_surface_map() retval=00000000 ret=7edb0b06 ... 005d:Call msvcr90.memcpy(1b7e0030,14507000,00002000) ret=04359c04 005d:Ret msvcr90.memcpy() retval=1b7e0030 ret=04359c04 005d:Call msvcr90.memcpy(1b7e2030,14509000,00002000) ret=04359c04 005d:Ret msvcr90.memcpy() retval=1b7e2030 ret=04359c04 ... 005d:Call msvcr90.memcpy(1b8d8030,145ff000,00002000) ret=04359c04 005d:Ret msvcr90.memcpy() retval=1b8d8030 ret=04359c04 005d:Call msvcr90.memcpy(1b8da030,14601000,00002000) ret=04359c04 005d:Ret msvcr90.memcpy() retval=1b8da030 ret=04359c04 005d:Call msvcr90.memcpy(1b8dc030,14603000,00002000) ret=04359c04 005d:Ret msvcr90.memcpy() retval=1b8dc030 ret=04359c04 005d:Call msvcr90.memcpy(1b8de030,14605000,00002000) ret=04359c04 005d:Ret msvcr90.memcpy() retval=1b8de030 ret=04359c04 005d:Call msvcr90.memcpy(1b8e0030,14607000,00001000) ret=04359c04 005d:trace:seh:raise_exception code=c0000005 flags=0 addr=0xf7570842 ip=f7570842 tid=005d 005d:trace:seh:raise_exception info[0]=00000001 005d:trace:seh:raise_exception info[1]=1b8e1000 005d:trace:seh:raise_exception eax=14607ff0 ebx=f75e0000 ecx=00000010 edx=1b8e1000 esi=00000800 edi=00003800 005d:trace:seh:raise_exception ebp=0431f748 esp=0431f720 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010206 005d:trace:seh:call_stack_handlers calling handler at 0x6b6bb0 code=c0000005 flags=0 --- snip ---
The surface (system) memory in question is 0x1b7e0020
--- snip --- 005d:trace:d3d_surface:wined3d_surface_create container 0xe697b88, width 2048, height 512, format WINED3DFMT_DXT5, usage 0 (0x10000000), pool WINED3D_POOL_MANAGED, multisample_type 0, multisample_quality 0, target 0xde1, level 0, flags 0x1, surface 0x431f630. 005d:Call ntdll.RtlAllocateHeap(00110000,00000008,00000114) ret=7ed17888 005d:Ret ntdll.RtlAllocateHeap() retval=0e697d10 ret=7ed17888 005d:Call ntdll.RtlAllocateHeap(00110000,00000008,00100013) ret=7ecae2f6 005d:Ret ntdll.RtlAllocateHeap() retval=1b7e0020 ret=7ecae2f6 --- snip ---
--- snip --- wined3d_surface_map Returning memory 0x1b7e0030, pitch 8192. --- snip ---
This would give a range until 0x1b8e0033 (see heap alloc with 0x100013 size).
The game engine fills surface memory in a loop with memcpy() calls (0x2000 = 8192 pitch) In the last copy call which causes the page fault a 4096 pitch is used for whatever reason (remainder?).
Unfortunately this is a bit of pain to debug since the game even 'escapes' the virtual desktop mode, bringing my preferred gui debugger down.
Maybe Henry or Stefan can give a hint.
Regards
https://bugs.winehq.org/show_bug.cgi?id=32559
--- Comment #23 from Henri Verbeet hverbeet@gmail.com --- This could be a duplicate of bug 34480. On windows writing past the end of mip levels tends to work because the entire mipchain is allocated contiguously. That assumes that the application behaves like this on Windows as well though.
https://bugs.winehq.org/show_bug.cgi?id=32559
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE Summary|Warlock - Master of the |Warlock - Master of the |Arcane 1.4 (Steam) crashes |Arcane 1.4 (Steam) crashes |on startup |on startup (game engine | |writes past the end of mip | |level, mipchain must be | |allocated contiguously)
--- Comment #24 from Anastasius Focht focht@gmx.net --- Hello Henri,
--- quote --- This could be a duplicate of bug 34480. On windows writing past the end of mip levels tends to work because the entire mipchain is allocated contiguously. That assumes that the application behaves like this on Windows as well though. --- quote ---
it's indeed as you say. I did what Stefan suggested in bug 34480 (https://bugs.winehq.org/show_bug.cgi?id=34480#c7)
--- quote --- A quick and dirty workaround would be to allocate twice the amount of memory for each resource in wined3d_resource_allocate_sysmem(). --- quote ---
and the game starts fine. The graphics/gameplay is looking good :)
Relay log with hack applied, showing the game really assumes contiguous mipchain allocation:
11 levels: 0x2000,0x1000,0x800,0x400,0x200,0x100,0x80,0x40,0x20,0x10,0x8
--- snip --- 005a:trace:d3d9:d3d9_device_CreateTexture iface 0x19b4a0, width 2048, height 512, levels 11, usage 0, format 0x35545844, pool 0x1, texture 0x189772e4, shared_handle (nil). 005a:Call ntdll.RtlAllocateHeap(00110000,00000008,00000018) ret=7edd74fc 005a:Ret ntdll.RtlAllocateHeap() retval=12bfcc78 ret=7edd74fc 005a:Call wined3d.wined3d_mutex_lock() ret=7edeaa8c 005a:Ret wined3d.wined3d_mutex_lock() retval=00000000 ret=7edeaa8c 005a:Call wined3d.wined3d_texture_create(001b7b78,0431f7c8,0000000b,00000001,12bfcc78,7edfce78,12bfcc88) ret=7edeaaca 005a:Call ntdll.RtlAllocateHeap(00110000,00000008,00000148) ret=7ed5540e 005a:Ret ntdll.RtlAllocateHeap() retval=12bfcc98 ret=7ed5540e 005a:trace:d3d:device_resource_add device 0x1b7b78, resource 0x12bfcc98. 005a:Call ntdll.RtlAllocateHeap(00110000,00000008,0000002c) ret=7ed50f1e 005a:Ret ntdll.RtlAllocateHeap() retval=12bfcde8 ret=7ed50f1e 005a:fixme:d3d:debug_d3dusage Unrecognized usage flag(s) 0x10000000 005a:trace:d3d_surface:wined3d_surface_create container 0x12bfcc98, width 2048, height 512, format WINED3DFMT_DXT5, usage 0 (0x10000000), pool WINED3D_POOL_MANAGED, multisample_type 0, multisample_quality 0, target 0xde1, level 0, flags 0x1, surface 0x431f630. 005a:Call ntdll.RtlAllocateHeap(00110000,00000008,00000114) ret=7ed4c890 005a:Ret ntdll.RtlAllocateHeap() retval=12bfce20 ret=7ed4c890 005a:Call ntdll.RtlAllocateHeap(00110000,00000008,00200013) ret=7ece32fe 005a:Ret ntdll.RtlAllocateHeap() retval=2277a020 ret=7ece32fe 005a:trace:d3d:device_resource_add device 0x1b7b78, resource 0x12bfce20. 005a:trace:d3d_surface:surface_set_container surface 0x12bfce20, container 0x12bfcc98. 005a:trace:d3d_surface:surface_validate_location surface 0x12bfce20, location WINED3D_LOCATION_SYSMEM. 005a:trace:d3d_surface:surface_private_setup surface 0x12bfce20. 005a:trace:d3d9:device_parent_surface_created device_parent 0x19b4a4, container_parent 0x12bfcc78, surface 0x12bfce20, parent 0x431f5a4, parent_ops 0x431f5a8. ... 005a:trace:d3d_surface:wined3d_surface_map surface 0x12bfce20, map_desc 0x431f704, rect (null), flags 0. 005a:trace:d3d_surface:surface_prepare_system_memory surface 0x12bfce20. 005a:trace:d3d_surface:surface_load_location surface 0x12bfce20, location WINED3D_LOCATION_SYSMEM. 005a:trace:d3d_surface:surface_load_location Location already up to date. 005a:fixme:d3d:wined3d_debug_location Unrecognized location flag(s) 0xfffffc00. 005a:trace:d3d_surface:surface_invalidate_location surface 0x12bfce20, location WINED3D_LOCATION_DISCARDED | WINED3D_LOCATION_USER_MEMORY | WINED3D_LOCATION_DIB | WINED3D_LOCATION_BUFFER | WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB | WINED3D_LOCATION_DRAWABLE |. 005a:trace:d3d_surface:wined3d_surface_get_pitch surface 0x12bfce20. 005a:trace:d3d_surface:wined3d_surface_get_pitch Returning 8192. 005a:trace:d3d_surface:wined3d_surface_map Locked rect (0,0)-(2048,512). 005a:trace:d3d_surface:wined3d_surface_map Returning memory 0x2277a030, pitch 8192. 005a:Ret wined3d.wined3d_surface_map() retval=00000000 ret=7ede5b06 ... 005a:Call msvcr90.memcpy(2277a030,17457000,00002000) ret=04359c04 005a:Ret msvcr90.memcpy() retval=2277a030 ret=04359c04 005a:Call msvcr90.memcpy(2277c030,17459000,00002000) ret=04359c04 005a:Ret msvcr90.memcpy() retval=2277c030 ret=04359c04 005a:Call msvcr90.memcpy(2277e030,1745b000,00002000) ret=04359c04 005a:Ret msvcr90.memcpy() retval=2277e030 ret=04359c04 ... 005a:Call msvcr90.memcpy(22876030,17553000,00002000) ret=04359c04 005a:Ret msvcr90.memcpy() retval=22876030 ret=04359c04 005a:Call msvcr90.memcpy(22878030,17555000,00002000) ret=04359c04 005a:Ret msvcr90.memcpy() retval=22878030 ret=04359c04 005a:Call msvcr90.memcpy(2287a030,17557000,00001000) ret=04359c04 005a:Ret msvcr90.memcpy() retval=2287a030 ret=04359c04 005a:Call msvcr90.memcpy(2287b030,17558000,00001000) ret=04359c04 005a:Ret msvcr90.memcpy() retval=2287b030 ret=04359c04 ... 005a:Call msvcr90.memcpy(228b8030,17595000,00001000) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228b8030 ret=04359c04 005a:Call msvcr90.memcpy(228b9030,17596000,00001000) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228b9030 ret=04359c04 005a:Call msvcr90.memcpy(228ba030,17597000,00000800) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228ba030 ret=04359c04 005a:Call msvcr90.memcpy(228ba830,17597800,00000800) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228ba830 ret=04359c04 ... 005a:Call msvcr90.memcpy(228c9030,175a6000,00000800) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228c9030 ret=04359c04 005a:Call msvcr90.memcpy(228c9830,175a6800,00000800) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228c9830 ret=04359c04 005a:Call msvcr90.memcpy(228ca030,175a7000,00000400) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228ca030 ret=04359c04 005a:Call msvcr90.memcpy(228ca430,175a7400,00000400) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228ca430 ret=04359c04 ... 005a:Call msvcr90.memcpy(228cd830,175aa800,00000400) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cd830 ret=04359c04 005a:Call msvcr90.memcpy(228cdc30,175aac00,00000400) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cdc30 ret=04359c04 005a:Call msvcr90.memcpy(228ce030,175ab000,00000200) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228ce030 ret=04359c04 005a:Call msvcr90.memcpy(228ce230,175ab200,00000200) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228ce230 ret=04359c04 ... 005a:Call msvcr90.memcpy(228cec30,175abc00,00000200) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cec30 ret=04359c04 005a:Call msvcr90.memcpy(228cee30,175abe00,00000200) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cee30 ret=04359c04 005a:Call msvcr90.memcpy(228cf030,175ac000,00000100) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cf030 ret=04359c04 005a:Call msvcr90.memcpy(228cf130,175ac100,00000100) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cf130 ret=04359c04 005a:Call msvcr90.memcpy(228cf230,175ac200,00000100) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cf230 ret=04359c04 005a:Call msvcr90.memcpy(228cf330,175ac300,00000100) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cf330 ret=04359c04 005a:Call msvcr90.memcpy(228cf430,175ac400,00000080) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cf430 ret=04359c04 005a:Call msvcr90.memcpy(228cf4b0,175ac480,00000080) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cf4b0 ret=04359c04 005a:Call msvcr90.memcpy(228cf530,175ac500,00000040) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cf530 ret=04359c04 005a:Call msvcr90.memcpy(228cf570,175ac540,00000020) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cf570 ret=04359c04 005a:Call msvcr90.memcpy(228cf590,175ac560,00000010) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cf590 ret=04359c04 005a:Call msvcr90.memcpy(228cf5a0,175ac570,00000008) ret=04359c04 005a:Ret msvcr90.memcpy() retval=228cf5a0 ret=04359c04 005a:trace:d3d9:d3d9_texture_2d_UnlockRect iface 0x12bfcc78, level 0. 005a:Call wined3d.wined3d_mutex_lock() ret=7ede8260 005a:Ret wined3d.wined3d_mutex_lock() retval=00000000 ret=7ede8260 005a:Call wined3d.wined3d_texture_get_sub_resource(12bfcc98,00000000) ret=7ede8275 005a:Ret wined3d.wined3d_texture_get_sub_resource() retval=12bfce20 ret=7ede8275 005a:Call wined3d.wined3d_resource_get_parent(12bfce20) ret=7ede8292 005a:Ret wined3d.wined3d_resource_get_parent() retval=12bfcf40 ret=7ede8292 005a:trace:d3d9:d3d9_surface_UnlockRect iface 0x12bfcf40. 005a:Call wined3d.wined3d_mutex_lock() ret=7ede5bb3 005a:Ret wined3d.wined3d_mutex_lock() retval=00000000 ret=7ede5bb3 005a:Call wined3d.wined3d_surface_unmap(12bfce20) ret=7ede5bc2 005a:trace:d3d_surface:wined3d_surface_unmap surface 0x12bfce20. 005a:trace:d3d_surface:surface_unmap surface 0x12bfce20. 005a:Ret wined3d.wined3d_surface_unmap() retval=00000000 ret=7ede5bc2 --- snip ---
$ wine --version wine-1.7.17-129-gb84e112
Regards
*** This bug has been marked as a duplicate of bug 34480 ***
http://bugs.winehq.org/show_bug.cgi?id=32559
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #25 from Béla Gyebrószki gyebro69@gmail.com --- closing abandoned/invalid/duplicate bugs