Skip to content
This repository has been archived by the owner on May 30, 2023. It is now read-only.

Commit

Permalink
app-emulation/(docker*|containerd): Revert to Go 1.13
Browse files Browse the repository at this point in the history
When Docker/containerd binaries are compiled with Go 1.15 the
containers generate many signal 23 (SIGURG) events which flood
monitoring systems:
  kubernetes/kops#10388
The SIGURG signal does not kill the process but is generated by Go
runtime scheduling:
  https://go.googlesource.com/proposal/+/master/design/24543-non-cooperative-preemption.md)
Because the Go runtime does not know if the process expects external
SIGURG signals, the signal is not filtered out but reported to the
process: golang/go#37942
The process has to filter this signal out itself before forwarding it
to, e.g,. children processes or logs.
This change was introduced with the Go 1.15 update (actually Go 1.14
but Flatcar skipped that for Stable), however, while containerd has
some workarounds in place, e.g., in
containerd/containerd#4532 but there are still
areas where the signal is not handled correctly.
Until this is the case, downgrade to use the Go 1.13 compiler for
Docker/containerd binaries.

See flatcar/Flatcar#315
  • Loading branch information
pothos committed Jan 13, 2021
1 parent 04bfe83 commit 9c17edd
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 4 deletions.
2 changes: 1 addition & 1 deletion app-emulation/containerd/containerd-9999.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ EAPI=6

GITHUB_URI="github.com/containerd/containerd"
COREOS_GO_PACKAGE="${GITHUB_URI}"
COREOS_GO_VERSION="go1.15"
COREOS_GO_VERSION="go1.13"

if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://${GITHUB_URI}.git"
Expand Down
2 changes: 1 addition & 1 deletion app-emulation/docker-proxy/docker-proxy-9999.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ EAPI=6
EGO_PN="github.com/docker/libnetwork"

COREOS_GO_PACKAGE="${EGO_PN}"
COREOS_GO_VERSION="go1.15"
COREOS_GO_VERSION="go1.13"

if [[ ${PV} == *9999 ]]; then
KEYWORDS="~amd64 ~arm64"
Expand Down
2 changes: 1 addition & 1 deletion app-emulation/docker-runc/docker-runc-1.0.0_rc92.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ EAPI=6

GITHUB_URI="github.com/opencontainers/runc"
COREOS_GO_PACKAGE="${GITHUB_URI}"
COREOS_GO_VERSION="go1.15"
COREOS_GO_VERSION="go1.13"
# the commit of runc that docker uses.
# see https://github.com/docker/docker-ce/blob/v19.03.14/components/engine/hack/dockerfile/install/runc.installer#L4
# Update the patch number when this commit is changed (i.e. the _p in the ebuild).
Expand Down
2 changes: 1 addition & 1 deletion app-emulation/docker/docker-9999.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
EAPI=6

COREOS_GO_PACKAGE="github.com/docker/docker-ce"
COREOS_GO_VERSION="go1.15"
COREOS_GO_VERSION="go1.13"

if [[ ${PV} = *9999* ]]; then
# Docker cannot be fetched via "go get", thanks to autogenerated code
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ RDEPEND="${RDEPEND}
dev-lang/go:1.7
dev-lang/go:1.8
dev-lang/go:1.12
dev-lang/go:1.13
dev-lang/go:1.15
dev-lang/go-bootstrap
dev-lang/tcl
Expand Down
1 change: 1 addition & 0 deletions dev-lang/go/Manifest
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
DIST go1.12.17.src.tar.gz 20725913 BLAKE2B 2eef7374195302656268a42409619445dfeb3ede1f9218ae4eab195916876b97f7510cc62585a0bfdd9f86dddf8a74000032a84b29bc9891d84fc69db94f0274 SHA512 069f8f445d9d2268ebb14b2446fab34843d56283c04561636d122fd8b4c1ea0b63640a84437db7a7be71039440ffe170cd3f8025b03b0acf95f2a56fa2febec6
DIST go1.13.15.src.tar.gz 21705183 BLAKE2B eac8c6113dd6cef164cc5368732c2dce26f200e309c728ca71b4c312ace465382b8cc1dd8fb216bdf927211d6cb26c21090a9ac9c9ef2d7ac1b16c85feac0e0c SHA512 35d3e7aaef1b0fc6ab684bb7352da3a23194115331ba7d1543225c35939cafcd437f454519aac38182cb8f222723ed9a297f9da566075b5e4079be26952a21e3
DIST go1.15.6.src.tar.gz 23019337 BLAKE2B d328401af9843f4a099dee7d82433ad2a0b349add0f2ecb609635814cca610e17a6fc50215e9928b8cb0d8ea8dd6ae9d84ffca125e1362dfb18ba08783bb4264 SHA512 f20e495204f32170d6554e8f4b64763dae8302a7859005020f650d1d53a5b15de3afbaff28e0b6418287396166c67bdc4c6bee7a0fd7ba8a87bb79b6c1d38326
DIST go1.6.3.src.tar.gz 12617426 BLAKE2B 4d51c4f848d29176282e61396ea8a6ae580e743cc4a21deb3b0fc1f417ed50ff33bec4f3712f4d0c89d33ce1ec34638d5fc1b356ff0b88a6cb290d5aae789d15 SHA512 43e9b01220788112a185500bd53f091e7a0023a790092f428e2f40fc1a334dd148558b99d2a1c871b8cc79ad7d2d87a092b93eee7b5a27c2ee675c494de35306
DIST go1.7.6.src.tar.gz 14173249 BLAKE2B 5202382c293213f02909c52c8057776abf1104bba3443db4956d9ab2aa37cfc0661eafb6f56d539384fd425c86aff4f6a756ecd09688d5be0086d761b2865b77 SHA512 b01846bfb17bf91a9c493c4d6c43bbe7e17270b9e8a229a2be4032b78ef9395f5512917ea9faab74a120c755bbd53bbd816b033caadcbb7679e91702b37f8c7f
Expand Down
8 changes: 8 additions & 0 deletions dev-lang/go/go-1.13.15.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright 2019 Kinvolk GmbH.
# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit coreos-go-lang

KEYWORDS="-* amd64 arm64"

0 comments on commit 9c17edd

Please sign in to comment.