Skip to content

runtime: signal 27 received on thread with no signal stack #77588

Description

@ukai

Go version

go version go1.25.7 darwin/arm64

Output of go env in your module/workspace:

AR='ar'
CC='clang'
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_ENABLED='1'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
CXX='clang++'
GCCGO='gccgo'
GO111MODULE=''
GOARCH='arm64'
GOARM64='v8.0'
GOAUTH='netrc'
GOBIN=''
GOCACHE='/Users/ukai/Library/Caches/go-build'
GOCACHEPROG=''
GODEBUG=''
GOENV='/Users/ukai/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFIPS140='off'
GOFLAGS=''
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/fg/y90rmtzj3hz3hqtpwn0qwzmc000p7r/T/go-build960639305=/tmp/go-build -gno-record-gcc-switches -fno-common'
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMOD='/Users/ukai/src/crbuild/build/siso/go.mod'
GOMODCACHE='/Users/ukai/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/ukai/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/local/go'
GOSUMDB='sum.golang.org'
GOTELEMETRY='local'
GOTELEMETRYDIR='/Users/ukai/Library/Application Support/go/telemetry'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/go/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.25.7'
GOWORK=''
PKG_CONFIG='pkg-config'

What did you do?

go binary (without cgo) runs with profilers

$ go version -m third_party/siso/cipd/siso
...
        build   -buildmode=exe
        build   -compiler=gc
        build   -trimpath=true
        build   CGO_ENABLED=0
        build   GOARCH=arm64
        build   GOOS=darwin
        build   GOARM64=v8.0

https://ci.chromium.org/ui/p/chromium/builders/build/ios-build-perf-developer/7889/overview
https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket/8691654715001248849/+/u/Clean_builds/Build_chrome_without_remote_cache_with_Siso_in_native_mode/stdout

https://ci.chromium.org/ui/p/chromium/builders/build/ios-build-perf-siso/25669/overview
https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket/8690003051682517681/+/u/Clean_builds/Build_all_with_remote_cache/stdout

What did you see happen?

signal 27 received on thread with no signal stack
fatal error: non-Go code disabled sigaltstack

runtime stack:
runtime.throw({0x10304c6af?, 0x0?})
	runtime/panic.go:1094 +0x34 fp=0x42ec56860 sp=0x42ec56830 pc=0x10219ebe4
runtime.noSignalStack(...)
	runtime/signal_unix.go:1106
runtime.adjustSignalStack2(0x1b, 0x42ec56918, 0x140797ed008, 0x1)
	runtime/signal_unix.go:599 +0xa0 fp=0x42ec56890 sp=0x42ec56860 pc=0x102180500
runtime.adjustSignalStack(0x1b, 0x140797ed008, 0x42ec56940)
	runtime/signal_unix.go:588 +0x230 fp=0x42ec56910 sp=0x42ec56890 pc=0x102180450
runtime.sigtrampgo(0x1b, 0x42ec56ab0, 0x42ec56b18)
	runtime/signal_unix.go:480 +0x84 fp=0x42ec56990 sp=0x42ec56910 pc=0x10217ff94
runtime.sigtrampgo(0x1b, 0x42ec56ab0, 0x42ec56b18)
	<autogenerated>:1 +0x1c fp=0x42ec569c0 sp=0x42ec56990 pc=0x1021a9d0c
runtime.sigtramp()
	runtime/sys_darwin_arm64.s:227 +0x4c fp=0x42ec56a80 sp=0x42ec569c0 pc=0x1021a884c

goroutine 17 gp=0x14000002700 m=1 mp=0x140000a8008 [syscall, locked to thread]:
runtime.goexit({})
	runtime/asm_arm64.s:1268 +0x4 fp=0x140000b6fe0 sp=0x140000b6fe0 pc=0x1021a7824

What did you expect to see?

no panic

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugReportIssues describing a possible bug in the Go implementation.NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.WaitingForInfoIssue is not actionable because of missing required information, which needs to be provided.compiler/runtimeIssues related to the Go compiler and/or runtime.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions