You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think I've found the problem. There seems to be a bug in cgocallback_gofunc in asm_arm.s and asm_arm64.s: they never call dropm. The effect is that a C thread can incorrectly have the g TLS variable set, causing Go to think that the signal stack should be set up, although it is not. If g were nil, as it should be, the code would have called badsignal. That sounds bad, but since the signal in question is SIGCHLD nothing actually happens.
I've seen this error in a few cases in the build logs. For example:
http://build.golang.org/log/cedd6f09c7a64e0c2cbf58eeafa7cacd3d1202aa
http://build.golang.org/log/8bf1813e1d26a4afc4e35bbec9c7e4f2620d2952
http://build.golang.org/log/a7d048adbb16d7e390badf070a59d17974ab8822
https://storage.googleapis.com/go-build-log/60b9f161/linux-arm_8b11f221.log (trybot run)
So far I have only seen it on GNU/Linux machines on arm or arm64 processors.
Sometimes it is signal 17 (SIGCHLD) instead of signal 15 (SIGTERM).
The text was updated successfully, but these errors were encountered: