doc: mention required OS changes in the release notes #18610

khm opened this Issue Jan 11, 2017 · 7 comments


None yet

6 participants

khm commented Jan 11, 2017

What version of Go are you using (go version)?

Go 1.8 release candidate 1.

What operating system and processor architecture are you using (go env)?

Plan 9 from Bell Labs, any supported architecture.

What did you do?

Attempted to run net_test.go

What did you expect to see?

Overwhelming and unrelenting success

What did you see instead?

FAIL: TestConnClose because of an unknown control request


In the draft release notes for Go 1.8[1], we get the following:

The Plan 9 port's networking support is now much more complete and matches the behavior of Unix and Windows with respect to deadlines and cancelation.

Sounds great! but it fails to mention that this change requires modification of the OS itself; specifically, as described in a Go commit message[2], which refers to (but does not specify) a different Github repository entirely, as 'the' Plan 9 kernel[3]. This change is not present in the latest ISO made available by Bell Labs.

In the end, it's a simple change that other Plan 9 kernels can easily accomodate, but it would be very kind of you if this sort of OS-scope change were at least mentioned somewhere in the release notes, even if it's just a tiny asterisk with an href to a changelog somewhere. It would save us some detective work, and make it easier for us to use Go.

[2] 3d1ae4b
[3] 0intro/plan9-contrib@390a902

@ALTree ALTree changed the title from Please mention required OS changes in the release notes to doc: mention required OS changes in the release notes Jan 11, 2017
andlabs commented Jan 11, 2017 edited

Are the ISOs "made available by Bell Labs" even current anymore? Does it work with an ISO from

ALTree commented Jan 11, 2017

According to the documentation (assuming that the Plan9 wiki page is not outdated), we support:

I read your report, but it's not clear to me whether that commit actually broke go on one of the supported kernels, or just on some other kernel/fork. There're builders for those 3, and although the x64 one does not feel very well at the moment, it succeeded at least once the last week, so I assume that the net change didn't broke it.

What's "the latest ISO made available by Bell Labs", exactly? Is it something different than ?

@0intro 0intro was assigned by bradfitz Jan 11, 2017
@bradfitz bradfitz added this to the Go1.8Maybe milestone Jan 11, 2017

Sure, we could add some text to the Go 1.8 release notes.

I have no clue what to say. The Plan 9 community at least from my perspective doesn't look very organized, with code and kernels scattered all over the place. Maybe I have the wrong perspective.

@0intro, I can write the text if you tell me what to say. Or you can send a CL.

khm commented Jan 11, 2017
ALTree commented Jan 11, 2017

Thanks for the clarification. Leaving for brad and/or 0intro.

@ALTree ALTree removed the WaitingForInfo label Jan 11, 2017
0intro commented Jan 17, 2017

Sorry for the delay. It seems I've missed this conversation for some reason.

Following the change in CL 31271, you have to apply a change to the Plan 9 kernel to be able to handle the "close" message on the TCP connection control file. The "close" message in analogous to the "hangup" message, but closes the TCP connection gracefully with a FIN instead of a RST.

The patch is available here: 9-tcp-close

This is already documented on the Plan 9 wiki page, which is up-to-date.

I'll propose a CL to document the new requirement in the Go 1.8 release notes.

@0intro 0intro added the OS-Plan9 label Jan 17, 2017

CL mentions this issue.

@gopherbot gopherbot pushed a commit that closed this issue Jan 18, 2017
@0intro 0intro doc/go1.8: document Plan 9 requirements
Fixes #18610.

Change-Id: I19da4d59a1b6293c9a4722aa696e2cb58d982a15
Reviewed-by: Brad Fitzpatrick <>
@gopherbot gopherbot closed this in fcfd918 Jan 18, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment