-
Notifications
You must be signed in to change notification settings - Fork 40k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kubelet race condition: concurrent map writes #48045
Comments
cc @bradfitz for Golang triaging |
Marking 1.7 until this is properly triaged. |
Yes, this may be a release blocker. |
This isn't a Go bug. This is the best-effort always-on race detector in the Go runtime. It has no false positives. If you get this crash, it's a real race that needs to be fixed. |
I have been working on a fix for the last couple of hours. The code is spaghetti at this point and I'm trying to clean it up along the way. |
/assign I'll be backup |
Automatic merge from submit-queue (batch tested with PRs 48123, 48079) [Kubelet] Fix race condition in container manager **What this PR does / why we need it**: This fixes a race condition where the container manager capacity map was being updated without synchronization. It moves the storage capacity detection to kubelet initialization, which happens serially in one thread. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes kubernetes#48045 **Release note**: ```release-note Fixes kubelet race condition in container manager. ```
Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
kubelet crashed:
fatal error: concurrent map writes
What you expected to happen:
kubelet would function normally
How to reproduce it (as minimally and precisely as possible):
kubeadm init --kubernetes-version v1.7.0-rc.1
wherekubeadm
,kubectl
andkubelet
binaries on host also are of versionv1.7.0-rc.1
Anything else we need to know?:
This was on an arm64 machine, but I don't think it's arm64 related at a first glance.
After kubelet had failed a couple of times in a systemd crashloop, it eventually started up and worked fine.
Environment:
kubectl version
): v1.7.0-rc.1uname -a
):Linux pi5 4.9.13-bee42-v8 #1 SMP PREEMPT Fri Mar 3 16:42:37 UTC 2017 aarch64 GNU/Linux
cc @kubernetes/sig-node-bugs
The text was updated successfully, but these errors were encountered: