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: reportZombies throws "found pointer to free object" in sweeper #71451

Open
adonovan opened this issue Jan 27, 2025 · 6 comments
Open
Labels
BugReport Issues describing a possible bug in the Go implementation. gopls/telemetry-wins NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Tools This label describes issues relating to any tools in the x/tools repository.

Comments

@adonovan
Copy link
Member

#!stacks
"reportZombies:+34" && "runtime.goexit"

Issue created by stacks.

This stack Ytavxw was reported by telemetry:

golang.org/x/tools/[email protected] go1.23.4 linux/amd64 vscode (1)

@prattmic

@adonovan adonovan added gopls Issues related to the Go language server, gopls. gopls/telemetry-wins NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Tools This label describes issues relating to any tools in the x/tools repository. labels Jan 27, 2025
@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Jan 27, 2025
@adonovan adonovan removed gopls Issues related to the Go language server, gopls. compiler/runtime Issues related to the Go compiler and/or runtime. labels Jan 27, 2025
@adonovan
Copy link
Member Author

Possibly another manifestation of #71425.

@adonovan adonovan changed the title runtime: reportZombies throws "found pointer to free object" in goexit runtime: reportZombies throws "found pointer to free object" in sweeper Jan 27, 2025
@prattmic
Copy link
Member

I believe this could theoretically be caused by #71228.

@gabyhelp gabyhelp added the BugReport Issues describing a possible bug in the Go implementation. label Jan 27, 2025
@prattmic
Copy link
Member

I think the right way to handle this w.r.t. stacks new reopening ability is to send a CL to bump gopls go.mod to 1.23.5 (once that is released) and then mark this with the milestone of the gopls release that contains that bump?

@mvdan
Copy link
Member

mvdan commented Feb 24, 2025

We just hit a very similar panic in a public repository, cue: https://github.com/cue-lang/cue/actions/runs/13475610686/job/37654390816

In case GitHub wipes the log in the coming weeks, below is the output.

--- FAIL: TestScript (0.06s)
    --- FAIL: TestScript/registry_publish_auth (0.12s)
        testscript.go:584: # Check that we can use the cue mod publish command to publish to a registry
            # that's protected by authorization. (0.118s)
            > memregistry -auth=foo:bar MEMREGISTRY
            > env CUE_REGISTRY=$MEMREGISTRY+insecure
            > env DOCKER_CONFIG=$WORK/dockerconfig
            > env-fill $DOCKER_CONFIG/config.json
            > cd example
            $WORK/example
            > exec cue mod publish v0.0.1
            [stderr]
            runtime: marked free object in span 0x1040f2ed8, elemsize=208 freeindex=15 (bad use of unsafe.Pointer or having race conditions? try -d=checkptr or -race)
            0x14000412000 alloc marked  
            0x140004120d0 alloc marked  
            0x140004121a0 alloc marked  
            0x14000412270 alloc marked  
            0x14000412340 alloc unmarked
            0x14000412410 alloc marked  
            0x140004124e0 alloc marked  
            0x140004125b0 alloc unmarked
            0x14000412680 alloc unmarked
            0x14000412750 alloc unmarked
            0x14000412820 alloc marked  
            0x140004128f0 alloc marked  
            0x140004129c0 alloc marked  
            0x14000412a90 alloc marked  
            0x14000412b60 alloc marked  
            0x14000412c30 free  marked   zombie
            0x0000014000412c30:  0x0000000000000000  0x0000000000000000 
            0x0000014000412c40:  0x0000000000000000  0x0000000000000000 
            0x0000014000412c50:  0x0000000000000000  0x0000000000000000 
            0x0000014000412c60:  0x0000000000000000  0x0000000000000000 
            0x0000014000412c70:  0x0000000000000000  0x0000000000000000 
            0x0000014000412c80:  0x0000000000000000  0x0000000000000000 
            0x0000014000412c90:  0x0000000000000000  0x0000000000000000 
            0x0000014000412ca0:  0x0000000000000000  0x0000000000000000 
            0x0000014000412cb0:  0x0000000000000000  0x0000000000000000 
            0x0000014000412cc0:  0x0000000000000000  0x0000000000000000 
            0x0000014000412cd0:  0x0000000000000000  0x0000000000000000 
            0x0000014000412ce0:  0x0000000000000000  0x0000000000000000 
            0x0000014000412cf0:  0x0000000000000000  0x0000000000000000 
            0x14000412d00 free  unmarked
            0x14000412dd0 free  unmarked
            0x14000412ea0 free  unmarked
            0x14000412f70 free  unmarked
            0x14000413040 free  unmarked
            0x14000413110 free  unmarked
            0x140004131e0 free  unmarked
            0x140004132b0 free  unmarked
            0x14000413380 free  unmarked
            0x14000413450 free  unmarked
            0x14000413520 free  unmarked
            0x140004135f0 free  unmarked
            0x140004136c0 free  unmarked
            0x14000413790 free  unmarked
            0x14000413860 free  unmarked
            0x14000413930 free  unmarked
            0x14000413a00 free  unmarked
            0x14000413ad0 free  unmarked
            0x14000413ba0 free  unmarked
            0x14000413c70 free  unmarked
            0x14000413d40 free  unmarked
            0x14000413e10 free  unmarked
            fatal error: found pointer to free object
            
            runtime stack:
            runtime.throw(***0x10319c8b7?, 0x14000412d00?***)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/panic.go:1096 +0x38 fp=0x16d776b90 sp=0x16d776b60 pc=0x102812e48
            runtime.(*mspan).reportZombies(0x1040f2ed8)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgcsweep.go:877 +0x2f0 fp=0x16d776c10 sp=0x16d776b90 pc=0x1027c7c20
            runtime.(*sweepLocked).sweep(0xf200ea6d776d68?, 0x0)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgcsweep.go:652 +0x414 fp=0x16d776d30 sp=0x16d776c10 pc=0x1027c6c24
            runtime.(*mcentral).uncacheSpan(0x6b?, 0x8?)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mcentral.go:236 +0xac fp=0x16d776d60 sp=0x16d776d30 pc=0x1027b6afc
            runtime.(*mcache).releaseAll(0x103df8a78)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mcache.go:292 +0x190 fp=0x16d776dd0 sp=0x16d776d60 pc=0x1027b6350
            runtime.(*mcache).prepareForSweep(0x103df8a78)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mcache.go:329 +0x4c fp=0x16d776e00 sp=0x16d776dd0 pc=0x1027b646c
            runtime.gcMarkTermination.func4(0x14000052a08)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1214 +0x24 fp=0x16d776e30 sp=0x16d776e00 pc=0x10280e0b4
            runtime.forEachPInternal(0x1035a50b8)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:2073 +0x184 fp=0x16d776eb0 sp=0x16d776e30 pc=0x1027e0bf4
            runtime.gcMarkTermination.forEachP.func6()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:2032 +0x40 fp=0x16d776ee0 sp=0x16d776eb0 pc=0x1027bc020
            runtime.systemstack(0x80000)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/asm_arm64.s:244 +0x6c fp=0x16d776ef0 sp=0x16d776ee0 pc=0x1028191fc
            
            goroutine 35 gp=0x140001ae540 m=2 mp=0x14000066808 [flushing proc caches]:
            runtime.systemstack_switch()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/asm_arm64.s:201 +0x8 fp=0x14000504c40 sp=0x14000504c30 pc=0x102819178
            runtime.forEachP(...)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:2021
            runtime.gcMarkTermination(***0xe0?, 0xf2d3bdbf08?, 0x3?, 0x20?***)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1213 +0x5e0 fp=0x14000504e70 sp=0x14000504c40 pc=0x1027bb8b0
            runtime.gcMarkDone()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1014 +0x340 fp=0x14000504f10 sp=0x14000504e70 pc=0x1027bb060
            runtime.gcBgMarkWorker(0x140001804d0)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1559 +0x384 fp=0x14000504fb0 sp=0x14000504f10 pc=0x1027bc744
            runtime.gcBgMarkStartWorkers.gowrap1()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1339 +0x28 fp=0x14000504fd0 sp=0x14000504fb0 pc=0x1027bc388
            runtime.goexit(***)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/asm_arm64.s:1223 +0x4 fp=0x14000504fd0 sp=0x14000504fd0 pc=0x10281b574
            created by runtime.gcBgMarkStartWorkers in goroutine 1
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1339 +0x140
            
            goroutine 1 gp=0x140000021c0 m=nil [runnable]:
            cuelang.org/go/internal/core/adt.(*nodeContext).postDisjunct(0x140000d7808?, 0x5?)
            	/Users/runner/work/cue/cue/internal/core/adt/eval.go:476 +0x7fc fp=0x1400061c1f0 sp=0x1400061c1f0 pc=0x102affedc
            cuelang.org/go/internal/core/adt.(*nodeContext).expandDisjuncts(0x140000d7808, 0x5, 0x140000d7208, 0x1, 0x1, 0x1)
            	/Users/runner/work/cue/cue/internal/core/adt/disjunct.go:179 +0x2e0 fp=0x1400061cb90 sp=0x1400061c1f0 pc=0x102af4690
            cuelang.org/go/internal/core/adt.(*nodeContext).expandDisjuncts(0x140000d7208, 0x5, 0x140000d7208, 0x0, 0x0, 0x1)
            	/Users/runner/work/cue/cue/internal/core/adt/disjunct.go:257 +0x1950 fp=0x1400061d530 sp=0x1400061cb90 pc=0x102af5d00
            cuelang.org/go/internal/core/adt.(*OpContext).unify(0x1400009cb40, 0x1400009afa0, 0x7fff0105)
            	/Users/runner/work/cue/cue/internal/core/adt/eval.go:304 +0x708 fp=0x1400061d7d0 sp=0x1400061d530 pc=0x102afe248
            cuelang.org/go/internal/core/adt.(*nodeContext).completeArcs(0x140000d6c08, 0x5)
            	/Users/runner/work/cue/cue/internal/core/adt/eval.go:844 +0x180 fp=0x1400061d950 sp=0x1400061d7d0 pc=0x102b00aa0
            cuelang.org/go/internal/core/adt.(*nodeContext).postDisjunct(0x140000d6c08, 0x5)
            	/Users/runner/work/cue/cue/internal/core/adt/eval.go:597 +0x2e0 fp=0x1400061da50 sp=0x1400061d950 pc=0x102aff9c0
            cuelang.org/go/internal/core/adt.(*nodeContext).expandDisjuncts(0x140000d6c08, 0x5, 0x140000d6c08, 0x0, 0x0, 0x1)
            	/Users/runner/work/cue/cue/internal/core/adt/disjunct.go:179 +0x2e0 fp=0x1400061e3f0 sp=0x1400061da50 pc=0x102af4690
            cuelang.org/go/internal/core/adt.(*OpContext).unify(0x1400009cb40, 0x1400009a960, 0x7fff0405)
            	/Users/runner/work/cue/cue/internal/core/adt/eval.go:304 +0x708 fp=0x1400061e690 sp=0x1400061e3f0 pc=0x102afe248
            cuelang.org/go/internal/core/adt.(*Vertex).Finalize(0x1400009cb40?, 0x1400009cb40)
            	/Users/runner/work/cue/cue/internal/core/adt/composite.go:1021 +0x58 fp=0x1400061e6c0 sp=0x1400061e690 pc=0x102ad86d8
            cuelang.org/go/internal/core/adt.Unify(0x1400009cb40, ***0x1035c0710, 0x140004bd680***, ***0x1035c0710, 0x1400009a640***)
            	/Users/runner/work/cue/cue/internal/core/adt/composite.go:991 +0xd4 fp=0x1400061e700 sp=0x1400061e6c0 pc=0x102ad8384
            cuelang.org/go/cue.Value.Unify(***0x140004044c0?, 0x140004bd680?, 0x0?***, ***0x140004044c0?, 0x1400009a640?, 0x0?***)
            	/Users/runner/work/cue/cue/cue/types.go:1722 +0xdc fp=0x1400061e7c0 sp=0x1400061e700 pc=0x102cf1e9c
            cuelang.org/go/cue.Value.FillPath(***0x140004044c0?, 0x140004bd680?, 0x0?***, ***0x0?, 0x14000100008?, 0x1400049ab10?***, ***0x1033bdac0, 0x140000a71f0***)
            	/Users/runner/work/cue/cue/cue/types.go:1628 +0x6b0 fp=0x1400061e960 sp=0x1400061e7c0 pc=0x102cf1140
            cuelang.org/go/internal/filetypes.FromFile(0x140000a71f0, 0x0)
            	/Users/runner/work/cue/cue/internal/filetypes/filetypes.go:105 +0x1f0 fp=0x1400061ead0 sp=0x1400061e960 pc=0x102df1ae0
            cuelang.org/go/internal/encoding.(*Decoder).validate(0x140003c6000, 0x14000082900, 0x10343f900?)
            	/Users/runner/work/cue/cue/internal/encoding/encoding.go:399 +0x34 fp=0x1400061eb40 sp=0x1400061ead0 pc=0x102e17604
            cuelang.org/go/internal/encoding.NewDecoder(0x14000098280, 0x140000a71f0, 0x200?)
            	/Users/runner/work/cue/cue/internal/encoding/encoding.go:235 +0x8e0 fp=0x1400061ed90 sp=0x1400061eb40 pc=0x102e162c0
            cuelang.org/go/mod/modfile.parseDataOnlyCUE(0x14000098280, ***0x140000d0000, 0x54, 0x200***, ***0x14000156000, 0x89***)
            	/Users/runner/work/cue/cue/mod/modfile/modfile.go:516 +0x110 fp=0x1400061ede0 sp=0x1400061ed90 pc=0x102e1b070
            cuelang.org/go/mod/modfile.parse(***0x140000d0000, 0x54, 0x200***, ***0x14000156000, 0x89***, 0x1)
            	/Users/runner/work/cue/cue/mod/modfile/modfile.go:372 +0x64 fp=0x1400061f150 sp=0x1400061ede0 pc=0x102e19b24
            cuelang.org/go/mod/modfile.Parse(...)
            	/Users/runner/work/cue/cue/mod/modfile/modfile.go:259
            cuelang.org/go/cmd/cue/cmd.runModUpload(0x140003c5a40, ***0x140003b5930, 0x1, 0x0?***)
            	/Users/runner/work/cue/cue/cmd/cue/cmd/modpublish.go:131 +0x1f8 fp=0x1400061f620 sp=0x1400061f150 pc=0x1030d3b08
            cuelang.org/go/cmd/cue/cmd.newModUploadCmd.mkRunE.func1(0x140003fc900?, ***0x140003b5930, 0x1, 0x1***)
            	/Users/runner/work/cue/cue/cmd/cue/cmd/root.go:132 +0x2ec fp=0x1400061f880 sp=0x1400061f620 pc=0x1030d34ac
            github.com/spf13/cobra.(*Command).execute(0x14000406908, ***0x140003b5900, 0x1, 0x1***)
            	/Users/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:985 +0x830 fp=0x1400061fa10 sp=0x1400061f880 pc=0x102a2a7e0
            github.com/spf13/cobra.(*Command).ExecuteC(0x140003e8008)
            	/Users/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:1117 +0x344 fp=0x1400061faf0 sp=0x1400061fa10 pc=0x102a2af84
            github.com/spf13/cobra.(*Command).Execute(...)
            	/Users/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:1041
            cuelang.org/go/cmd/cue/cmd.(*Command).Run(0x140003c5a40, ***0x103d22a40?, 0x10344fe80?***)
            	/Users/runner/work/cue/cue/cmd/cue/cmd/root.go:356 +0x24 fp=0x1400061fb10 sp=0x1400061faf0 pc=0x1030e1314
            cuelang.org/go/cmd/cue/cmd.Main()
            	/Users/runner/work/cue/cue/cmd/cue/cmd/root.go:264 +0x9c fp=0x1400061fb90 sp=0x1400061fb10 pc=0x1030e0edc
            cuelang.org/go/cmd/cue/cmd.TestMain.func2()
            	/Users/runner/work/cue/cue/cmd/cue/cmd/script_test.go:411 +0x1c fp=0x1400061fbb0 sp=0x1400061fb90 pc=0x1030e693c
            github.com/rogpeppe/go-internal/testscript.Main(***0x1035ae980, 0x140001f30e0***, 0x14000047e60)
            	/Users/runner/go/pkg/mod/github.com/rogpeppe/[email protected]/testscript/exe.go:95 +0x25c fp=0x1400061fd70 sp=0x1400061fbb0 pc=0x103092c5c
            cuelang.org/go/cmd/cue/cmd.TestMain(0x140001f30e0)
            	/Users/runner/work/cue/cue/cmd/cue/cmd/script_test.go:410 +0x22c fp=0x1400061fea0 sp=0x1400061fd70 pc=0x1030e5adc
            main.main()
            	_testmain.go:55 +0x98 fp=0x1400061ff40 sp=0x1400061fea0 pc=0x10312fed8
            runtime.main()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:283 +0x284 fp=0x1400061ffd0 sp=0x1400061ff40 pc=0x1027dd1a4
            runtime.goexit(***)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/asm_arm64.s:1223 +0x4 fp=0x1400061ffd0 sp=0x1400061ffd0 pc=0x10281b574
            
            goroutine 2 gp=0x14000002700 m=nil [force gc (idle)]:
            runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:435 +0xc8 fp=0x14000060f90 sp=0x14000060f70 pc=0x102812f68
            runtime.goparkunlock(...)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:441
            runtime.forcegchelper()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:348 +0xb8 fp=0x14000060fd0 sp=0x14000060f90 pc=0x1027dd4f8
            runtime.goexit(***)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/asm_arm64.s:1223 +0x4 fp=0x14000060fd0 sp=0x14000060fd0 pc=0x10281b574
            created by runtime.init.7 in goroutine 1
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:336 +0x24
            
            goroutine 17 gp=0x14000102380 m=nil [runnable]:
            runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:435 +0xc8 fp=0x1400005c760 sp=0x1400005c740 pc=0x102812f68
            runtime.goparkunlock(...)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:441
            runtime.bgsweep(0x1400010e000)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgcsweep.go:316 +0x108 fp=0x1400005c7b0 sp=0x1400005c760 pc=0x1027c61f8
            runtime.gcenable.gowrap1()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:204 +0x28 fp=0x1400005c7d0 sp=0x1400005c7b0 pc=0x1027ba008
            runtime.goexit(***)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/asm_arm64.s:1223 +0x4 fp=0x1400005c7d0 sp=0x1400005c7d0 pc=0x10281b574
            created by runtime.gcenable in goroutine 1
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:204 +0x6c
            
            goroutine 18 gp=0x14000102540 m=nil [GC scavenge wait]:
            runtime.gopark(0x10000?, 0x10333b868?, 0x0?, 0x0?, 0x0?)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:435 +0xc8 fp=0x1400005cf60 sp=0x1400005cf40 pc=0x102812f68
            runtime.goparkunlock(...)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:441
            runtime.(*scavengerState).park(0x103cf79c0)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgcscavenge.go:425 +0x5c fp=0x1400005cf90 sp=0x1400005cf60 pc=0x1027c3c9c
            runtime.bgscavenge(0x1400010e000)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgcscavenge.go:658 +0xac fp=0x1400005cfb0 sp=0x1400005cf90 pc=0x1027c423c
            runtime.gcenable.gowrap2()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:205 +0x28 fp=0x1400005cfd0 sp=0x1400005cfb0 pc=0x1027b9fa8
            runtime.goexit(***)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/asm_arm64.s:1223 +0x4 fp=0x1400005cfd0 sp=0x1400005cfd0 pc=0x10281b574
            created by runtime.gcenable in goroutine 1
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:205 +0xac
            
            goroutine 33 gp=0x140001ae000 m=nil [finalizer wait]:
            runtime.gopark(0x103477700?, 0x33?, 0x38?, 0x6?, 0x1000000000000?)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:435 +0xc8 fp=0x14000060590 sp=0x14000060570 pc=0x102812f68
            runtime.runfinq()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mfinal.go:196 +0x108 fp=0x140000607d0 sp=0x14000060590 pc=0x1027b9008
            runtime.goexit(***)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/asm_arm64.s:1223 +0x4 fp=0x140000607d0 sp=0x140000607d0 pc=0x10281b574
            created by runtime.createfing in goroutine 1
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mfinal.go:166 +0x80
            
            goroutine 19 gp=0x140001028c0 m=nil [chan receive]:
            runtime.gopark(0x14000316320?, 0x1400026a840?, 0x48?, 0xd7?, 0x1029bec18?)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:435 +0xc8 fp=0x1400005d6f0 sp=0x1400005d6d0 pc=0x102812f68
            runtime.chanrecv(0x1400030c4d0, 0x0, 0x1)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/chan.go:664 +0x42c fp=0x1400005d770 sp=0x1400005d6f0 pc=0x1027abadc
            runtime.chanrecv1(0x0?, 0x0?)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/chan.go:506 +0x14 fp=0x1400005d7a0 sp=0x1400005d770 pc=0x1027ab674
            runtime.unique_runtime_registerUniqueMapCleanup.func2(...)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1796
            runtime.unique_runtime_registerUniqueMapCleanup.gowrap1()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1799 +0x3c fp=0x1400005d7d0 sp=0x1400005d7a0 pc=0x1027bd22c
            runtime.goexit(***)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/asm_arm64.s:1223 +0x4 fp=0x1400005d7d0 sp=0x1400005d7d0 pc=0x10281b574
            created by unique.runtime_registerUniqueMapCleanup in goroutine 1
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1794 +0x78
            
            goroutine 34 gp=0x140001ae380 m=nil [GC worker (idle)]:
            runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:435 +0xc8 fp=0x14000504710 sp=0x140005046f0 pc=0x102812f68
            runtime.gcBgMarkWorker(0x140001804d0)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1423 +0xdc fp=0x140005047b0 sp=0x14000504710 pc=0x1027bc49c
            runtime.gcBgMarkStartWorkers.gowrap1()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1339 +0x28 fp=0x140005047d0 sp=0x140005047b0 pc=0x1027bc388
            runtime.goexit(***)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/asm_arm64.s:1223 +0x4 fp=0x140005047d0 sp=0x140005047d0 pc=0x10281b574
            created by runtime.gcBgMarkStartWorkers in goroutine 1
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1339 +0x140
            
            goroutine 36 gp=0x140001ae700 m=nil [GC worker (idle)]:
            runtime.gopark(0xf2d3ae12aa?, 0x0?, 0x0?, 0x0?, 0x0?)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/proc.go:435 +0xc8 fp=0x14000505710 sp=0x140005056f0 pc=0x102812f68
            runtime.gcBgMarkWorker(0x140001804d0)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1423 +0xdc fp=0x140005057b0 sp=0x14000505710 pc=0x1027bc49c
            runtime.gcBgMarkStartWorkers.gowrap1()
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1339 +0x28 fp=0x140005057d0 sp=0x140005057b0 pc=0x1027bc388
            runtime.goexit(***)
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/asm_arm64.s:1223 +0x4 fp=0x140005057d0 sp=0x140005057d0 pc=0x10281b574
            created by runtime.gcBgMarkStartWorkers in goroutine 1
            	/Users/runner/hostedtoolcache/go/1.24.0/arm64/src/runtime/mgc.go:1339 +0x140
            [exit status 2]
            FAIL: testdata/script/registry_publish_auth.txtar:10: unexpected command failure
            
    proxy.go:222: go proxy: no archive externalmod.test v1.0.0
    proxy.go:222: go proxy: no archive externalmod.test/imports/root v1.0.0
    proxy.go:222: go proxy: no archive externalmod.test v1.0.0
FAIL
FAIL	cuelang.org/go/cmd/cue/cmd	14.218s

This was from a go test ./... on darwin, but we also continuously test with go test -race ./... on linux, so I'd be surprised if this was actually from a data race. This is the first time we see such a panic, with go1.24.0 - earlier 1.22.x and 1.23.x versions never ran into it.

@mvdan
Copy link
Member

mvdan commented Feb 25, 2025

Apologies, I think our failure was actually #71932, as we found it on darwin/arm64 as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BugReport Issues describing a possible bug in the Go implementation. gopls/telemetry-wins NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Tools This label describes issues relating to any tools in the x/tools repository.
Projects
None yet
Development

No branches or pull requests

5 participants