https://bugs.winehq.org/show_bug.cgi?id=56371
Andrew Nguyen arethusa26@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #2 from Andrew Nguyen arethusa26@gmail.com --- While the workaround of limiting the reported values from GlobalMemoryStatusEx is effective, I think it's not the underlying cause of the issue.
On Windows 10, the WinUAE logger shows the following output for the MMAN allocation across repeated runs:
MMAN: Total physical RAM 32658 MB, all RAM 78827 MB MMAN: Attempting to reserve: 2561 MB VM: Reserve 0xa0100000 bytes, try address 0x80000000 VM: Reserve 0xa0100000 bytes, got address 0x80000000 (> 32-bit) VM: Reserve 0xa0100000 bytes failed! MMAN: Reserved 000000007FFF0000-00000001200F0000 (0xa0100000 2561M)
Wine shows similar output except that the base address of the reservation (which varies across runs) is outside of the 32-bit address space:
MMAN: Total physical RAM 15868 MB, all RAM 34890 MB MMAN: Attempting to reserve: 2561 MB VM: Reserve 0xa0100000 bytes, try address 0x80000000 VM: Reserve 0xa0100000 bytes, got address 0x80000000 (> 32-bit) VM: Reserve 0xa0100000 bytes failed! MMAN: Reserved 00007FF2DD800000-00007FF37D900000 (0xa0100000 2561M)
Somehow, on Windows, the final call to VirtualAlloc, which does not specify a start address, always results in a base address that fits in a 32-bit pointer.