Skip to content

cmd/compile: go build segfault runtime: g 6: unexpected return pc for runtime.sigpanic #73896

Open
@database64128

Description

@database64128

Go version

go version go1.24.3 linux/amd64

Output of go env in your module/workspace:

AR='ar'
CC='gcc'
CGO_CFLAGS='-march=native -O3 -ffast-math -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-march=native -O3 -ffast-math -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto'
CGO_ENABLED='1'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto'
CXX='g++'
GCCGO='gccgo'
GO111MODULE=''
GOAMD64='v3'
GOARCH='amd64'
GOAUTH='netrc'
GOBIN=''
GOCACHE='/home/database64128/.cache/go-build'
GOCACHEPROG=''
GODEBUG=''
GOENV='/home/database64128/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFIPS140='off'
GOFLAGS='-buildmode=pie -trimpath'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build3475142550=/tmp/go-build -gno-record-gcc-switches'
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMOD='/home/database64128/repos/aur/mediamtx/src/mediamtx/go.mod'
GOMODCACHE='/home/database64128/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/database64128/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/lib/go'
GOSUMDB='sum.golang.org'
GOTELEMETRY='on'
GOTELEMETRYDIR='/home/database64128/.config/go/telemetry'
GOTMPDIR=''
GOTOOLCHAIN='local'
GOTOOLDIR='/usr/lib/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.24.3'
GOWORK=''
PKG_CONFIG='pkg-config'

What did you do?

Build AUR package for github.com/bluenviron/mediamtx v1.12.3. This essentially runs go build. The above go env output is from the build environment.

What did you see happen?

This only happened one time. I did some re-runs and was not able to reproduce the crash.

# github.com/leodido/go-urn
unexpected fault address 0xc00243b808
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x2 addr=0xc00243b808 pc=0xc00243b808]

goroutine 6 gp=0xc000102c40 m=4 mp=0xc000100008 [running]:
runtime.throw({0xeb2b62?, 0x4000000?})
	runtime/panic.go:1101 +0x48 fp=0xc00138f6d8 sp=0xc00138f6a8 pc=0x4852e8
runtime.sigpanic()
	runtime/signal_unix.go:939 +0x26c fp=0xc00138f738 sp=0xc00138f6d8 pc=0x486ecc
runtime: g 6: unexpected return pc for runtime.sigpanic called from 0xc00243b808
stack: frame={sp:0xc00138f6d8, fp:0xc00138f738} stack=[0xc001388000,0xc001390000)
0x000000c00138f5d8:  0x0000000000000002  0x000000000102f650 
0x000000c00138f5e8:  0x000000c000000001  0x0000000000000001 
0x000000c00138f5f8:  0x000000c00138f620  0x000000000045d7c5 <runtime.writeErrData+0x0000000000000025> 
0x000000c00138f608:  0x000000000044b10a <runtime.gwrite+0x00000000000000ea>  0x0000000000000001 
0x000000c00138f618:  0x0000000000000000  0x000000c00138f658 
0x000000c00138f628:  0x000000000044b10a <runtime.gwrite+0x00000000000000ea>  0x000000000102f650 
0x000000c00138f638:  0x0000000000000001  0x0000000000000001 
0x000000c00138f648:  0x000000c00138f6bc  0x000000000048ad92 <runtime.systemstack+0x0000000000000032> 
0x000000c00138f658:  0x000000c00138f698  0x0000000000448c78 <runtime.fatalthrow+0x0000000000000058> 
0x000000c00138f668:  0x000000c00138f678  0x000000c000102c40 
0x000000c00138f678:  0x0000000000448ca0 <runtime.fatalthrow.func1+0x0000000000000000>  0x000000c000102c40 
0x000000c00138f688:  0x00000000004852e8 <runtime.throw+0x0000000000000048>  0x000000c00138f6a8 
0x000000c00138f698:  0x000000c00138f6c8  0x00000000004852e8 <runtime.throw+0x0000000000000048> 
0x000000c00138f6a8:  0x000000c00138f6b0  0x0000000000448800 <runtime.throw.func1+0x0000000000000000> 
0x000000c00138f6b8:  0x0000000000eb2b62  0x0000000000000005 
0x000000c00138f6c8:  0x000000c00138f728  0x0000000000486ecc <runtime.sigpanic+0x000000000000026c> 
0x000000c00138f6d8: <0x0000000000eb2b62  0x0000000004000000 
0x000000c00138f6e8:  0x000000c00243b808  0x000000c00138f708 
0x000000c00138f6f8:  0x0000000000423a56 <runtime.gcTrigger.test+0x00000000000000b6>  0x00000000016bfd20 
0x000000c00138f708:  0x000000c000102c40  0x0000000000482b65 <runtime.mallocgc+0x0000000000000e85> 
0x000000c00138f718:  0x00000000007abcc0 <cmd/compile/internal/ssa.BuildFuncDebug.func1+0x0000000000000000>  0x000000000000dd30 
0x000000c00138f728:  0x000000c00138f780  0x000000c00243b808 
0x000000c00138f738: >0x0000000000000075  0x0000000000010099 
0x000000c00138f748:  0x00007faabf2e8238  0x0000000000000022 
0x000000c00138f758:  0x0000000000485e2f <internal/runtime/maps.rand+0x000000000000000f>  0x000000c00138f7f0 
0x000000c00138f768:  0x0000000000409268 <internal/runtime/maps.(*Map).Delete+0x00000000000002a8>  0x000000000000e000 
0x000000c00138f778:  0x00007fab06067a78  0x0000000000000002 
0x000000c00138f788:  0x0000000000000001  0x0000000000000020 
0x000000c00138f798:  0x000000c002d21001  0x0000000000000003 
0x000000c00138f7a8:  0xbb441e7d4cd2daee  0x000000c000100008 
0x000000c00138f7b8:  0x000000c00267f940  0x00000000010368a0 
0x000000c00138f7c8:  0x000000c002d19960  0x000000c00267f940 
0x000000c00138f7d8:  0x0000000000000000  0x000000c00267f898 
0x000000c00138f7e8:  0x000000c00383c000  0x000000c00138f818 
0x000000c00138f7f8:  0x0000000000487089 <runtime.makeslice+0x0000000000000049>  0x000000000000dd30 
0x000000c00138f808:  0x0000000000dfb500  0x0000000000000001 
0x000000c00138f818:  0x000000c00138fe90  0x0000000000b9ff85 <cmd/compile/internal/ssagen.genssa+0x0000000000001285> 
0x000000c00138f828:  0x0000000000e29360  0x000000c000b7eea0 
created by cmd/compile/internal/gc.compileFunctions.func3 in goroutine 5
	cmd/compile/internal/gc/compile.go:170 +0x247

goroutine 1 gp=0xc000002540 m=nil [sync.WaitGroup.Wait]:
runtime.gopark(0xc0009fd5c0?, 0x3?, 0x20?, 0xf3?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc0009fd588 sp=0xc0009fd568 pc=0x48540e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.semacquire1(0xc0012498b8, 0x0, 0x1, 0x0, 0x18)
	runtime/sema.go:188 +0x21d fp=0xc0009fd5f0 sp=0xc0009fd588 pc=0x460a3d
sync.runtime_SemacquireWaitGroup(0xc000b7c500?)
	runtime/sema.go:110 +0x25 fp=0xc0009fd628 sp=0xc0009fd5f0 pc=0x486aa5
sync.(*WaitGroup).Wait(0xc0012aa600?)
	sync/waitgroup.go:118 +0x48 fp=0xc0009fd650 sp=0xc0009fd628 pc=0x4a1a88
cmd/compile/internal/gc.compileFunctions(0x0)
	cmd/compile/internal/gc/compile.go:201 +0x245 fp=0xc0009fd6d0 sp=0xc0009fd650 pc=0xd765e5
cmd/compile/internal/gc.Main(0xef8ea8)
	cmd/compile/internal/gc/main.go:316 +0x2345 fp=0xc0009fdef0 sp=0xc0009fd6d0 pc=0xd79545
main.main()
	cmd/compile/main.go:57 +0xf9 fp=0xc0009fdf50 sp=0xc0009fdef0 pc=0xda46b9
runtime.main()
	runtime/proc.go:283 +0x28b fp=0xc0009fdfe0 sp=0xc0009fdf50 pc=0x44be2b
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc0009fdfe8 sp=0xc0009fdfe0 pc=0x48cbe1

goroutine 2 gp=0xc000002a80 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc000084fa8 sp=0xc000084f88 pc=0x48540e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.forcegchelper()
	runtime/proc.go:348 +0xb3 fp=0xc000084fe0 sp=0xc000084fa8 pc=0x44c173
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000084fe8 sp=0xc000084fe0 pc=0x48cbe1
created by runtime.init.7 in goroutine 1
	runtime/proc.go:336 +0x1a

goroutine 3 gp=0xc000002fc0 m=nil [GC sweep wait]:
runtime.gopark(0xc000026180?, 0x102f628?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc000085750 sp=0xc000085730 pc=0x48540e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.bgsweep(0xc000026180)
	runtime/mgcsweep.go:276 +0x94 fp=0xc0000857c8 sp=0xc000085750 pc=0x430354
runtime.gcenable.gowrap1()
	runtime/mgc.go:204 +0x25 fp=0xc0000857e0 sp=0xc0000857c8 pc=0x4236c5
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc0000857e8 sp=0xc0000857e0 pc=0x48cbe1
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:204 +0x66

goroutine 4 gp=0xc000003180 m=nil [GC scavenge wait]:
runtime.gopark(0xc0000261e0?, 0x0?, 0x0?, 0x2c?, 0xc000026180?)
	runtime/proc.go:435 +0xce fp=0xc000085f78 sp=0xc000085f58 pc=0x48540e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.(*scavengerState).park(0x16879a0)
	runtime/mgcscavenge.go:425 +0x49 fp=0xc000085fa8 sp=0xc000085f78 pc=0x42d8a9
runtime.bgscavenge(0xc000026180)
	runtime/mgcscavenge.go:653 +0x3c fp=0xc000085fc8 sp=0xc000085fa8 pc=0x42de1c
runtime.gcenable.gowrap2()
	runtime/mgc.go:205 +0x25 fp=0xc000085fe0 sp=0xc000085fc8 pc=0x423665
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000085fe8 sp=0xc000085fe0 pc=0x48cbe1
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:205 +0xa5

goroutine 17 gp=0xc000102380 m=nil [finalizer wait]:
runtime.gopark(0x13?, 0x0?, 0x0?, 0x0?, 0x7fab060703f0?)
	runtime/proc.go:435 +0xce fp=0xc000084630 sp=0xc000084610 pc=0x48540e
runtime.runfinq()
	runtime/mfinal.go:196 +0x107 fp=0xc0000847e0 sp=0xc000084630 pc=0x422687
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc0000847e8 sp=0xc0000847e0 pc=0x48cbe1
created by runtime.createfing in goroutine 1
	runtime/mfinal.go:166 +0x3d

goroutine 5 gp=0xc000103180 m=nil [select]:
runtime.gopark(0xc0000837b0?, 0x2?, 0x30?, 0x36?, 0xc000083724?)
	runtime/proc.go:435 +0xce fp=0xc000083570 sp=0xc000083550 pc=0x48540e
runtime.selectgo(0xc0000837b0, 0xc000083720, 0xc00007e030?, 0x0, 0xdfcc40?, 0x1)
	runtime/select.go:351 +0x885 fp=0xc0000836e0 sp=0xc000083570 pc=0x45f585
cmd/compile/internal/gc.compileFunctions.func3()
	cmd/compile/internal/gc/compile.go:159 +0x125 fp=0xc0000837e0 sp=0xc0000836e0 pc=0xd76925
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc0000837e8 sp=0xc0000837e0 pc=0x48cbe1
created by cmd/compile/internal/gc.compileFunctions in goroutine 1
	cmd/compile/internal/gc/compile.go:152 +0xf4

What did you expect to see?

go build never crashes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugReportIssues describing a possible bug in the Go implementation.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

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions