fixup_mmaps_after_fork errors building ruby 3.4.1 with high make -j
Corinna Vinschen
corinna-cygwin@cygwin.com
Wed Jan 22 17:42:21 GMT 2025
On Jan 21 16:30, Jeremy Drake via Cygwin wrote:
> I've been trying to track down why ruby 3.4.1 is failing to build for
> msys2. I've now confirmed that this same issue reproduces with
> upstream Cygwin 3.5.4 and 3.6.0-0.335.gb879cd1661ad, so I thought I'd
> bring it up here:
>
> when building ruby with a high -j value (I'm doing make -j21), I get
> errors of the sort:
> 0 [main] miniruby 9272 fhandler_dev_zero::fixup_mmap_after_fork:
> requested 0x6FFFE6A60000 != 0x0 mem alloc base 0x0, state 0x10000, size
> 17545331867648, Win32 error 1455
> 2717 [main] miniruby 9272
> D:\S\ruby\src\build-x86_64-pc-msys\miniruby.exe: *** fatal error in forked
> process - recreate_mmaps_after_fork_failed
> 0 [main] miniruby 9241 dofork: child -1 - forked process 24744 died
> unexpectedly, retry 0, exit code 0x100, errno 11
>
> I did not see this happen with ruby 3.3.7, or when building with -j1.
> That address 0x6FFFE6A60000 seems to reoccur. The size seems completely
> off the wall.
Analyzing the output above:
fhandler_dev_zero::fixup_mmap_after_fork:
- fhandler_dev_zero handles MAP_ANONYMOUS mappings
requested 0x6FFFE6A60000
- This is the address in the parent to be recreated in the child
process. It's an ok address, given we're allocating top-down.
!= 0x0
- So either VirtualAlloc or NtMapViewOfSection{Ex} returned with
an error.
- The rest of the output comes from VirtualQuery (address, ...):
mem alloc base 0x0,
- The region containing the address 0x6FFFE6A60000 starts at
address 0x0. This is a false value, because...
state 0x10000,
- 0x10000 == MEM_FREE. So the allocation *should* have worked,
because the VM wasn't allocated, and the available space...
size 17545331867648,
- ...was more than sufficient.
Win32 error 1455
ERROR_COMMITMENT_LIMIT
The paging file is too small for this operation to complete.
The error output doesn't indicate how much memory was requested, but I'm
pretty sure it's not that much. The problem here is actually the
pagefile size, it seems.
Corinna
More information about the Cygwin
mailing list