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

runtime: bsdthread_register error on macOS 12 #49425

Closed
DeanWronowski opened this issue Nov 7, 2021 · 47 comments
Closed

runtime: bsdthread_register error on macOS 12 #49425

DeanWronowski opened this issue Nov 7, 2021 · 47 comments
Labels
NeedsInvestigation OS-Darwin
Milestone

Comments

@DeanWronowski
Copy link

@DeanWronowski DeanWronowski commented Nov 7, 2021

Everything has been working perfectly for a while until I decided to upgrade Mac OS to Monterey.

What version of Go are you using (go version)?

go version go1.17.2 darwin/amd64

Does this issue reproduce with the latest release?

Yes. I have tried updating go to the latest version, as well as updating to the latest of xcode and command tools. Also ran brew upgrade to make sure everything is updated. Also tried diffrent shells to see if that makes any difference.
I am also running the latest version of docker.

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/deanwronowski/Library/Caches/go-build"
GOENV="/Users/deanwronowski/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/deanwronowski/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/deanwronowski/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.17.2/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.17.2/libexec/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.17.2"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/1p/q77885x9157c_yvzss7zx1480000gn/T/go-build2753144081=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

When running the following command to connect to a server running docker it produces the error. It does not matter if the server is hosted on AWS EC2 or Digital Ocean droplets.

It seems this issue is not related just to Docker, as I am also getting this error when running a command in the terminal inside of VS.

eval "$(docker-machine env machinegoeshere)"

What did you expect to see?

Usually nothing displays which indicates its connected to the server.

What did you see instead?

fatal error: runtime: bsdthread_register error

runtime stack:
runtime.throw(0x20594e0, 0x21)
	/usr/local/go/src/runtime/panic.go:619 +0x81 fp=0x7ff7bfeff878 sp=0x7ff7bfeff858 pc=0x1029751
runtime.goenvs()
	/usr/local/go/src/runtime/os_darwin.go:129 +0x83 fp=0x7ff7bfeff8a8 sp=0x7ff7bfeff878 pc=0x10272d3
runtime.schedinit()
	/usr/local/go/src/runtime/proc.go:496 +0xa4 fp=0x7ff7bfeff900 sp=0x7ff7bfeff8a8 pc=0x102c014
runtime.rt0_go(0x7ff7bfeff930, 0x3, 0x7ff7bfeff930, 0x1000000, 0x3, 0x7ff7bfeffab0, 0x7ff7bfeffabf, 0x7ff7bfeffac3, 0x0, 0x7ff7bfeffacc, ...)
	/usr/local/go/src/runtime/asm_amd64.s:252 +0x1f4 fp=0x7ff7bfeff908 sp=0x7ff7bfeff900 pc=0x1052c64

I have seen reports starting to appear with similar issues as well

I noticed this error popped up a few years ago, I wonder if its just a case of waiting for everyone to recompile their code again, although surprised this has not been done yet?

@zchee
Copy link
Contributor

@zchee zchee commented Nov 7, 2021

cc @cherrymui

@cjaentsch

This comment has been minimized.

@gnMichaelTrlitza

This comment has been minimized.

@seankhliao
Copy link
Contributor

@seankhliao seankhliao commented Nov 8, 2021

a reminder of our no +1 policy
please use the voting at the top if you have nothing to add

@cherrymui cherrymui changed the title fatal error: runtime: bsdthread_register error runtime: bsdthread_register error on macOS 12 Nov 8, 2021
@cherrymui
Copy link
Member

@cherrymui cherrymui commented Nov 8, 2021

@DeanWronowski Thanks for the report. What binaries are failing? (The docker command, docker-machine, or anything, it wasn't very clear in the original post) What versions of Go the binaries are built with? You may be able to find that out by running go version <binary>. Thanks.

@koryhutchison
Copy link

@koryhutchison koryhutchison commented Nov 8, 2021

I'm seeing the same thing with Kubernetes. I was on version 1.18.0 of kubectl and that uses golang 1.13.9. I know that's a really old version, but everything was working fine until I upgraded to Monterey and now I'm seeing this same error.

@DeanWronowski
Copy link
Author

@DeanWronowski DeanWronowski commented Nov 8, 2021

@cherrymui - Sorry, my apologies.

The docker command seems to be working fine, as well as docker-compose build namegoeshere.

However, when running the following commands the error is presented
eval "$(docker-machine env -u)"
docker-machine - even without any parameters
docker-machine ls

When running the command go version docker-machine inside of /usr/local/bin/ it says it cannot find the go version.

Hope that helps

@cagedmantis cagedmantis added the NeedsInvestigation label Nov 8, 2021
@cagedmantis cagedmantis added this to the Backlog milestone Nov 8, 2021
@cherrymui
Copy link
Member

@cherrymui cherrymui commented Nov 8, 2021

@koryhutchison what version of Go that kubectl was built with?

As far as I can tell, the "bsdthread_register error" message last appears in Go 1.10 and is removed since Go 1.11.

@cherrymui
Copy link
Member

@cherrymui cherrymui commented Nov 8, 2021

@DeanWronowski thanks, and no worries. For newer versions of Go I'd think go version would work, so I guess your docker-machine binary would be build with an old version of Go. Would it be possible to update/rebuild it with a newer version of Go? Thanks.

@DeanWronowski
Copy link
Author

@DeanWronowski DeanWronowski commented Nov 9, 2021

Just upgraded my iMac machine (separate machine to the original one) to Monterey and ran the command docker-machine which worked perfectly fine. This machine did not have go binary installed though. After installing Go via brew install go it still works fine. Not sure why it works on one machine and not the other.

They are both Intel Core i7

These are the architectures for both machines:

  • Darwin Deans-MBP-2.lan 21.1.0 Darwin Kernel Version 21.1.0: Wed Oct 13 17:33:23 PDT 2021; root:xnu-8019.41.5~1/RELEASE_X86_64 x86_64
  • Darwin Deans-iMac.lan 21.1.0 Darwin Kernel Version 21.1.0: Wed Oct 13 17:33:23 PDT 2021; root:xnu-8019.41.5~1/RELEASE_X86_64 x86_64

The only noticeable differences is that I have Avast Business Antivirus installed on the Macbook Pro machine. However, I tried disabling it and still didn't make any difference. Must be some sort of memory protection on threads happening maybe?

@cherrymui - The original source code for docker-machine (https://github.com/docker/machine) is archived and recommends you to use Docker Desktop for Mac, which I have installed. However, not sure they have released the source code for it. I could try recompiling the docker-machine and see what happens?

Also noticed a discussion happening over at - rancher/rancher#35346 about the same issue. I have included the link in the original post as well

@mayconritzmann
Copy link

@mayconritzmann mayconritzmann commented Nov 9, 2021

I have the same problem using terraform on version 0.11.7 and with kubectl on 1.10.13

@DeanWronowski
Copy link
Author

@DeanWronowski DeanWronowski commented Nov 9, 2021

Docker released a new update for Docker Desktop - https://docs.docker.com/desktop/mac/release-notes/#docker-desktop-420 - but hasn't made any difference.

@koryhutchison
Copy link

@koryhutchison koryhutchison commented Nov 9, 2021

@cherrymui I went ahead and upgraded my kubectl version to v1.20.0 and I still get the error. But you can see from the output from the kubectl version --client command that it's using go1.15.5:

Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.0", GitCommit:"af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38", GitTreeState:"clean", BuildDate:"2020-12-08T17:59:43Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"darwin/amd64"}

Also I verified it in the Kubernetes CHANGELOG.

@cherrymui
Copy link
Member

@cherrymui cherrymui commented Nov 9, 2021

Sorry, I'm not familiar with docker and what can or cannot be built from source. Just as an experiment, you could try building docker-machine from the archived source with a new version of Go and see if the issue occurs.

It still looks like it fails with a binary built with an early (or unknown) version of Go. Does anyone see the issue with a newly built binary, preferably built from source? Thanks.

@cherrymui
Copy link
Member

@cherrymui cherrymui commented Nov 9, 2021

@koryhutchison how do you run kubectl version --client command? Doesn't kubectl fail at startup? If it is built with Go 1.15.5, go version /path/to/kubectl would likely work and print the Go version. Could you try that? Thanks.

@koryhutchison
Copy link

@koryhutchison koryhutchison commented Nov 9, 2021

No so kubectl works until I try to kubectl get pods. So like, any time it tries to make a network request. When I run go version /path/to/kubectl I get zsh: command not found: go. I don't know if macOS is supposed to have go installed by default, but yeah I don't have it on my machine. But I've never had to install it to get kubectl to work.

Thank you for your quick responses!

@cherrymui
Copy link
Member

@cherrymui cherrymui commented Nov 9, 2021

No so kubectl works until I try to kubectl get pods

That looks like kubectl probably spawns a subprocess and that subprocess fails. Would it be possible to find out what that subprocess is?

Yeah, kubectl should work without installing Go. If you don't mind, you could install Go from https://golang.org/dl/ . Or if your kubectl binary is downloaded from the internet, could you provide the URL for that binary? Thanks.

@koryhutchison
Copy link

@koryhutchison koryhutchison commented Nov 9, 2021

I just made another discovery. It looks like the problem is with aws-iam-authenticator. At least for me. Because I'm getting this when I run aws-iam-authenticator help:

fatal error: runtime: bsdthread_register error

runtime stack:
runtime.throw(0x2439ce8, 0x21)
	/usr/local/go/src/runtime/panic.go:616 +0x81 fp=0x7ff7bfeff648 sp=0x7ff7bfeff628 pc=0x1029781
runtime.goenvs()
	/usr/local/go/src/runtime/os_darwin.go:129 +0x83 fp=0x7ff7bfeff678 sp=0x7ff7bfeff648 pc=0x1027303
runtime.schedinit()
	/usr/local/go/src/runtime/proc.go:501 +0xd6 fp=0x7ff7bfeff6e0 sp=0x7ff7bfeff678 pc=0x102c076
runtime.rt0_go(0x7ff7bfeff718, 0x2, 0x7ff7bfeff718, 0x0, 0x1000000, 0x2, 0x7ff7bfeff898, 0x7ff7bfeff8ae, 0x0, 0x7ff7bfeff8b3, ...)
	/usr/local/go/src/runtime/asm_amd64.s:252 +0x1f4 fp=0x7ff7bfeff6e8 sp=0x7ff7bfeff6e0 pc=0x10527e4

And kubectl uses aws-iam-authenticator to authenticate with the Kubernetes cluster. So I think it's the culprit and not kubectl. As of right now I haven't found the go version for that. But the link to AWS's binary is in that link above.

I'm also seeing this issue there: kubernetes-sigs/aws-iam-authenticator#409

@koryhutchison
Copy link

@koryhutchison koryhutchison commented Nov 9, 2021

Update: turns out that the problem is solved if aws-iam-authenticator gets installed via homebrew. Not exactly sure why, but my guess is they have an updated version in homebrew. So as for me, everything is working now. They must be using an older version of go or something. 🤷

@cherrymui
Copy link
Member

@cherrymui cherrymui commented Nov 9, 2021

@koryhutchison Yeah, I think you're right. The newly installed aws-iam-authenticator is probably built with a new version of Go. Thanks!

@DeanWronowski
Copy link
Author

@DeanWronowski DeanWronowski commented Nov 9, 2021

With regards to docker-machine not working. I found a fork repo from Gitlab that has kept the docker-machine project active, with builds using more up to date Go versions. This has fixed my issue.

The link to the builds are here https://gitlab-docker-machine-downloads.s3.amazonaws.com/main/docker-machine-Darwin-x86_64

@cherrymui
Copy link
Member

@cherrymui cherrymui commented Nov 9, 2021

It appears that this issue only occurs with binaries built with old unsupported versions of Go. Closing. See https://golang.org/wiki/MacOS12BSDThreadRegisterIssue

If anyone has a reproduce with a program built with Go 1.16 or later, feel free to reopen. Thanks.

@rokjoana
Copy link

@rokjoana rokjoana commented Nov 11, 2021

I'm having this same issue but with my own go executables compiled using go 1.17.2. I've also tried reinstalling xcode cli tools and setting MallocNanoZone=0 but to no effect.

@cherrymui
Copy link
Member

@cherrymui cherrymui commented Nov 11, 2021

@rokjoana What binary it is? Could you show the command you run to build them and the error message? Also, could you check if the binary spawns a subprocess that may be an old binary?

@rokjoana
Copy link

@rokjoana rokjoana commented Nov 11, 2021

I'm using just go build -v -o binary-name. Our application is not spawning any subprocess from other binaries directly.

@cherrymui
Copy link
Member

@cherrymui cherrymui commented Nov 11, 2021

@rokjoana Could you paste the error message you saw? Could you double check your Go version? Go 1.17.2 does not have the "bsdthread_register" error message, so it must be something else. What is the output of go version your-binary?

@rokjoana
Copy link

@rokjoana rokjoana commented Nov 14, 2021

I reviewed the compiling steps and it was actually a custom tool used before compilation that was failing. But even so, its compiled in go 1.17.2 and its giving the following error:

fatal error: runtime: bsdthread_register error

runtime stack:
runtime.throw(0x1573b72, 0x21)
        /usr/local/go/src/runtime/panic.go:619 +0x81 fp=0x7ff7bfeff5b8 sp=0x7ff7bfeff598 pc=0x1029531
runtime.goenvs()
        /usr/local/go/src/runtime/os_darwin.go:129 +0x83 fp=0x7ff7bfeff5e8 sp=0x7ff7bfeff5b8 pc=0x10270b3
runtime.schedinit()
        /usr/local/go/src/runtime/proc.go:496 +0xa4 fp=0x7ff7bfeff640 sp=0x7ff7bfeff5e8 pc=0x102bdf4
runtime.rt0_go(0x7ff7bfeff670, 0x3, 0x7ff7bfeff670, 0x1000000, 0x3, 0x7ff7bfeff840, 0x7ff7bfeff845, 0x7ff7bfeff84c, 0x0, 0x7ff7bfeff851, ...)
        /usr/local/go/src/runtime/asm_amd64.s:252 +0x1f4 fp=0x7ff7bfeff648 sp=0x7ff7bfeff640 pc=0x1051ee4

the command used compile the tool is the following

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -a -installsuffix cgo -ldflags -X 'main.version=v1.9.0' -o ../../release/Darwin/x86_64/kiya/bin/kiya ./cmd_list.go ./flags.go ./cmd_delete.go ./utils.go ./cmd_template.go ./cmd_put_paste_generate.go ./main.go ./cmd_move.go

the go version for that binary is returning

$ go version release/kiya-Darwin-x86_64          
release/kiya-Darwin-x86_64: go1.17.2

I ended up running the binary successfully by removing the unnecessary CGO_ENABLED=0 and -installsuffix cgo. Thanks for your help @cherrymui .

@cherrymui
Copy link
Member

@cherrymui cherrymui commented Nov 15, 2021

@rokjoana Thanks. It is still weird that in Go 1.17.2 the line at runtime/os_darwin.go:129 cannot panic.

-installsuffix cgo

Maybe there are some old files in your $GOROOT/pkg/darwin_amd64_cgo directory that confused it? That would be weird, too. Anyway, good to know it is solved :)

@tel-kho
Copy link

@tel-kho tel-kho commented Nov 29, 2021

Hello,

I add this message to say that the same error occured on my side when trying to use the "gitlab-runner" CLI on my macOS Monterey 12.0.1.
After reading all messages, I tried to update it with brew as suggested and I no longer have the error.

Thank you all

@Rovel
Copy link

@Rovel Rovel commented Nov 29, 2021

If anyone still have this issue, I installed the last official version of the deprecated project, they had a last release in Sep 02, 2019, with the Gitlab fork some machines with older hosts were not working.
Install one liner:

curl -L https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \
  chmod +x /usr/local/bin/docker-machine

@sameer-dighe
Copy link

@sameer-dighe sameer-dighe commented Dec 21, 2021

Hi all, I am also facing the same issue

I have upgraded to macos monteray and I am just running simple git command so getting this below error

fatal error: runtime: bsdthread_register error

runtime stack:
runtime.throw(0x115021a, 0x21)
        /home/travis/.gimme/versions/go1.10.2.linux.amd64/src/runtime/panic.go:616 +0x81 fp=0x7ff7bfeff0d8 sp=0x7ff7bfeff0b8 pc=0x1027a21
runtime.goenvs()
        /home/travis/.gimme/versions/go1.10.2.linux.amd64/src/runtime/os_darwin.go:129 +0x83 fp=0x7ff7bfeff108 sp=0x7ff7bfeff0d8 pc=0x10255a3
runtime.schedinit()
        /home/travis/.gimme/versions/go1.10.2.linux.amd64/src/runtime/proc.go:501 +0xd6 fp=0x7ff7bfeff170 sp=0x7ff7bfeff108 pc=0x102a316
runtime.rt0_go(0x7ff7bfeff1a0, 0x3, 0x7ff7bfeff1a0, 0x1000000, 0x3, 0x7ff7bfeff408, 0x7ff7bfeff433, 0x7ff7bfeff447, 0x0, 0x7ff7bfeff44f, ...)
        /home/travis/.gimme/versions/go1.10.2.linux.amd64/src/runtime/asm_amd64.s:252 +0x1f4 fp=0x7ff7bfeff178 sp=0x7ff7bfeff170 pc=0x104f2c4


Can someone please help?

@zchee
Copy link
Contributor

@zchee zchee commented Dec 21, 2021

@dmytro-martyniuk
Copy link

@dmytro-martyniuk dmytro-martyniuk commented Jan 13, 2022

https://gitlab-docker-machine-downloads.s3.amazonaws.com/main/docker-machine-Darwin-x86_64

@DeanWronowski Could you provide a bit more details how you installed custom docker machine.
I use command:

base=https://gitlab-docker-machine-downloads.s3.amazonaws.com/main/docker-machine-Darwin-x86_64 \ && curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine \ && chmod +x /usr/local/bin/docker-machine

but during checking docker-machine ls I'm getting:
/usr/local/bin/docker-machine: line 1: syntax error near unexpected token newline /usr/local/bin/docker-machine: line 1: <?xml version="1.0" encoding="UTF-8"?>

@justme-sports
Copy link

@justme-sports justme-sports commented Jan 29, 2022

Am still getting this error while trying to use git commit, can some one please help to see how I can resolve it
git version: 2.35.0
go version: go1.17.6 darwin/amd64
Screen Shot 2022-01-20 at 11 27 52

@cherrymui
Copy link
Member

@cherrymui cherrymui commented Jan 31, 2022

@justme-sports git by itself is not a Go program. You probably have git commit hook installed, for example, gofmt, or some checker. You'll need to find out what that is (such as by looking at .git/hooks) and rebuild that program with a newer version of Go.

@justme-sports
Copy link

@justme-sports justme-sports commented Jan 31, 2022

@justme-sports git by itself is not a Go program. You probably have git commit hook installed, for example, gofmt, or some checker. You'll need to find out what that is (such as by looking at .git/hooks) and rebuild that program with a newer version of Go.

@cherrymui Thanks so much for the information, really grateful. I do see gofmt in my /usr/local/bin/ folder.
Can you please help me: When we say rebuild the program with newer version of Go, how should i do it ?

Appreciate all your help so much!

@cherrymui
Copy link
Member

@cherrymui cherrymui commented Jan 31, 2022

@justme-sports you can copy GOROOT/bin/gofmt to /usr/local/bin/, where GOROOT is the top-level directory of your Go 1.17.6 installation.

@justme-sports
Copy link

@justme-sports justme-sports commented Feb 1, 2022

@cherrymui Still facing the same issue!! is there a way we can screen share to look at this ?

@azec-pdx
Copy link

@azec-pdx azec-pdx commented Feb 7, 2022

I can confirm having this issue after upgrade to macOS Monterey Version 12.2 (21D49) with https://github.com/shyiko/kubesec . It's latest version of binary compiled for macOS back in 2019 was built with go 1.9.1 ....

$ kubesec --version

atal error: runtime: bsdthread_register error

runtime stack:
runtime.throw(0x156bf2a, 0x21)
	/home/shyiko/Development/golang/go1.9.1.linux-amd64/src/runtime/panic.go:605 +0x95 fp=0x7ff7bfeff060 sp=0x7ff7bfeff040 pc=0x1029ad5
runtime.goenvs()
	/home/shyiko/Development/golang/go1.9.1.linux-amd64/src/runtime/os_darwin.go:108 +0x83 fp=0x7ff7bfeff090 sp=0x7ff7bfeff060 pc=0x1027373
runtime.schedinit()
	/home/shyiko/Development/golang/go1.9.1.linux-amd64/src/runtime/proc.go:482 +0xa1 fp=0x7ff7bfeff0d0 sp=0x7ff7bfeff090 pc=0x102c481
runtime.rt0_go(0x7ff7bfeff108, 0x2, 0x7ff7bfeff108, 0x0, 0x1000000, 0x2, 0x7ff7bfeff378, 0x7ff7bfeff380, 0x0, 0x7ff7bfeff38a, ...)
	/home/shyiko/Development/golang/go1.9.1.linux-amd64/src/runtime/asm_amd64.s:175 +0x1eb fp=0x7ff7bfeff0d8 sp=0x7ff7bfeff0d0 pc=0x1053d4b

@serhiiromaniuk
Copy link

@serhiiromaniuk serhiiromaniuk commented Mar 2, 2022

Just updated with Software Updates to macOS Monterey 12.2.1 and each binary became broken. Tested with either go@1.17 or go@1.13 using brew.

@justme-sports
Copy link

@justme-sports justme-sports commented Mar 2, 2022

I had to get the system reformat unfortunately due to this issue !! @serhiiromaniuk and @azec-pdx

@serhiiromaniuk
Copy link

@serhiiromaniuk serhiiromaniuk commented Mar 12, 2022

@justme-sports it's totally not a fix, reformatting or deleting some stuff

@serhiiromaniuk
Copy link

@serhiiromaniuk serhiiromaniuk commented Mar 12, 2022

So, as @zchee mentioned before, https://github.com/golang/go/wiki/MacOS12BSDThreadRegisterIssue
we should rebuild our software tools

@myang-clgx
Copy link

@myang-clgx myang-clgx commented Jun 3, 2022

@justme-sports Did you resolve the issue with your git? or you reformat your system. I have the same issue and I removed the GO but the reference is still there and folder does not exist.

@justme-sports
Copy link

@justme-sports justme-sports commented Jun 6, 2022

@justme-sports Did you resolve the issue with your git? or you reformat your system. I have the same issue and I removed the GO but the reference is still there and folder does not exist.

Unfortunately as much as I hate the reformat route, I had to go that route - when i faced this issue there was not much guidance on what could have been done to solve it !!

@dbaltor
Copy link

@dbaltor dbaltor commented Jun 11, 2022

I've started getting the same error with git 2.30.1 after upgrading to MacOS Monterey 12.3.1. The following error only happened to git commit and no other git commands:

fatal error: runtime: bsdthread_register error

runtime stack:
runtime.throw(0x1364ecc, 0x21)
	/usr/local/go/src/runtime/panic.go:616 +0x81 fp=0x7ff7bfeff2c8 sp=0x7ff7bfeff2a8 pc=0x1028e51
runtime.goenvs()
	/usr/local/go/src/runtime/os_darwin.go:129 +0x83 fp=0x7ff7bfeff2f8 sp=0x7ff7bfeff2c8 pc=0x10269d3
runtime.schedinit()
	/usr/local/go/src/runtime/proc.go:501 +0xd6 fp=0x7ff7bfeff360 sp=0x7ff7bfeff2f8 pc=0x102b746
runtime.rt0_go(0x7ff7bfeff398, 0x4, 0x7ff7bfeff398, 0x0, 0x1000000, 0x4, 0x7ff7bfeff5e0, 0x7ff7bfeff5ef, 0x7ff7bfeff5f4, 0x7ff7bfeff5fb, ...)
	/usr/local/go/src/runtime/asm_amd64.s:252 +0x1f4 fp=0x7ff7bfeff368 sp=0x7ff7bfeff360 pc=0x1051804

Following the tips above about 1) this being caused by an old version of some go program and 2) git isn't a go program itself therefore there must be some hook in place,
I found an old hook in my core.hookspath global git configuration and managed to fix this error removing it via
git config --global --unset core.hookspath

@ajostergaard
Copy link

@ajostergaard ajostergaard commented Jun 14, 2022

One of our team had this problem recently, turns out the version of kubectl we were downloading was not the one being executed (despite being first in PATH) but rather an older version of kubectl which was part of Docker CE, installation of the latest Docker resolved the issue. Though still leaves the mystery as to why the downloaded version was ignored despite being first in the PATH.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsInvestigation OS-Darwin
Projects
None yet
Development

No branches or pull requests