Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jun 2018 14:03:03 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Steven Hartland <steven.hartland@multiplay.co.uk>
Cc:        Alan Cox <alc@rice.edu>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r335171 - head/sys/vm
Message-ID:  <20180615110303.GN2493@kib.kiev.ua>
In-Reply-To: <603230da-cfe2-e3e2-bd9a-f5230b30e371@multiplay.co.uk>
References:  <201806141941.w5EJf2qa069373@repo.freebsd.org> <c241bd08-eb94-152e-c1f1-d77dc6987908@multiplay.co.uk> <F220E356-D55E-48B9-9AF0-ABBF41A74FC7@rice.edu> <603230da-cfe2-e3e2-bd9a-f5230b30e371@multiplay.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 15, 2018 at 11:03:06AM +0100, Steven Hartland wrote:
> On 15/06/2018 00:07, Alan Cox wrote:
> >
> >> On Jun 14, 2018, at 5:54 PM, Steven Hartland 
> >> <steven.hartland@multiplay.co.uk 
> >> <mailto:steven.hartland@multiplay.co.uk>> wrote:
> >>
> >> Out of interest, how would this exhibit itself?
> >>
> >
> > A panic in vm_page_insert_after().
> >
> So just to confirm this couldn't cause random memory corruption of the 
> parent process?

No, or to put it more sincere, I highly doubt it.

Also, I do not think that this Go issue will be solved serendipitously
by some FreeBSD bug fix.  So far it is indicative that either the
situation is too unique for the Go runtime so it is not exposed by other
programs (which is quite doubtful), or this is a bug in Go runtime.

The only way forward is to understand what exactly is broken for the
situation.  This requires at least deep knowledge the Go garbage collector
internal working, which itself supposes understanding of the Go runtime
and Go environment.  I do not mean explanation of the assert, but the
root cause that eventually triggers the assert.  They are somewhat
disjoint in time, I believe.

I once tried to look at the Go gc, but after spending a day, realized that
I need to use 2-3 weeks to learn the system, which made me abandon the
attempt.

So the pre-req for fixing this bug is for somebody who interested in Go,
to spend enough time to explain the root-cause condition to the external
world.  I have no idea is it OS problem, Go runtime problem, or an issue
with the port of Go runtime to FreeBSD.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180615110303.GN2493>