https://bugs.winehq.org/show_bug.cgi?id=48172
--- Comment #14 from Fabian Maurer dark.shadow4@web.de --- Created attachment 74702 --> https://bugs.winehq.org/attachment.cgi?id=74702 Testcase
Attaching testcase.
Java is also affected, see bug 49787 (dupe).
Yes, you need to compile wine in a specific manner to enable that experimental wow64 mode. Did you do that? It should print a warning that your program runs under the experimental wow64 mode. But even then, it has the same issue.
It's still related to the preloader reserving:
{ (void *)0x000000110000, 0x67ef0000 }, /* low memory area */
For some reason it keeps blocking the area up to 0x20000000, which is about 500MB.
I assume that's because ntdll differentiates between reserved ranges and free ranges. It can't combine both of those for one massive allocation.