Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Dec 2016 12:31:47 +0000
From:      Steven Hartland <killing@multiplay.co.uk>
To:        "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
Subject:   Help needed to identify golang fork / memory corruption issue on FreeBSD
Message-ID:  <27e1a828-5cd9-0755-50ca-d7143e7df117@multiplay.co.uk>

next in thread | raw e-mail | index | archive | help
Hi guys I'm trying to help identify / fix an issue with golang where by 
fork results in memory corruption.

Details of the issue can be found here:
https://github.com/golang/go/issues/15658

In summary when a fork is done in golang is has a chance of causing 
memory corruption in the parent resulting in a process crash once detected.

Its believed that this only effects FreeBSD.

This has similarities to other reported issues such as this one which 
impacted perl during 10.x:
https://rt.perl.org/Public/Bug/Display.html?id=122199

And more recently the issue with nginx on 11.x:
https://lists.freebsd.org/pipermail/freebsd-stable/2016-September/085540.html

Its possible, some believe likely, that this is a kernel bug around fork 
/ vm that golang stresses, but I've not been able to confirm.

I can reproduce the issue at will, takes between 5mins and 1hour using 
16 threads, and it definitely seems like an interaction between fork and 
other memory operations.

I've tried reproducing the issue in C but also no joy (captured in the bug).

For reference I'm currently testing on 11.0-RELEASE-p3 + kibs PCID fix 
(#306350).

Any advice / help would be most appreciated.

     Regards
     Steve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?27e1a828-5cd9-0755-50ca-d7143e7df117>