Closed
Description
Go version
go version go1.23.0 darwin/arm64
Output of go env
in your module/workspace:
GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/anacrolix/Library/Caches/go-build'
GOENV='/Users/anacrolix/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT='aliastypeparams'
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/anacrolix/go/pkg/mod'
GOOS='darwin'
GOPATH='/Users/anacrolix/go'
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/Users/anacrolix/src/go1.23'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='local'
GOTOOLDIR='/Users/anacrolix/src/go1.23/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.23.0'
GODEBUG=''
GOTELEMETRY='on'
GOTELEMETRYDIR='/Users/anacrolix/Library/Application Support/go/telemetry'
GCCGO='gccgo'
GOARM64='v8.0'
AR='ar'
CC='clang'
CXX='clang++'
CGO_ENABLED='1'
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/m4/f67w9zfx1pl386_2yjs7xtkm0000gn/T/go-build2057168856=/tmp/go-build -gno-record-gcc-switches -fno-common'
What did you do?
Using unique.Handle very heavily.
What did you see happen?
runtime: marked free object in span 0x11e576378, elemsize=24 freeindex=0 (bad use of unsafe.Pointer? try -d=checkptr)
0xc00d5e2000 free unmarked
0xc00d5e2018 free unmarked
0xc00d5e2030 alloc marked
0xc00d5e2048 alloc marked
0xc00d5e2060 free unmarked
0xc00d5e2078 free unmarked
0xc00d5e2090 free unmarked
0xc00d5e20a8 free unmarked
0xc00d5e20c0 free unmarked
0xc00d5e20d8 free unmarked
0xc00d5e20f0 free unmarked
0xc00d5e2108 free unmarked
0xc00d5e2120 free unmarked
0xc00d5e2138 alloc marked
0xc00d5e2150 alloc marked
0xc00d5e2168 alloc marked
0xc00d5e2180 free unmarked
0xc00d5e2198 alloc marked
0xc00d5e21b0 alloc marked
0xc00d5e21c8 free unmarked
0xc00d5e21e0 free unmarked
0xc00d5e21f8 free unmarked
0xc00d5e2210 free unmarked
0xc00d5e2228 free unmarked
0xc00d5e2240 free unmarked
0xc00d5e2258 free unmarked
0xc00d5e2270 alloc marked
0xc00d5e2288 free unmarked
0xc00d5e22a0 alloc marked
0xc00d5e22b8 free unmarked
0xc00d5e22d0 free unmarked
0xc00d5e22e8 free unmarked
0xc00d5e2300 free unmarked
0xc00d5e2318 free unmarked
0xc00d5e2330 free unmarked
0xc00d5e2348 free unmarked
0xc00d5e2360 alloc marked
0xc00d5e2378 free unmarked
0xc00d5e2390 free unmarked
0xc00d5e23a8 free unmarked
0xc00d5e23c0 free unmarked
0xc00d5e23d8 free unmarked
0xc00d5e23f0 free unmarked
0xc00d5e2408 free unmarked
0xc00d5e2420 free unmarked
0xc00d5e2438 free unmarked
0xc00d5e2450 free unmarked
0xc00d5e2468 free unmarked
0xc00d5e2480 free unmarked
0xc00d5e2498 free unmarked
0xc00d5e24b0 free unmarked
0xc00d5e24c8 free unmarked
0xc00d5e24e0 free unmarked
0xc00d5e24f8 free unmarked
0xc00d5e2510 free unmarked
0xc00d5e2528 free unmarked
0xc00d5e2540 free unmarked
0xc00d5e2558 free unmarked
0xc00d5e2570 free unmarked
0xc00d5e2588 free unmarked
0xc00d5e25a0 free unmarked
0xc00d5e25b8 free unmarked
0xc00d5e25d0 free unmarked
0xc00d5e25e8 free unmarked
0xc00d5e2600 free unmarked
0xc00d5e2618 free unmarked
0xc00d5e2630 free unmarked
0xc00d5e2648 free unmarked
0xc00d5e2660 free unmarked
0xc00d5e2678 free unmarked
0xc00d5e2690 free unmarked
0xc00d5e26a8 free unmarked
0xc00d5e26c0 free unmarked
0xc00d5e26d8 free unmarked
0xc00d5e26f0 free unmarked
0xc00d5e2708 free unmarked
0xc00d5e2720 free unmarked
0xc00d5e2738 free unmarked
0xc00d5e2750 free unmarked
0xc00d5e2768 free unmarked
0xc00d5e2780 free unmarked
0xc00d5e2798 free unmarked
0xc00d5e27b0 free unmarked
0xc00d5e27c8 free unmarked
0xc00d5e27e0 free unmarked
0xc00d5e27f8 free unmarked
0xc00d5e2810 free unmarked
0xc00d5e2828 free unmarked
0xc00d5e2840 free unmarked
0xc00d5e2858 free unmarked
0xc00d5e2870 free unmarked
0xc00d5e2888 free unmarked
0xc00d5e28a0 free unmarked
0xc00d5e28b8 free unmarked
0xc00d5e28d0 free unmarked
0xc00d5e28e8 free unmarked
0xc00d5e2900 free unmarked
0xc00d5e2918 free unmarked
0xc00d5e2930 free unmarked
0xc00d5e2948 free unmarked
0xc00d5e2960 free unmarked
0xc00d5e2978 free unmarked
0xc00d5e2990 free unmarked
0xc00d5e29a8 free unmarked
0xc00d5e29c0 free unmarked
0xc00d5e29d8 free unmarked
0xc00d5e29f0 free unmarked
0xc00d5e2a08 free unmarked
0xc00d5e2a20 alloc marked
0xc00d5e2a38 free unmarked
0xc00d5e2a50 free unmarked
0xc00d5e2a68 free unmarked
0xc00d5e2a80 free unmarked
0xc00d5e2a98 alloc marked
0xc00d5e2ab0 alloc marked
0xc00d5e2ac8 free unmarked
0xc00d5e2ae0 free unmarked
0xc00d5e2af8 alloc marked
0xc00d5e2b10 free unmarked
0xc00d5e2b28 alloc marked
0xc00d5e2b40 free unmarked
0xc00d5e2b58 alloc marked
0xc00d5e2b70 alloc marked
0xc00d5e2b88 free unmarked
0xc00d5e2ba0 free unmarked
0xc00d5e2bb8 free unmarked
0xc00d5e2bd0 free unmarked
0xc00d5e2be8 free unmarked
0xc00d5e2c00 free unmarked
0xc00d5e2c18 free unmarked
0xc00d5e2c30 free unmarked
0xc00d5e2c48 alloc marked
0xc00d5e2c60 alloc marked
0xc00d5e2c78 free unmarked
0xc00d5e2c90 free unmarked
0xc00d5e2ca8 free unmarked
0xc00d5e2cc0 free unmarked
0xc00d5e2cd8 free unmarked
0xc00d5e2cf0 free unmarked
0xc00d5e2d08 alloc marked
0xc00d5e2d20 free unmarked
0xc00d5e2d38 free unmarked
0xc00d5e2d50 free unmarked
0xc00d5e2d68 free unmarked
0xc00d5e2d80 alloc marked
0xc00d5e2d98 free unmarked
0xc00d5e2db0 free unmarked
0xc00d5e2dc8 free unmarked
0xc00d5e2de0 free unmarked
0xc00d5e2df8 alloc marked
0xc00d5e2e10 free unmarked
0xc00d5e2e28 free unmarked
0xc00d5e2e40 alloc marked
0xc00d5e2e58 free unmarked
0xc00d5e2e70 free unmarked
0xc00d5e2e88 free unmarked
0xc00d5e2ea0 free unmarked
0xc00d5e2eb8 free unmarked
0xc00d5e2ed0 free unmarked
0xc00d5e2ee8 free unmarked
0xc00d5e2f00 alloc marked
0xc00d5e2f18 alloc marked
0xc00d5e2f30 alloc marked
0xc00d5e2f48 alloc marked
0xc00d5e2f60 alloc marked
0xc00d5e2f78 alloc marked
0xc00d5e2f90 free unmarked
0xc00d5e2fa8 free unmarked
0xc00d5e2fc0 free unmarked
0xc00d5e2fd8 alloc marked
0xc00d5e2ff0 free unmarked
0xc00d5e3008 free unmarked
0xc00d5e3020 free unmarked
0xc00d5e3038 free unmarked
0xc00d5e3050 alloc marked
0xc00d5e3068 free unmarked
0xc00d5e3080 free unmarked
0xc00d5e3098 free unmarked
0xc00d5e30b0 alloc marked
0xc00d5e30c8 free unmarked
0xc00d5e30e0 free unmarked
0xc00d5e30f8 free unmarked
0xc00d5e3110 free unmarked
0xc00d5e3128 free unmarked
0xc00d5e3140 alloc marked
0xc00d5e3158 free unmarked
0xc00d5e3170 free unmarked
0xc00d5e3188 alloc marked
0xc00d5e31a0 alloc marked
0xc00d5e31b8 free unmarked
0xc00d5e31d0 free unmarked
0xc00d5e31e8 free unmarked
0xc00d5e3200 alloc marked
0xc00d5e3218 free unmarked
0xc00d5e3230 free unmarked
0xc00d5e3248 alloc marked
0xc00d5e3260 alloc marked
0xc00d5e3278 alloc marked
0xc00d5e3290 alloc marked
0xc00d5e32a8 free unmarked
0xc00d5e32c0 free unmarked
0xc00d5e32d8 alloc marked
0xc00d5e32f0 free unmarked
0xc00d5e3308 free unmarked
0xc00d5e3320 free unmarked
0xc00d5e3338 free unmarked
0xc00d5e3350 free unmarked
0xc00d5e3368 alloc marked
0xc00d5e3380 free unmarked
0xc00d5e3398 free unmarked
0xc00d5e33b0 free unmarked
0xc00d5e33c8 alloc marked
0xc00d5e33e0 free unmarked
0xc00d5e33f8 free unmarked
0xc00d5e3410 free unmarked
0xc00d5e3428 free unmarked
0xc00d5e3440 free unmarked
0xc00d5e3458 free unmarked
0xc00d5e3470 free unmarked
0xc00d5e3488 alloc marked
0xc00d5e34a0 free unmarked
0xc00d5e34b8 free marked zombie
0x000000c00d5e34b8: 0x8e427c5450f04ce1 0x86f08f55d672acf1
0x000000c00d5e34c8: 0x000000001575a5fa
0xc00d5e34d0 free unmarked
0xc00d5e34e8 free unmarked
0xc00d5e3500 free unmarked
0xc00d5e3518 free unmarked
0xc00d5e3530 free unmarked
0xc00d5e3548 free unmarked
0xc00d5e3560 free unmarked
0xc00d5e3578 free unmarked
0xc00d5e3590 free unmarked
0xc00d5e35a8 free unmarked
0xc00d5e35c0 alloc marked
0xc00d5e35d8 free unmarked
0xc00d5e35f0 free unmarked
0xc00d5e3608 free unmarked
0xc00d5e3620 alloc marked
0xc00d5e3638 free unmarked
0xc00d5e3650 alloc marked
0xc00d5e3668 free unmarked
0xc00d5e3680 free unmarked
0xc00d5e3698 free unmarked
0xc00d5e36b0 free unmarked
0xc00d5e36c8 free unmarked
0xc00d5e36e0 alloc marked
0xc00d5e36f8 free unmarked
0xc00d5e3710 free unmarked
0xc00d5e3728 free unmarked
0xc00d5e3740 free unmarked
0xc00d5e3758 free unmarked
0xc00d5e3770 alloc marked
0xc00d5e3788 free unmarked
0xc00d5e37a0 free unmarked
0xc00d5e37b8 free unmarked
0xc00d5e37d0 alloc marked
0xc00d5e37e8 free unmarked
0xc00d5e3800 free unmarked
0xc00d5e3818 alloc marked
0xc00d5e3830 free unmarked
0xc00d5e3848 free unmarked
0xc00d5e3860 alloc marked
0xc00d5e3878 alloc marked
0xc00d5e3890 free unmarked
0xc00d5e38a8 free unmarked
0xc00d5e38c0 alloc marked
0xc00d5e38d8 free unmarked
0xc00d5e38f0 alloc marked
0xc00d5e3908 alloc marked
0xc00d5e3920 alloc marked
0xc00d5e3938 free unmarked
0xc00d5e3950 free unmarked
0xc00d5e3968 free unmarked
0xc00d5e3980 free unmarked
0xc00d5e3998 free unmarked
0xc00d5e39b0 free unmarked
0xc00d5e39c8 alloc unmarked
0xc00d5e39e0 free unmarked
0xc00d5e39f8 free unmarked
0xc00d5e3a10 free unmarked
0xc00d5e3a28 alloc marked
0xc00d5e3a40 free unmarked
0xc00d5e3a58 free unmarked
0xc00d5e3a70 free unmarked
0xc00d5e3a88 free unmarked
0xc00d5e3aa0 free unmarked
0xc00d5e3ab8 free unmarked
0xc00d5e3ad0 free unmarked
0xc00d5e3ae8 alloc marked
0xc00d5e3b00 free unmarked
0xc00d5e3b18 free unmarked
0xc00d5e3b30 free unmarked
0xc00d5e3b48 free unmarked
0xc00d5e3b60 free unmarked
0xc00d5e3b78 free unmarked
0xc00d5e3b90 free unmarked
0xc00d5e3ba8 free unmarked
0xc00d5e3bc0 free unmarked
0xc00d5e3bd8 alloc marked
0xc00d5e3bf0 alloc marked
0xc00d5e3c08 alloc marked
0xc00d5e3c20 free unmarked
0xc00d5e3c38 alloc marked
0xc00d5e3c50 alloc marked
0xc00d5e3c68 free unmarked
0xc00d5e3c80 alloc marked
0xc00d5e3c98 free unmarked
0xc00d5e3cb0 alloc marked
0xc00d5e3cc8 free unmarked
0xc00d5e3ce0 free unmarked
0xc00d5e3cf8 free unmarked
0xc00d5e3d10 free unmarked
0xc00d5e3d28 alloc marked
0xc00d5e3d40 free unmarked
0xc00d5e3d58 alloc marked
0xc00d5e3d70 free unmarked
0xc00d5e3d88 free unmarked
0xc00d5e3da0 alloc marked
0xc00d5e3db8 alloc marked
0xc00d5e3dd0 alloc marked
0xc00d5e3de8 free unmarked
0xc00d5e3e00 free unmarked
0xc00d5e3e18 alloc marked
0xc00d5e3e30 free unmarked
0xc00d5e3e48 alloc marked
0xc00d5e3e60 alloc marked
0xc00d5e3e78 free unmarked
0xc00d5e3e90 alloc marked
0xc00d5e3ea8 free unmarked
0xc00d5e3ec0 free unmarked
0xc00d5e3ed8 free unmarked
0xc00d5e3ef0 alloc marked
0xc00d5e3f08 alloc marked
0xc00d5e3f20 free unmarked
0xc00d5e3f38 free unmarked
0xc00d5e3f50 free unmarked
0xc00d5e3f68 free unmarked
0xc00d5e3f80 alloc marked
0xc00d5e3f98 free unmarked
0xc00d5e3fb0 free unmarked
0xc00d5e3fc8 free unmarked
0xc00d5e3fe0 free unmarked
fatal error: found pointer to free object
goroutine 6 gp=0xc000622540 m=14 mp=0xc000101808 [running]:
runtime.throw({0x104a33cd7?, 0xc00d5e34d0?})
/Users/anacrolix/src/go1.23/src/runtime/panic.go:1067 +0x38 fp=0xc000092930 sp=0xc000092900 pc=0x102c86b58
runtime.(*mspan).reportZombies(0x11e576378)
/Users/anacrolix/src/go1.23/src/runtime/mgcsweep.go:890 +0x2f0 fp=0xc0000929b0 sp=0xc000092930 pc=0x102c2dc10
runtime.(*sweepLocked).sweep(0xc000092b18?, 0x0)
/Users/anacrolix/src/go1.23/src/runtime/mgcsweep.go:658 +0xd14 fp=0xc000092af0 sp=0xc0000929b0 pc=0x102c2d434
runtime.(*mspan).ensureSwept(0x11e576378)
/Users/anacrolix/src/go1.23/src/runtime/mgcsweep.go:474 +0xf4 fp=0xc000092b20 sp=0xc000092af0 pc=0x102c2c694
internal/weak.runtime_makeStrongFromWeak(0xc002a24768)
/Users/anacrolix/src/go1.23/src/runtime/mheap.go:2069 +0xc8 fp=0xc000092b40 sp=0xc000092b20 pc=0x102c855e8
internal/weak.Pointer[...].Strong(...)
/Users/anacrolix/src/go1.23/src/internal/weak/pointer.go:74
unique.addUniqueMap[...].func1.1({0x102c0d6f0?})
/Users/anacrolix/src/go1.23/src/unique/handle.go:130 +0x54 fp=0xc000092c90 sp=0xc000092b40 pc=0x103bac494
internal/concurrent.(*HashTrieMap[...]).iter(0x1056ff1a0, 0xc011644780, 0xc000092f10)
/Users/anacrolix/src/go1.23/src/internal/concurrent/hashtriemap.go:298 +0x1f8 fp=0xc000092d00 sp=0xc000092c90 pc=0x103ba9518
internal/concurrent.(*HashTrieMap[...]).iter(0x1056ff1a0, 0xc00c5de8c0, 0xc000092f10)
/Users/anacrolix/src/go1.23/src/internal/concurrent/hashtriemap.go:291 +0x12c fp=0xc000092d70 sp=0xc000092d00 pc=0x103ba944c
internal/concurrent.(*HashTrieMap[...]).iter(0x1056ff1a0, 0xc001d47540, 0xc000092f10)
/Users/anacrolix/src/go1.23/src/internal/concurrent/hashtriemap.go:291 +0x12c fp=0xc000092de0 sp=0xc000092d70 pc=0x103ba944c
internal/concurrent.(*HashTrieMap[...]).iter(0x1056ff1a0, 0xc002b84500, 0xc000092f10)
/Users/anacrolix/src/go1.23/src/internal/concurrent/hashtriemap.go:291 +0x12c fp=0xc000092e50 sp=0xc000092de0 pc=0x103ba944c
internal/concurrent.(*HashTrieMap[...]).iter(0x1056ff1a0, 0xc001ef0f00, 0xc000092f10)
/Users/anacrolix/src/go1.23/src/internal/concurrent/hashtriemap.go:291 +0x12c fp=0xc000092ec0 sp=0xc000092e50 pc=0x103ba944c
unique.addUniqueMap[...]).All.2(...)
/Users/anacrolix/src/go1.23/src/internal/concurrent/hashtriemap.go:280
unique.addUniqueMap[...].func1()
/Users/anacrolix/src/go1.23/src/unique/handle.go:129 +0x11c fp=0xc000092f50 sp=0xc000092ec0 pc=0x103bac41c
unique.registerCleanup.func1()
/Users/anacrolix/src/go1.23/src/unique/handle.go:157 +0x98 fp=0xc000092fa0 sp=0xc000092f50 pc=0x102e748b8
runtime.unique_runtime_registerUniqueMapCleanup.func1(...)
/Users/anacrolix/src/go1.23/src/runtime/mgc.go:1733
runtime.unique_runtime_registerUniqueMapCleanup.gowrap1()
/Users/anacrolix/src/go1.23/src/runtime/mgc.go:1735 +0x48 fp=0xc000092fd0 sp=0xc000092fa0 pc=0x102c21f38
runtime.goexit({})
/Users/anacrolix/src/go1.23/src/runtime/asm_arm64.s:1223 +0x4 fp=0xc000092fd0 sp=0xc000092fd0 pc=0x102c913b4
created by unique.runtime_registerUniqueMapCleanup in goroutine 1
/Users/anacrolix/src/go1.23/src/runtime/mgc.go:1730 +0xa0
What did you expect to see?
No crash.