From cd8bc60f768c6bd6c383c6a4f0e858484bb32ca0 Mon Sep 17 00:00:00 2001 From: zhongjiawei Date: Wed, 8 Nov 2023 15:25:16 +0800 Subject: [PATCH] containerd:bump ttrpc to fix containerd-shim socket connect increase leak after restart docker --- containerd.spec | 8 ++++- patch/0106-containerd-Bump-ttrpc.patch | 46 ++++++++++++++++++++++++++ series.conf | 1 + 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 patch/0106-containerd-Bump-ttrpc.patch diff --git a/containerd.spec b/containerd.spec index 4933a79..15f7fe3 100644 --- a/containerd.spec +++ b/containerd.spec @@ -2,7 +2,7 @@ %global debug_package %{nil} Version: 1.2.0 Name: containerd -Release: 212 +Release: 213 Summary: An industry-standard container runtime License: ASL 2.0 URL: https://containerd.io @@ -44,6 +44,12 @@ install -p -m 755 bin/ctr $RPM_BUILD_ROOT/%{_bindir}/ctr %{_bindir}/ctr %changelog +* Wed Nov 08 2023 zhongjiawei - 1.2.0-213 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:bump ttrpc to fix containerd-shim socket connect increase leak after restart docker + * Tue Sep 19 2023 zhongjiawei - 1.2.0-212 - Type:bugfix - ID:NA diff --git a/patch/0106-containerd-Bump-ttrpc.patch b/patch/0106-containerd-Bump-ttrpc.patch new file mode 100644 index 0000000..3f43b28 --- /dev/null +++ b/patch/0106-containerd-Bump-ttrpc.patch @@ -0,0 +1,46 @@ +From 55e0671ff64532964c2de038d98be0e6a73bcfe7 Mon Sep 17 00:00:00 2001 +From: Georgi Sabev +Date: Mon, 13 May 2019 16:21:04 +0100 +Subject: [PATCH] Bump ttrpc + +Co-authored-by: Giuseppe Capizzi +Signed-off-by: Georgi Sabev +--- + vendor.conf | 2 +- + vendor/github.com/containerd/ttrpc/server.go | 7 ++++++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/vendor.conf b/vendor.conf +index 0f76be3b0..35c887dde 100644 +--- a/vendor.conf ++++ b/vendor.conf +@@ -36,7 +36,7 @@ github.com/Microsoft/go-winio v0.4.11 + github.com/Microsoft/hcsshim v0.7.12 + google.golang.org/genproto d80a6e20e776b0b17a324d0ba1ab50a39c8e8944 + golang.org/x/text 19e51611da83d6be54ddafce4a4af510cb3e9ea4 +-github.com/containerd/ttrpc 699c4e40d1e7416e08bf7019c7ce2e9beced4636 ++github.com/containerd/ttrpc f82148331ad2181edea8f3f649a1f7add6c3f9c2 + github.com/syndtr/gocapability db04d3cc01c8b54962a58ec7e491717d06cfcc16 + gotest.tools v2.1.0 + github.com/google/go-cmp v0.1.0 +diff --git a/vendor/github.com/containerd/ttrpc/server.go b/vendor/github.com/containerd/ttrpc/server.go +index 263cb4583..ab2fdf2fc 100644 +--- a/vendor/github.com/containerd/ttrpc/server.go ++++ b/vendor/github.com/containerd/ttrpc/server.go +@@ -446,7 +446,12 @@ func (c *serverConn) run(sctx context.Context) { + // branch. Basically, it means that we are no longer receiving + // requests due to a terminal error. + recvErr = nil // connection is now "closing" +- if err != nil && err != io.EOF { ++ if err == io.EOF || err == io.ErrUnexpectedEOF { ++ // The client went away and we should stop processing ++ // requests, so that the client connection is closed ++ return ++ } ++ if err != nil { + logrus.WithError(err).Error("error receiving message") + } + case <-shutdown: +-- +2.33.0 + diff --git a/series.conf b/series.conf index eb190b2..8c8346a 100644 --- a/series.conf +++ b/series.conf @@ -107,3 +107,4 @@ patch/0102-contained-fix-cio.Cancel-should-close-the-pipes.patch patch/0103-containerd-fix-unable-to-checkpoint-the-container-more-than-onc.patch patch/0104-containerd-bugfix-add-nil-pointer-check-for-cgroup-v1-mem-usage.patch patch/0105-containerd-fix-allow-attaching-to-any-combination-of-stdin-stdo.patch +patch/0106-containerd-Bump-ttrpc.patch -- Gitee