Skip to content

[releases/1.6] *: fix leaked shim caused by high IO pressure#9004

Merged
dmcgowan merged 5 commits intocontainerd:release/1.6from
fuweid:cp-16-8954
Aug 24, 2023
Merged

[releases/1.6] *: fix leaked shim caused by high IO pressure#9004
dmcgowan merged 5 commits intocontainerd:release/1.6from
fuweid:cp-16-8954

Conversation

@fuweid
Copy link
Copy Markdown
Member

@fuweid fuweid commented Aug 24, 2023

Cherry-pick: #8954

integration: add case to reproduce #7496: Update: change imports and use pb's field instead of GetXXX.

pkg/cri/server: add criService as argument when handle exit event: The patch doesn't work with releases/1.6. It needs to add criService as argument when handle exit event.

integration: issue7496 case should work for runc.v2 only: The test case should skip when the default runtime is runc.v1 or io.containerd.runtime.v1.linux.

fuweid added 5 commits August 24, 2023 08:48
Update: change imports and use pb's field instead of GetXXX.

Signed-off-by: Wei Fu <[email protected]>
(cherry picked from commit 5bdd9ca)
Signed-off-by: Wei Fu <[email protected]>
Fixes: containerd#7496 containerd#8931

Signed-off-by: Wei Fu <[email protected]>
(cherry picked from commit 72bc63d)
Signed-off-by: Wei Fu <[email protected]>
Signed-off-by: Wei Fu <[email protected]>
(cherry picked from commit 00ef8ba)
Signed-off-by: Wei Fu <[email protected]>
@fuweid
Copy link
Copy Markdown
Member Author

fuweid commented Aug 24, 2023

The test works https://github.com/containerd/containerd/actions/runs/5958698248/job/16163408643?pr=9004#step:11:626

=== RUN   TestIssue7496
    issue7496_linux_test.go:44: Checking CRI config's default runtime
    issue7496_linux_test.go:55: Create a pod config and run sandbox container
    issue7496_linux_test.go:63: [shim pid: 79769]: Injecting 12 seconds delay to umount2 syscall
strace: Process 79769 attached with 12 threads
    issue7496_linux_test.go:69: Create a container config and run container in a pod
    common.go:120: Image "registry.k8s.io/pause:3.6" already exists, not pulling.
[pid 79779] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
strace: Process 79819 attached
strace: Process 79819 detached
[pid 79772] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=79819, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
[pid 79780] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
strace: Process 79837 attached
strace: Process 79837 detached
[pid 79778] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=79837, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
[pid 79776] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79772] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
    issue7496_linux_test.go:78: Start to StopPodSandbox and RemovePodSandbox
strace: Process 79843 attached
strace: Process 79843 detached
[pid 79769] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=79832, si_uid=65535, si_status=SIGKILL, si_utime=0, si_stime=0} ---
strace: Process 79848 attached
strace: Process 79848 detached
[pid 79779] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=79848, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 79855 attached
strace: Process 79855 detached
[pid 79779] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=79855, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 79860 attached
strace: Process 79860 detached
[pid 79778] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=79860, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
[pid 79780] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79780] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79780] umount2("/run/containerd-test/io.containerd.runtime.v2.task/k8s.io/7ee43f27c35eddcd6711f922e6cfc53bf6b602f07569adb3af28d300113267b0/rootfs", 0 <unfinished ...>
[pid 79777] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79780] <... umount2 resumed>)      = 0
[pid 79780] umount2("/run/containerd-test/io.containerd.runtime.v2.task/k8s.io/7ee43f27c35eddcd6711f922e6cfc53bf6b602f07569adb3af28d300113267b0/rootfs", 0) = -1 EINVAL (Invalid argument)
[pid 79779] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79780] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79776] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
strace: Process 79880 attached
strace: Process 79880 detached
[pid 79770] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=79792, si_uid=65535, si_status=SIGKILL, si_utime=0, si_stime=0} ---
[pid 79770] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=79880, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 79886 attached
strace: Process 79886 detached
[pid 79780] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=79886, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 79893 attached
strace: Process 79893 detached
[pid 79778] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=79893, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
[pid 79771] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79771] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79771] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79778] umount2("/run/containerd-test/io.containerd.runtime.v2.task/k8s.io/7543ad126afc91d[639](https://github.com/containerd/containerd/actions/runs/5958713939/job/16163447453?pr=9003#step:11:640)f0e39945fde75132[640](https://github.com/containerd/containerd/actions/runs/5958713939/job/16163447453?pr=9003#step:11:641)435c3d76db0c5ea35bd37d9fe2e/rootfs", 0 <unfinished ...>
[pid 79776] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79772] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79778] <... umount2 resumed>)      = 0
[pid 79778] umount2("/run/containerd-test/io.containerd.runtime.v2.task/k8s.io/7543ad126afc91d639f0e39945fde75132640435c3d76db0c5ea35bd37d9fe2e/rootfs", 0) = -1 EINVAL (Invalid argument)
[pid 79778] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79778] --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=79769, si_uid=0} ---
[pid 79780] +++ exited with 0 +++
[pid 79779] +++ exited with 0 +++
[pid 79778] +++ exited with 0 +++
[pid 79777] +++ exited with 0 +++
[pid 79776] +++ exited with 0 +++
[pid 79775] +++ exited with 0 +++
[pid 79774] +++ exited with 0 +++
[pid 79773] +++ exited with 0 +++
[pid 79772] +++ exited with 0 +++
[pid 79771] +++ exited with 0 +++
[pid 79770] +++ exited with 0 +++
+++ exited with 0 +++
    issue7496_linux_test.go:152: Strace has exited
    issue7496_linux_test.go:102: PodSandbox 7543ad126afc91d639f0e39945fde75132640435c3d76db0c5ea35bd37d9fe2e has been deleted and start to wait for strace exit

@dmcgowan dmcgowan merged commit b61f42a into containerd:release/1.6 Aug 24, 2023
@fuweid fuweid deleted the cp-16-8954 branch August 24, 2023 04:28
@fuweid
Copy link
Copy Markdown
Member Author

fuweid commented Aug 24, 2023

Thank you!

aravindhp added a commit to openshift/containerd that referenced this pull request Sep 16, 2023
containerd 1.6.24

Welcome to the v1.6.24 release of containerd!

The twenty-fourth patch release for containerd 1.6 contains various fixes and updates.

* **CRI: fix leaked shim caused by high IO pressure** ([containerd#9004](containerd#9004))
* **Update to go1.20.8** ([containerd#9073](containerd#9073))
* **Update runc to v1.1.9** ([containerd#8966](containerd#8966))
* **Backport: add configurable mount options to overlay snapshotter** ([containerd#8961](containerd#8961))
* **log: cleanups and improvements to decouple more from logrus** ([containerd#9002](containerd#9002))

See the changelog for complete list of changes

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

* Sebastiaan van Stijn
* Akihiro Suda
* Wei Fu
* Derek McGowan
* Akhil Mohan
* Cardy.Tang
* Danny Canter
* Kazuyoshi Kato
* Mike Brown
* Phil Estes
* Samuel Karp

<details><summary>45 commits</summary>
<p>

* [release/1.6] Prepare release notes for v1.6.24 ([containerd#9087](containerd#9087))
  * [`cdd59290d`](containerd@cdd5929) Prepare release notes for v1.6.24
* [release/1.6 backport] log: cleanups and improvements to decouple more from logrus ([containerd#9002](containerd#9002))
  * [`33c2d88e7`](containerd@33c2d88) Revert "log: define G() as a function instead of a variable"
  * [`0a7f2975e`](containerd@0a7f297) log: swap logrus functions with their equivalent on default logger
  * [`9d175a19b`](containerd@9d175a1) log: add package documentation and summary of package's purpose
  * [`96fb65529`](containerd@96fb655) log: make Fields type a generic map[string]any
  * [`bace17e2e`](containerd@bace17e) log: add log.Entry type
  * [`dd127885f`](containerd@dd12788) log: define OutputFormat type
  * [`5b4cf2329`](containerd@5b4cf23) log: define G() as a function instead of a variable
  * [`ee1b4a1e2`](containerd@ee1b4a1) log: add all log-levels that are accepted
  * [`d563a411f`](containerd@d563a41) log: group "enum" consts and touch-up docs
  * [`6e8f4555b`](containerd@6e8f455) log: WithLogger: remove redundant intermediate var
  * [`c19325559`](containerd@c193255) log: SetFormat: include returns in switch
  * [`c3c22f8cb`](containerd@c3c22f8) log: remove gotest.tools dependency
* [release/1.6] update to go1.20.8 ([containerd#9073](containerd#9073))
  * [`a2c294800`](containerd@a2c2948) [release/1.6] update to go1.20.8
* [release/1.6 backport] make repositories of install dependencies configurable ([containerd#9024](containerd#9024))
  * [`0da8dcaa7`](containerd@0da8dca) make repositories of install dependencies configurable
* [release/1.6 backport] update Golang to go1.20.7, minimum version go1.19 ([containerd#9020](containerd#9020))
  * [`8e6a9de5b`](containerd@8e6a9de) update to go1.20.7, go1.19.12
  * [`8b2eb371f`](containerd@8b2eb37) Update Go to 1.20.6,1.19.11
  * [`cff669c7a`](containerd@cff669c) update go to go1.20.5, go1.19.10
  * [`f34a22de9`](containerd@f34a22d) update go to go1.20.4, go1.19.9
  * [`e8e73065e`](containerd@e8e7306) update go to go1.20.3, go1.19.8
  * [`9b3f950d6`](containerd@9b3f950) Go 1.20.2
  * [`17d03ac68`](containerd@17d03ac) Go 1.20.1
  * [`861f65447`](containerd@861f654) go.mod: go 1.19
  * [`81fa93784`](containerd@81fa937) Stop using math/rand.Read and rand.Seed (deprecated in Go 1.20)
  * [`70dc11a6c`](containerd@70dc11a) lint: remove `//nolint:dupword` that are no longer needed
  * [`fec784a06`](containerd@fec784a) lint: silence "SA1019: tar.TypeRegA has been deprecated... (staticheck)"
  * [`6648df1ad`](containerd@6648df1) lint: silence "type `HostFileConfig` is unused (unused)"
  * [`e6b268bc7`](containerd@e6b268b) golangci-lint v1.51.1
  * [`c552ccf67`](containerd@c552ccf) go.mod: golang.org/x/sync v0.1.0
* [releases/1.6] *: fix leaked shim caused by high IO pressure ([containerd#9004](containerd#9004))
  * [`d00af5c3e`](containerd@d00af5c) integration: issue7496 case should work for runc.v2 only
  * [`583696e4e`](containerd@583696e) Vagrantfile: add strace tool
  * [`ab21d60d2`](containerd@ab21d60) pkg/cri/server: add criService as argument when handle exit event
  * [`a229883cb`](containerd@a229883) pkg/cri/server: fix leaked shim issue
  * [`d8f824200`](containerd@d8f8242) integration: add case to reproduce containerd#7496
* [release/1.6] Cherry-pick: [overlay] add configurable mount options to overlay snapshotter ([containerd#8961](containerd#8961))
  * [`8cd40e1d0`](containerd@8cd40e1) Add configurable mount options to overlay
  * [`453fa397a`](containerd@453fa39) feat: make overlay sync removal configurable
* [release/1.6 backport] update runc binary to v1.1.9 ([containerd#8966](containerd#8966))
  * [`4cb7764df`](containerd@4cb7764) update runc binary to v1.1.9
</p>
</details>

* **golang.org/x/sync**  036812b2e83c -> v0.1.0

Previous release can be found at [v1.6.23](https://github.com/containerd/containerd/releases/tag/v1.6.23)
aravindhp added a commit to openshift/containerd that referenced this pull request Sep 16, 2023
containerd 1.6.24

Welcome to the v1.6.24 release of containerd!

The twenty-fourth patch release for containerd 1.6 contains various fixes and updates.

* **CRI: fix leaked shim caused by high IO pressure** ([containerd#9004](containerd#9004))
* **Update to go1.20.8** ([containerd#9073](containerd#9073))
* **Update runc to v1.1.9** ([containerd#8966](containerd#8966))
* **Backport: add configurable mount options to overlay snapshotter** ([containerd#8961](containerd#8961))
* **log: cleanups and improvements to decouple more from logrus** ([containerd#9002](containerd#9002))

See the changelog for complete list of changes

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

* Sebastiaan van Stijn
* Akihiro Suda
* Wei Fu
* Derek McGowan
* Akhil Mohan
* Cardy.Tang
* Danny Canter
* Kazuyoshi Kato
* Mike Brown
* Phil Estes
* Samuel Karp

<details><summary>45 commits</summary>
<p>

* [release/1.6] Prepare release notes for v1.6.24 ([containerd#9087](containerd#9087))
  * [`cdd59290d`](containerd@cdd5929) Prepare release notes for v1.6.24
* [release/1.6 backport] log: cleanups and improvements to decouple more from logrus ([containerd#9002](containerd#9002))
  * [`33c2d88e7`](containerd@33c2d88) Revert "log: define G() as a function instead of a variable"
  * [`0a7f2975e`](containerd@0a7f297) log: swap logrus functions with their equivalent on default logger
  * [`9d175a19b`](containerd@9d175a1) log: add package documentation and summary of package's purpose
  * [`96fb65529`](containerd@96fb655) log: make Fields type a generic map[string]any
  * [`bace17e2e`](containerd@bace17e) log: add log.Entry type
  * [`dd127885f`](containerd@dd12788) log: define OutputFormat type
  * [`5b4cf2329`](containerd@5b4cf23) log: define G() as a function instead of a variable
  * [`ee1b4a1e2`](containerd@ee1b4a1) log: add all log-levels that are accepted
  * [`d563a411f`](containerd@d563a41) log: group "enum" consts and touch-up docs
  * [`6e8f4555b`](containerd@6e8f455) log: WithLogger: remove redundant intermediate var
  * [`c19325559`](containerd@c193255) log: SetFormat: include returns in switch
  * [`c3c22f8cb`](containerd@c3c22f8) log: remove gotest.tools dependency
* [release/1.6] update to go1.20.8 ([containerd#9073](containerd#9073))
  * [`a2c294800`](containerd@a2c2948) [release/1.6] update to go1.20.8
* [release/1.6 backport] make repositories of install dependencies configurable ([containerd#9024](containerd#9024))
  * [`0da8dcaa7`](containerd@0da8dca) make repositories of install dependencies configurable
* [release/1.6 backport] update Golang to go1.20.7, minimum version go1.19 ([containerd#9020](containerd#9020))
  * [`8e6a9de5b`](containerd@8e6a9de) update to go1.20.7, go1.19.12
  * [`8b2eb371f`](containerd@8b2eb37) Update Go to 1.20.6,1.19.11
  * [`cff669c7a`](containerd@cff669c) update go to go1.20.5, go1.19.10
  * [`f34a22de9`](containerd@f34a22d) update go to go1.20.4, go1.19.9
  * [`e8e73065e`](containerd@e8e7306) update go to go1.20.3, go1.19.8
  * [`9b3f950d6`](containerd@9b3f950) Go 1.20.2
  * [`17d03ac68`](containerd@17d03ac) Go 1.20.1
  * [`861f65447`](containerd@861f654) go.mod: go 1.19
  * [`81fa93784`](containerd@81fa937) Stop using math/rand.Read and rand.Seed (deprecated in Go 1.20)
  * [`70dc11a6c`](containerd@70dc11a) lint: remove `//nolint:dupword` that are no longer needed
  * [`fec784a06`](containerd@fec784a) lint: silence "SA1019: tar.TypeRegA has been deprecated... (staticheck)"
  * [`6648df1ad`](containerd@6648df1) lint: silence "type `HostFileConfig` is unused (unused)"
  * [`e6b268bc7`](containerd@e6b268b) golangci-lint v1.51.1
  * [`c552ccf67`](containerd@c552ccf) go.mod: golang.org/x/sync v0.1.0
* [releases/1.6] *: fix leaked shim caused by high IO pressure ([containerd#9004](containerd#9004))
  * [`d00af5c3e`](containerd@d00af5c) integration: issue7496 case should work for runc.v2 only
  * [`583696e4e`](containerd@583696e) Vagrantfile: add strace tool
  * [`ab21d60d2`](containerd@ab21d60) pkg/cri/server: add criService as argument when handle exit event
  * [`a229883cb`](containerd@a229883) pkg/cri/server: fix leaked shim issue
  * [`d8f824200`](containerd@d8f8242) integration: add case to reproduce containerd#7496
* [release/1.6] Cherry-pick: [overlay] add configurable mount options to overlay snapshotter ([containerd#8961](containerd#8961))
  * [`8cd40e1d0`](containerd@8cd40e1) Add configurable mount options to overlay
  * [`453fa397a`](containerd@453fa39) feat: make overlay sync removal configurable
* [release/1.6 backport] update runc binary to v1.1.9 ([containerd#8966](containerd#8966))
  * [`4cb7764df`](containerd@4cb7764) update runc binary to v1.1.9
</p>
</details>

* **golang.org/x/sync**  036812b2e83c -> v0.1.0

Previous release can be found at [v1.6.23](https://github.com/containerd/containerd/releases/tag/v1.6.23)
aravindhp added a commit to openshift/containerd that referenced this pull request Sep 16, 2023
containerd 1.6.24

Welcome to the v1.6.24 release of containerd!

The twenty-fourth patch release for containerd 1.6 contains various fixes and updates.

* **CRI: fix leaked shim caused by high IO pressure** ([containerd#9004](containerd#9004))
* **Update to go1.20.8** ([containerd#9073](containerd#9073))
* **Update runc to v1.1.9** ([containerd#8966](containerd#8966))
* **Backport: add configurable mount options to overlay snapshotter** ([containerd#8961](containerd#8961))
* **log: cleanups and improvements to decouple more from logrus** ([containerd#9002](containerd#9002))

See the changelog for complete list of changes

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

* Sebastiaan van Stijn
* Akihiro Suda
* Wei Fu
* Derek McGowan
* Akhil Mohan
* Cardy.Tang
* Danny Canter
* Kazuyoshi Kato
* Mike Brown
* Phil Estes
* Samuel Karp

<details><summary>45 commits</summary>
<p>

* [release/1.6] Prepare release notes for v1.6.24 ([containerd#9087](containerd#9087))
  * [`cdd59290d`](containerd@cdd5929) Prepare release notes for v1.6.24
* [release/1.6 backport] log: cleanups and improvements to decouple more from logrus ([containerd#9002](containerd#9002))
  * [`33c2d88e7`](containerd@33c2d88) Revert "log: define G() as a function instead of a variable"
  * [`0a7f2975e`](containerd@0a7f297) log: swap logrus functions with their equivalent on default logger
  * [`9d175a19b`](containerd@9d175a1) log: add package documentation and summary of package's purpose
  * [`96fb65529`](containerd@96fb655) log: make Fields type a generic map[string]any
  * [`bace17e2e`](containerd@bace17e) log: add log.Entry type
  * [`dd127885f`](containerd@dd12788) log: define OutputFormat type
  * [`5b4cf2329`](containerd@5b4cf23) log: define G() as a function instead of a variable
  * [`ee1b4a1e2`](containerd@ee1b4a1) log: add all log-levels that are accepted
  * [`d563a411f`](containerd@d563a41) log: group "enum" consts and touch-up docs
  * [`6e8f4555b`](containerd@6e8f455) log: WithLogger: remove redundant intermediate var
  * [`c19325559`](containerd@c193255) log: SetFormat: include returns in switch
  * [`c3c22f8cb`](containerd@c3c22f8) log: remove gotest.tools dependency
* [release/1.6] update to go1.20.8 ([containerd#9073](containerd#9073))
  * [`a2c294800`](containerd@a2c2948) [release/1.6] update to go1.20.8
* [release/1.6 backport] make repositories of install dependencies configurable ([containerd#9024](containerd#9024))
  * [`0da8dcaa7`](containerd@0da8dca) make repositories of install dependencies configurable
* [release/1.6 backport] update Golang to go1.20.7, minimum version go1.19 ([containerd#9020](containerd#9020))
  * [`8e6a9de5b`](containerd@8e6a9de) update to go1.20.7, go1.19.12
  * [`8b2eb371f`](containerd@8b2eb37) Update Go to 1.20.6,1.19.11
  * [`cff669c7a`](containerd@cff669c) update go to go1.20.5, go1.19.10
  * [`f34a22de9`](containerd@f34a22d) update go to go1.20.4, go1.19.9
  * [`e8e73065e`](containerd@e8e7306) update go to go1.20.3, go1.19.8
  * [`9b3f950d6`](containerd@9b3f950) Go 1.20.2
  * [`17d03ac68`](containerd@17d03ac) Go 1.20.1
  * [`861f65447`](containerd@861f654) go.mod: go 1.19
  * [`81fa93784`](containerd@81fa937) Stop using math/rand.Read and rand.Seed (deprecated in Go 1.20)
  * [`70dc11a6c`](containerd@70dc11a) lint: remove `//nolint:dupword` that are no longer needed
  * [`fec784a06`](containerd@fec784a) lint: silence "SA1019: tar.TypeRegA has been deprecated... (staticheck)"
  * [`6648df1ad`](containerd@6648df1) lint: silence "type `HostFileConfig` is unused (unused)"
  * [`e6b268bc7`](containerd@e6b268b) golangci-lint v1.51.1
  * [`c552ccf67`](containerd@c552ccf) go.mod: golang.org/x/sync v0.1.0
* [releases/1.6] *: fix leaked shim caused by high IO pressure ([containerd#9004](containerd#9004))
  * [`d00af5c3e`](containerd@d00af5c) integration: issue7496 case should work for runc.v2 only
  * [`583696e4e`](containerd@583696e) Vagrantfile: add strace tool
  * [`ab21d60d2`](containerd@ab21d60) pkg/cri/server: add criService as argument when handle exit event
  * [`a229883cb`](containerd@a229883) pkg/cri/server: fix leaked shim issue
  * [`d8f824200`](containerd@d8f8242) integration: add case to reproduce containerd#7496
* [release/1.6] Cherry-pick: [overlay] add configurable mount options to overlay snapshotter ([containerd#8961](containerd#8961))
  * [`8cd40e1d0`](containerd@8cd40e1) Add configurable mount options to overlay
  * [`453fa397a`](containerd@453fa39) feat: make overlay sync removal configurable
* [release/1.6 backport] update runc binary to v1.1.9 ([containerd#8966](containerd#8966))
  * [`4cb7764df`](containerd@4cb7764) update runc binary to v1.1.9
</p>
</details>

* **golang.org/x/sync**  036812b2e83c -> v0.1.0

Previous release can be found at [v1.6.23](https://github.com/containerd/containerd/releases/tag/v1.6.23)
fuweid added a commit to fuweid/containerd that referenced this pull request Nov 7, 2023
```go
// Delete the initial process and container
func (s *Service) Delete(ctx context.Context, r *ptypes.Empty) (*shimapi.DeleteResponse, error) {
        p, err := s.getInitProcess()
        if err != nil {
                return nil, err
        }
        if err := p.Delete(ctx); err != nil {
                return nil, errdefs.ToGRPC(err)
        }

	// The client might canceled the request but the shim service still
	// moved on. The `delete(s.processes, s.id)` was executed
	// successfully. So the next Delete call will return `container
	// must be created` error. The client side should ignore this
	// issue.

        s.mu.Lock()
        delete(s.processes, s.id)
        s.mu.Unlock()
        s.platform.Close()
        return &shimapi.DeleteResponse{
                ExitStatus: uint32(p.ExitStatus()),
                ExitedAt:   protobuf.ToTimestamp(p.ExitedAt()),
                Pid:        uint32(p.Pid()),
        }, nil
}
```

introduced by containerd#9004
fixes: containerd#9309

Signed-off-by: Wei Fu <[email protected]>
(cherry picked from commit 4499128)
Signed-off-by: Wei Fu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants