Hi,
On SuSE 8.2, i586 glibc, loader/wine-* crash due to the 256 MB static array in main().
The test machine has just 64MB RAM and 200MB swap.
If I start decreasing the array it works, up to 201MB.
$ /lib/ld-linux.so.2 ./wine-kthread ./wine-kthread: error while loading shared libraries: ./wine-kthread: cannot map zero-fill pages: Cannot allocate memory $
So ld.so really wants to get 20xMB memory but fails.
-> Not good on low memory machines.
(Not sure if we should fix it.)
Btw, why don't we use -Wa,--noexecstack ?
Ciao, Marcus
Marcus Meissner meissner@suse.de writes:
So ld.so really wants to get 20xMB memory but fails.
-> Not good on low memory machines.
Hmmm I would have expected it to overcommit that memory. Do you have memory limits set?
Btw, why don't we use -Wa,--noexecstack ?
It doesn't help with prelink AFAICT.
On Mon, 2003-11-24 at 20:38, Alexandre Julliard wrote:
Btw, why don't we use -Wa,--noexecstack ?
It doesn't help with prelink AFAICT.
Is it really too late to get some kind of hook into prelink to stop it interfering with Wine? It seems daft that we need such a big hack when surely a flag in the elf headers would work just as well with co-operation from the rtld.
On Mon, Nov 24, 2003 at 12:38:34PM -0800, WINE wrote:
Marcus Meissner meissner@suse.de writes:
So ld.so really wants to get 20xMB memory but fails.
-> Not good on low memory machines.
Hmmm I would have expected it to overcommit that memory. Do you have memory limits set?
No. But the SuSE 8.2 has a "overcommit" sysctl, which is default off. In this case at least the SuSE kernel uses a heuristic on left over memory to chek mmap()s. And it limits it at this amount of memory apparently. If I do echo -n 1 >/proc/sys/vm/overcommit_memory it works again.
Ciao, Marcus