runtime: hang in pthread_cond_timedwait_relative_np on darwin/arm64 #35800
Comments
It's not obvious to me that this has anything to do with The stack trace shows the other goroutine calling |
More weird crashes on darwin/arm64: https://build.golang.org/log/186ffe8d4a32f24c719cb49eddf6e37e73957239 ("fatal: bad g in signal handler") |
CC @cherrymui |
Like Android, this is also the go_bootstrap program, and it also has the warning
On darwin/arm64, we use libc calls, but as it fails to load runtime/cgo package, it does not save/restore G in TLS. If C code temporarily clobbers the G register and a signal is received, bad things will happen. I guess the only thing we could do is to have async preemption disabled in go_bootstrap (and hope that we never receive a signal during C execution). |
Change https://golang.org/cl/208818 mentions this issue: |
So you think https://build.golang.org/log/8da8b3d360f7b226bbc021f29c3d9617d35773f9 is a different issue? It happens during cmd/compile tests. |
Yeah, I think that is probably a different issue. |
Similar in spirit to the hangs on Android, I had to
kill -QUIT
a hanging darwin/arm64 build:https://build.golang.org/log/9678d54fa369d914b12c3b32df3a2470ba7ee4ec
It hung after bootstrap, but before tests:
The text was updated successfully, but these errors were encountered: