Opened 12 months ago

Closed 9 months ago

#9686 closed bug (fixed)

"vfork: Invalid Argument" while executing processes that involve large amounts of fork/exec

Reported by: anevilyak Owned by: bonefish
Priority: high Milestone: R1
Component: System/Kernel Version: R1/Development
Keywords: ASLR PAE Cc:
Blocked By: Blocking: #9752
Has a Patch: no Platform: All

Description

Since the ASLR changes, attempting a jam -qj8 build of Haiku under Haiku itself frequently fails with the above error message. Rerunning the command works for a while longer, then eventually fails again the same way. Nothing of interest shows up in syslog though, and I've been unable to reproduce it while running with strace so I assume a race of some form is involved. Hardware here is a quad core i7 w/ hyperthreading and 8GB of RAM, ergo PAE is active.

Change History (10)

comment:1 Changed 12 months ago by pdziepak

  • Status changed from new to in-progress

comment:2 follow-up: Changed 12 months ago by pdziepak

I have a real problem reproducing that error (only one out of several builds failed).
Hopefully fixed in hrev45550. Please confirm.

comment:3 in reply to: ↑ 2 Changed 12 months ago by siarzhuk

Replying to pdziepak:

I have a real problem reproducing that error (only one out of several builds failed).
Hopefully fixed in hrev45550. Please confirm.

Unfortunately the problem is still here on hrev45550. Clean build of haiku sources from scratch on i7 observes this issue 3 times. :-(

comment:4 Changed 12 months ago by umccullough

  • Keywords ASLR PAE added

comment:5 Changed 11 months ago by hamish

Since the ASLR changes, mmap will map over existing areas (particularly those at the top of the user address space -- commpage and thread stacks) if you request a large enough mapping. If the area insertion logic is broken, that could be the cause of both these issues.

You can reproduce this by mapping a few large anonymous areas (500MB+).

comment:6 Changed 11 months ago by hamish

  • Blocking 9752 added

(In #9752) I also get a crash when using the server VM, though with a different error message to yours. Regardless, I suspect this is caused by #9686. You can use the client VM until that gets fixed: java -client <args>.

comment:7 Changed 11 months ago by pdziepak

Thanks for this information. Hopefully, hrev45704 fixes both this bug and #9752.

comment:8 Changed 11 months ago by siarzhuk

Unfortunately it is still observed on hrev45711. :-(

PS: building Haiku on Haiku platform with -j 8 is the way to provoke this issue.

comment:9 Changed 9 months ago by bonefish

  • Owner changed from pdziepak to bonefish

Having a closer look.

comment:10 Changed 9 months ago by bonefish

  • Resolution set to fixed
  • Status changed from in-progress to closed

Fixed in hrev45847.

Note: See TracTickets for help on using tickets.