http://bugs.winehq.org/show_bug.cgi?id=30367
Bug #: 30367 Summary: Dota 2 claims it runs out of memory Product: Wine Version: 1.5.1 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: kelvie@ieee.org Classification: Unclassified
After a while, Dota 2 claims it runs out of memory:
$ zgrep DebugStr 2012-05-07-0009-wine-from-git.log.gz | uniq -c 1 000b:warn:debugstr:OutputDebugStringA "CHTTPRequestCache took 235 milliseconds to initialize\n" 1 0009:warn:debugstr:OutputDebugStringA "Adding license for package 515\n" 1 0009:warn:debugstr:OutputDebugStringA "Adding license for package 251\n" 1 0009:warn:debugstr:OutputDebugStringA "Adding license for package 1064\n" 1 0009:warn:debugstr:OutputDebugStringA "Adding license for package 2535\n" 1 0009:warn:debugstr:OutputDebugStringA "Adding license for package 4840\n" 1 0009:warn:debugstr:OutputDebugStringA "Adding license for package 0\n" 1 002a:warn:debugstr:OutputDebugStringA "roaming config store loaded successfully - 592 bytes.\n" 1 002a:warn:debugstr:OutputDebugStringA "migrating temporary roaming config store\n" 1 0009:warn:debugstr:OutputDebugStringA "Errors in resource\layout\uinavigatorpanel.layout:\nUnknown key 'scaling' set in style 'URLStatusImage' in file 'resource\layout\uinavigatorpanel.layout'\n" 1 0009:warn:debugstr:OutputDebugStringA "ExecCommandLine: ""C:\Program Files\Steam\steam.exe" -applaunch 570"\n" 1 0009:warn:debugstr:OutputDebugStringA "System startup time: 31.81 seconds\n" 1 002a:warn:debugstr:OutputDebugStringA "Game update: AppID 570 "Dota 2", ProcID 96, IP 0.0.0.0:0\n" 1 002a:warn:debugstr:OutputDebugStringA "saving roaming config store to 'sharedconfig.vdf'\n" 1 002a:warn:debugstr:OutputDebugStringA "roaming config store 2 saved successfully\n" 1 0061:warn:debugstr:OutputDebugStringA "GetWMIDeviceStats - Could not connect.\n" 1 0061:warn:debugstr:OutputDebugStringA "***** OUT OF MEMORY! attempted allocation size: 0 ****\n" 1 0061:warn:debugstr:OutputDebugStringA "Illegal termination of worker thread! Threads must negotiate an end to the thread before the CThread object is destroyed.\n" 238 001c:warn:debugstr:OutputDebugStringA "Failed to parse command (0)" 1 002a:warn:debugstr:OutputDebugStringA "Game removed: AppID 570 "Dota 2", ProcID 96 \n" 1 0009:warn:debugstr:OutputDebugStringA "Error: texture file 'public\steam_cloudsync' does not exist or is invalid\n" 1 002a:warn:debugstr:OutputDebugStringA "saving roaming config store to 'sharedconfig.vdf'\n" 1 002a:warn:debugstr:OutputDebugStringA "roaming config store 2 saved successfully\n"
TID 0061 has a lot of d3d warnings, so I assume it's the main thread, or the rendering thread? I'm not too well-versed into how games are coded.
Anyway, I have these d3d settings:
[Software\Wine\Direct3D] 1322029591 "DirectDrawRenderer"="opengl" "Multisampling"="disabled" "OffScreenRenderingMode"="pbuffer" "PixelShaderMode"="enabled" "UseGLSL"="disabled" "VertexShaderMode"="hardware" "VideoMemorySize"="1024"
I've attached the output after running with WINEDEBUG=err+all,fixme+all,warn+all,+tid
I initially suspected it was ALSA (as the sound would loop when it freezes), but I built this version of wine without ALSA support (latest Git version as of yesterday).
The game was run with -nod3d9ex (as we are supposed to for Source games).
I've tried to do a full trace, but it slows down the game too much to be of any use. I can fairly reliably reproduce this, and I am a code monkey myself (who isn't nowadays), so I can maybe help you guys fix this, if someone can show me how to debug this.