Help needed to identify golang fork / memory corruption issue on FreeBSD
Steven Hartland
killing at multiplay.co.uk
Mon Mar 27 11:47:14 UTC 2017
OK now the similar but unrelated issue with signal stacks is solved I've
moved back to the initial issue.
I've made some progress with a reproduction case as detailed here:
https://github.com/golang/go/issues/15658#issuecomment-288747812
In short it seems that having a running child, while the parent runs GC,
is some how responsible for memory corruption in the parent.
The reason I believe this is if I run the same GC in the parent after
the child exits instead of while its running, I've been unable to
reproduce the issue.
As the memory segments are COW then the issue might be in VM subsystem.
In order to confirm / deny this I was wondering if there was a way to
force a full copy of all segments for the child instead of using the COW
optimisation.
Is this something that would be relatively easy to hack into the kernel,
and if so pointers would be appreciated.
Regards
Steve
More information about the freebsd-hackers
mailing list