Q HeapAlloc.

Oliver Stieber oliver_stieber at yahoo.co.uk
Sun Jan 16 15:00:47 CST 2005

> Right, this is almost certainly a VMA layout issue.
> Try an
> echo 1 >/proc/sys/vm/legacy_va_layout

That's not there, (but my pc's a good 18 months old

> and see if that makes any difference. Also try
> disabling execshield if
> present:
> echo 0 >/proc/sys/kernel/exec-shield
> echo 0 >/proc/sys/kernel/exec-shield-randomize

Nope, no exec-shield

> and finally do an "export LD_USE_LOAD_BIAS=0" before
> running Wine (this
> should disable prelink for that process on recent
> glibcs).

Will do, i've also tried playing with the vm settings
which didn't help. 'swappiness, overcommit_memory,
overcommit_ratio, max_map_count and min_free_kbytes
> Finally if you do NOT have a flex-mmap kernel, that
> may also allow the
> win32 heap to grow as much as necessary.

I've tried doing...
int i;
int j;
char* data;
for(i =0 ; i< 10 ; i++){
 data = HeapAlloc(GetProcessHeap(),0,64*1024*1024);

/*write to the data for linux really allocates it*/
 for(j = 0 ; j < 128; j++){
   data[j*1024*512] = 1;

and that works ok.

> This does beg the question of how much RAM Pirates!
> expects to be able to
> allocate of course ....
Well, there's plenty free, and other apps can allocate
memory just fine.

I can possibly look at putting some  pooling code into
DirectX to help reduce fragmentation on that side
(though there's not a lot of memory allocated, and
it's mostly in the same sized blocks), or something in
malloc so that it reports the exact failure.

> thanks -mike

Oh, I also have an ATI graphics card.

ALL-NEW Yahoo! Messenger - all new features - even more fun! http://uk.messenger.yahoo.com

More information about the wine-devel mailing list