http://bugs.winehq.org/show_bug.cgi?id=35256
Bug ID: 35256 Summary: Skyrim - "Not enough memory to run application" error Product: Wine Version: 1.7.8 Hardware: x86-64 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: kernel32 Assignee: wine-bugs@winehq.org Reporter: micferg78@gmail.com Classification: Unclassified
Created attachment 47022 --> http://bugs.winehq.org/attachment.cgi?id=47022 Wine identifies 200MB out of 30GB of available userland memory
Occasionally when attempting to run Skyrim (or other memory intensive programs) through Wine on OS X, a "Memory Error: Not enough memory to run application" popup will appear and the program will exit.
Simple workarounds: logging out and back in, rebooting.
I believe this is caused by GlobalMemoryStatusEx() in kernel32/heap.c returning wildly incorrect values (see the attached log for an example from a system with 32GB of memory - most of it available).
On OS X and BSDs, GlobalMemoryStatusEx() still gets the total system memory (ullTotalPhys) by asking sysctl() for the value of HW_PHYSMEM, which is capped at 2GB. The available system memory (ullAvailPhys) is determined by asking sysctl() for HW_USERMEM, which is also apparently 32-bit and overflows dreadfully. On OS X, Wine temporarily stores both values in an unsigned int.
I recompiled kernel32.dll.so using HW_MEMSIZE in place of HW_PHYSMEM and a kludged value for ullAvailPhys; Skyrim now runs reliably. The example patch will also be attached for anyone who can reproduce this issue.
http://bugs.winehq.org/show_bug.cgi?id=35256
--- Comment #1 from mjf micferg78@gmail.com --- Created attachment 47023 --> http://bugs.winehq.org/attachment.cgi?id=47023 sample patch for kernel32/heap.c
http://bugs.winehq.org/show_bug.cgi?id=35256
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #2 from Ken Sharp imwellcushtymelike@gmail.com --- Patches aren't picked up here, please see http://wiki.winehq.org/SubmittingPatches
Thanks.
http://bugs.winehq.org/show_bug.cgi?id=35256
--- Comment #3 from mjf micferg78@gmail.com --- The diff posted is intended as more of a diagnostic aid rather than an actual patch.
I suppose I could submit something more formal but I'd prefer to see someone else reproduce this problem first.
http://bugs.winehq.org/show_bug.cgi?id=35256
--- Comment #4 from Ken Thomases ken@codeweavers.com --- I've submitted a series of patches that should fix this:
http://source.winehq.org/patches/data/102523 http://source.winehq.org/patches/data/102525 http://source.winehq.org/patches/data/102524 http://source.winehq.org/patches/data/102526 http://source.winehq.org/patches/data/102527 http://source.winehq.org/patches/data/102528 http://source.winehq.org/patches/data/102529
http://bugs.winehq.org/show_bug.cgi?id=35256
Ken Thomases ken@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |a34e52cc9374c56cce0bc47555c | |6390defbfe252 Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #5 from Ken Thomases ken@codeweavers.com --- Should be fixed by: http://source.winehq.org/git/wine.git/?a=commit;h=a34e52cc9374c56cce0bc47555...
https://bugs.winehq.org/show_bug.cgi?id=35256
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.13.