-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
fatal error: concurrent map read and map write #368
Comments
There was a watch related bug fixed in 1.3.1, maybe once we update in #380. |
As an FYI, after the failure and restart with: @dlorenc Thanks for the info. |
I looked at the watch fix in 1.3.1 / 1.3.2 but i don't think it addresses the problem. Now that I have a few more stack dumps to look at, my guess is that there is a race condition that the following PR might address: |
I tried out the latest release minikube v0.7.0, but the problem persists.
Next week I will try and cherry pick kubernetes/kubernetes#28744 and see if that helps. |
link to similar issue kubernetes/kubernetes#29638 |
I had a bit of time to try and work this issue, but I think I may be missing some fundamental steps in debugging. I cloned the minikube repo, and cherry picked the relevant code I wanted to try. I currently have the .7.1 (release) minikube-vm installed--- does it need to be deleted before I run out/minikube stop; out/minikube start? Or is a simple out/minikube stop/start ok? I am trying not to delete the current VM because my internet speed is slow... does minikube always work with the same |
Sorry for the slow response! Looks like this has finally been cherrypicked, but it didn't make it into 1.3.5: kubernetes/kubernetes#29960 We'll be able to pull in the fix once this makes it to an official Kubernetes release. It looks like this is caused by having deployments with overlapping selectors, so removing that might be a workaround for now: kubernetes/kubernetes#29960 (comment) You can just re-run "minikube start" to update the VM/localkube binary after you recompile. You don't need to stop or delete. |
We should include those in our offline section: #391 |
@andrewgdavis just curious, did you have multiple deployments? Do those deployments have overlapping label selectors? |
at one time, that may have been the case, but last week I have only been deploying 1 pod that makes use of The yaml looks like this.
the fatal error: concurrent map writes still occurs when running it. (simple kubectl delete -f tomcat.yaml and then kubectl create -f tomcat.yaml) update: to be honest the last time that this occurred was Aug 9th-- I may have been doing deployments along side this pod at the time. |
@dlorenc this looks different from kubernetes/kubernetes#29960, since the panic comes from client cache deltafifo, instead of deployment controller? |
The minikube logs show a lot of goroutines that start with: for example:
most of which look like this:
Not sure if that is helpful or not. Let me know if there is anything else that I should look for. |
Looks like delta fifo's items map is read/written concurrently while reflector doing Resync in ListAndWatch https://github.com/kubernetes/kubernetes/blob/b0deb2eb8f4037421077f77cb163dbb4c0a2a9f5/pkg/client/cache/delta_fifo.go#L303 @lavalamp @wojtek-t maybe know more details about delta fifo? @andrewgdavis do you know how to reproduce this? |
deltafifo has the queue locked. I'd expect the culprit to actually be something else. @andrewgdavis if you post the entire stack dump it might be helpful. |
Here is one of the 3 logs (I think they were all using minikube 0.7.1): Let me know if you also would like to see the others. @janetkuo no, i don't know how this was reproduced-- and I have not seen the issue since aug9. That said my environment changed-- I cherry picked kubernetes/kubernetes#28744 and built minikube-- then instead of using virtualBox, i went with xhyve. |
Just got another dump from today. So the cherrypick and use of xhyve don't seem to matter. |
See this one: It seems to be the same issue. |
Thanks for the stack dump. |
Automatic merge from submit-queue queueActionLocked requires write lock Fix kubernetes/minikube#368 Fix part of #30759 Hopefully. On stack dumps I couldn't see who was fighting with this.
Automatic merge from submit-queue Do not hold the lock for a long time Followup to #30839. I'm not convinced this is a super great idea but I'll throw it out and let others decide. Ref kubernetes/minikube#368 Ref #30759
For closure I think this PR finally fixed the issue: |
@andrewgdavis thanks for the confirmation! |
@aaron-prindle would it be possible to get out an 0.8.1 with this in it? Restarting multiple times a day because of panics isn't so fun. |
Hey @jezell, we can do a release soon with this fix, but it would be much nicer if this made it into a real Kubernetes release first. It doesn't look like it's been cherry picked into a 1.3.* release yet, would you be fine with using a 1.4-alpha release to get this fix? |
I would definitely |
Cool, we'll publish one soon. You won't need 0.8.1 for that, you'll be able to use it with a --k8s_version flag and your existing build. |
awesome! thanks |
Looks like this issue impacts ingress-controller resulting in frequent restarts:
I am hitting this issue in v1.3.6:
|
running
minikube logs
shows the following:Steps to reproduce: Unknown at this point, but the number of occurrences has been 3 in the past 2 days.
minikube version: v0.6.0
kubectl version Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.0", GitCommit:"283137936a498aed572ee22af6774b6fb6e9fd94", GitTreeState:"clean", BuildDate:"2016-07-01T19:26:38Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"darwin/amd64"} The connection to the server 192.168.99.100:8443 was refused - did you specify the right host or port?
(minikube vm is no longer responsive to kubectl comands)OS: Darwin Kernel 15.3.0
The text was updated successfully, but these errors were encountered: