Skip to content
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

brew installed minikube: SIGILL: illegal instruction PC=0x406b3e0 m=0 sigcode=1 goroutine 1 #7357

Closed
strus38 opened this issue Apr 1, 2020 · 7 comments
Labels
kind/bug Categorizes issue or PR as related to a bug. os/macos packaging/brew macOS (brew) packaging issues

Comments

@strus38
Copy link

strus38 commented Apr 1, 2020

Trying to launch minikube on macos 10.13.6, here are the steps I followed:

  1. check system requirements:
    sysctl -a | grep -E --color 'machdep.cpu.features|VMX' machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 DTES64 MON DSCPL **VMX** SMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 POPCNT
  2. install dependencies:
    brew update && brew install kubectl && brew cask install docker virtualbox && brew install minikube
    go version go version go1.14.1 darwin/amd64
  3. run minikube
    minikube start --alsologtostderr --driver=virtualbox SIGILL: illegal instruction PC=0x406b3e0 m=0 sigcode=1 goroutine 1 [running, locked to thread]: runtime.asyncPreempt() /usr/local/Cellar/go/1.14/libexec/src/runtime/preempt_amd64.s:8 fp=0xc00063f8f8 sp=0xc00063f8f0 pc=0x406b3e0 regexp.mergeRuneSets(0xc000176268, 0xc0001761a8, 0x30000000b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /usr/local/Cellar/go/1.14/libexec/src/regexp/onepass.go:193 +0x453 fp=0xc00063f9d0 sp=0xc00063f8f8 pc=0x411b2c3 regexp.makeOnePass.func1(0x4, 0xc000390c70, 0xe, 0xe, 0x1) /usr/local/Cellar/go/1.14/libexec/src/regexp/onepass.go:342 +0x45e fp=0xc00063fac8 sp=0xc00063f9d0 pc=0x4122bce regexp.makeOnePass(0xc0005cf6b0, 0xc0005cf6b0) /usr/local/Cellar/go/1.14/libexec/src/regexp/onepass.go:448 +0x398 fp=0xc00063fbe0 sp=0xc00063fac8 pc=0x411c4c8 regexp.compileOnePass(0xc0005cf650, 0xc0005cf650) /usr/local/Cellar/go/1.14/libexec/src/regexp/onepass.go:500 +0x129 fp=0xc00063fc58 sp=0xc00063fbe0 pc=0x411c7a9 regexp.compile(0x568f44f, 0x33, 0xc0000000d4, 0x44c1171, 0x53a9ae0, 0xc0004aa500) /usr/local/Cellar/go/1.14/libexec/src/regexp/regexp.go:189 +0x106 fp=0xc00063fcf0 sp=0xc00063fc58 pc=0x411ca76 regexp.Compile(...) /usr/local/Cellar/go/1.14/libexec/src/regexp/regexp.go:133 regexp.MustCompile(0x568f44f, 0x33, 0x0) /usr/local/Cellar/go/1.14/libexec/src/regexp/regexp.go:309 +0x4b fp=0xc00063fd78 sp=0xc00063fcf0 pc=0x411d77b github.com/google/go-cmp/cmp.init() /private/tmp/minikube-20200327-28156-c8swdi/.brew_home/go/pkg/mod/github.com/google/[email protected]/cmp/options.go:238 +0x3a fp=0xc00063fda8 sp=0xc00063fd78 pc=0x51fa1ba runtime.doInit(0x65be1c0) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5414 +0x8a fp=0xc00063fdd8 sp=0xc00063fda8 pc=0x40464aa runtime.doInit(0x65b9660) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc00063fe08 sp=0xc00063fdd8 pc=0x4046477 runtime.doInit(0x65c9800) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc00063fe38 sp=0xc00063fe08 pc=0x4046477 runtime.doInit(0x65c3700) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc00063fe68 sp=0xc00063fe38 pc=0x4046477 runtime.doInit(0x65c4180) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc00063fe98 sp=0xc00063fe68 pc=0x4046477 runtime.doInit(0x65c9940) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc00063fec8 sp=0xc00063fe98 pc=0x4046477 runtime.doInit(0x65c62a0) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc00063fef8 sp=0xc00063fec8 pc=0x4046477 runtime.doInit(0x65ca940) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc00063ff28 sp=0xc00063fef8 pc=0x4046477 runtime.doInit(0x65d6ac0) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc00063ff58 sp=0xc00063ff28 pc=0x4046477 runtime.doInit(0x65c2da0) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc00063ff88 sp=0xc00063ff58 pc=0x4046477 runtime.main() /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:190 +0x1ce fp=0xc00063ffe0 sp=0xc00063ff88 pc=0x40398ae runtime.goexit() /usr/local/Cellar/go/1.14/libexec/src/runtime/asm_amd64.s:1373 +0x1 fp=0xc00063ffe8 sp=0xc00063ffe0 pc=0x4069b61
  4. even simpler command don't work like:
    minikube status
    or
    minikube --version Error: unknown flag: --version See 'minikube --help' for usage. SIGILL: illegal instruction PC=0x10683a0 m=0 sigcode=1 goroutine 1 [running, locked to thread]: runtime.asyncPreempt() /usr/local/Cellar/go/1.14/libexec/src/runtime/preempt_amd64.s:8 fp=0xc0006ffe38 sp=0xc0006ffe30 pc=0x10683a0 math/rand.(*rngSource).Seed(0xc000145500, 0x1601c01fad7bef68) /usr/local/Cellar/go/1.14/libexec/src/math/rand/rng.go:226 +0x14e fp=0xc0006ffe40 sp=0xc0006ffe38 pc=0x10f948e math/rand.NewSource(0x1601c01fad7bef68, 0x1f0e2a8, 0x39a1560) /usr/local/Cellar/go/1.14/libexec/src/math/rand/rand.go:46 +0x4a fp=0xc0006ffe68 sp=0xc0006ffe40 pc=0x10f804a k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/rand.init() /private/tmp/kubernetes-cli-20200326-27263-1sjm487/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/rand/rand.go:30 +0x35 fp=0xc0006ffe98 sp=0xc0006ffe68 pc=0x1e3a465 runtime.doInit(0x37b5ac0) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5414 +0x8a fp=0xc0006ffec8 sp=0xc0006ffe98 pc=0x1044d8a runtime.doInit(0x37c7640) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc0006ffef8 sp=0xc0006ffec8 pc=0x1044d57 runtime.doInit(0x37b8740) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc0006fff28 sp=0xc0006ffef8 pc=0x1044d57 runtime.doInit(0x37cc920) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc0006fff58 sp=0xc0006fff28 pc=0x1044d57 runtime.doInit(0x37bc8e0) /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:5409 +0x57 fp=0xc0006fff88 sp=0xc0006fff58 pc=0x1044d57 runtime.main() /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:190 +0x1ce fp=0xc0006fffe0 sp=0xc0006fff88 pc=0x103810e runtime.goexit() /usr/local/Cellar/go/1.14/libexec/src/runtime/asm_amd64.s:1373 +0x1 fp=0xc0006fffe8 sp=0xc0006fffe0 pc=0x1066b31
  5. Even if I suspect a 'go' issue given the logs, you may have an idea.

Thanks.

@afbjorklund
Copy link
Collaborator

afbjorklund commented Apr 1, 2020

Probably a go bug, minikube (and kubernetes) suggests using 1.13.8 for now (1.13.9 soon).

golang/go#37478 (says that it is fixed in go1.14.1)

Possibly rebuilding minikube with go 1.14.1 might work, but 1.14 seems broken on darwin

brew reinstall --build-from-source minikube

@afbjorklund afbjorklund added os/macos kind/bug Categorizes issue or PR as related to a bug. packaging/brew macOS (brew) packaging issues labels Apr 1, 2020
@butuzov
Copy link

butuzov commented Apr 1, 2020

Yuck.
I think we broke Darwin/amd64 on pre-AVX chips. VZEROUPPER needs a CPU feature detection guard.
by @randall77

I am also one of the affected users (using old MacPro with old Xeons on a board). Thanks to @afbjorklund advise problem solved.

> brew install go 
> go version
go version go1.14.1 darwin/amd64

> brew reinstall --build-from-source minikube
> minikube version
minikube version: v1.9.0
commit: 48fefd43444d2f8852f527c78f0141b377b1e42a

kubectl can be downgraded with existing binaries. I am using 1.17.4 version.

@strus38
Copy link
Author

strus38 commented Apr 1, 2020

Indeed, using:
brew reinstall --build-from-source minikube
seems to fix it!
I will keep testing more using:
minikube version: v1.9.0 go: v1.14.1 Kubernetes: v1.18.0

So not really better, I will switch back to previous versions of go:
minikube start --driver=virtualbox 😄 minikube v1.9.0 on Darwin 10.13.6 ✨ Using the virtualbox driver based on existing profile 🏃 Updating the running virtualbox "minikube" VM ... 🐳 Preparing Kubernetes v1.18.0 on Docker 19.03.8 ... 🌟 Enabling addons: default-storageclass, storage-provisioner 🏄 Done! kubectl is now configured to use "minikube" E0401 23:35:49.840250 31055 start.go:383] kubectl info: exec: exit status 2 SIGILL: illegal instruction PC=0x10683a0 m=0 sigcode=1 goroutine 1 [running]: runtime.asyncPreempt() /usr/local/Cellar/go/1.14/libexec/src/runtime/preempt_amd64.s:8 fp=0xc00051fa98 sp=0xc00051fa90 pc=0x10683a0 k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/set.NewCmdServiceAccount(0x299be20, 0xc00031f080, 0x29414e0, 0xc000010010, 0x2941500, 0xc000010018, 0x2941500, 0xc000010020, 0xc00059f400) /private/tmp/kubernetes-cli-20200326-27263-1sjm487/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/set/set_serviceaccount.go:116 +0x2ac fp=0xc00051fb10 sp=0xc00051fa98 pc=0x2100adc k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/set.NewCmdSet(0x299be20, 0xc00031f080, 0x29414e0, 0xc000010010, 0x2941500, 0xc000010018, 0x2941500, 0xc000010020, 0xc00059e780) /private/tmp/kubernetes-cli-20200326-27263-1sjm487/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/set/set.go:49 +0x355 fp=0xc00051fb90 sp=0xc00051fb10 pc=0x20f74c5 k8s.io/kubernetes/pkg/kubectl/cmd.NewKubectlCommand(0x29414e0, 0xc000010010, 0x2941500, 0xc000010018, 0x2941500, 0xc000010020, 0x1058d69) /private/tmp/kubernetes-cli-20200326-27263-1sjm487/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubectl/cmd/cmd.go:489 +0x547 fp=0xc00051fe40 sp=0xc00051fb90 pc=0x22de367 k8s.io/kubernetes/pkg/kubectl/cmd.NewDefaultKubectlCommandWithArgs(0x2947220, 0xc0000a1620, 0xc00003c080, 0x4, 0x4, 0x29414e0, 0xc000010010, 0x2941500, 0xc000010018, 0x2941500, ...) /private/tmp/kubernetes-cli-20200326-27263-1sjm487/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubectl/cmd/cmd.go:306 +0x81 fp=0xc00051fed0 sp=0xc00051fe40 pc=0x22dd531 k8s.io/kubernetes/pkg/kubectl/cmd.NewDefaultKubectlCommand(...) /private/tmp/kubernetes-cli-20200326-27263-1sjm487/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubectl/cmd/cmd.go:301 main.main() _output/local/go/src/k8s.io/kubernetes/cmd/kubectl/kubectl.go:38 +0x1ae fp=0xc00051ff88 sp=0xc00051fed0 pc=0x2321e6e runtime.main() /usr/local/Cellar/go/1.14/libexec/src/runtime/proc.go:203 +0x212 fp=0xc00051ffe0 sp=0xc00051ff88 pc=0x1038152 runtime.goexit() /usr/local/Cellar/go/1.14/libexec/src/runtime/asm_amd64.s:1373 +0x1 fp=0xc00051ffe8 sp=0xc00051ffe0 pc=0x1066b31 goroutine 6 [chan receive]: k8s.io/kubernetes/vendor/k8s.io/klog.(*loggingT).flushDaemon(0x39a1a60) /private/tmp/kubernetes-cli-20200326-27263-1sjm487/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/klog.go:1010 +0x8b created by k8s.io/kubernetes/vendor/k8s.io/klog.init.0 /private/tmp/kubernetes-cli-20200326-27263-1sjm487/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/klog.go:411 +0xd6

@butuzov
Copy link

butuzov commented Apr 2, 2020

@strus38 brew has release 1.14.1 version few days, which doesn't have this issue. While all essential software currently ae build with 1.13.8 I guess it's safe to update go via brew.

P/S/
kubectl you using also build with 1.14, you can download patched version build with 1.13.8, check this document (you looking for kubernetes-client-darwin-amd64.tar.gz) and copy it (or link it) to /usr/local/bin/kubectl

image

@strus38
Copy link
Author

strus38 commented Apr 2, 2020

Thanks, it seems to work like a charm with this new kubectl version... at least for now.
I was able to start minikube and to enable the dashboard.
Thanks for the awesome support.

@afbjorklund
Copy link
Collaborator

Most likely brew reinstall --build-from-source kubernetes-client would fix kubectl.

Otherwise you can use minikube kubectl, and as a bonus the version will match the cluster...

@tstromberg tstromberg changed the title minikube 1.9.0 fails to start macos 10.13.6 brew installed minikube: SIGILL: illegal instruction PC=0x406b3e0 m=0 sigcode=1 goroutine 1 Apr 6, 2020
@tstromberg
Copy link
Contributor

Seems like this was addressed in the upstream brew. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. os/macos packaging/brew macOS (brew) packaging issues
Projects
None yet
Development

No branches or pull requests

4 participants