Skip to content

runtime: stack split at bad time in os/signal with Go 1.25.4 windows 386 #76702

@NFTB

Description

@NFTB

Go version

go version go1.25.4 windows/386

Output of go env in your module/workspace:

set AR=ar
set CC=gcc
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_ENABLED=0
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set CXX=g++
set GCCGO=gccgo
set GO111MODULE=
set GO386=sse2
set GOARCH=386
set GOAUTH=netrc
set GOBIN=
set GOCACHE=C:\Users\27576\AppData\Local\go-build
set GOCACHEPROG=
set GODEBUG=
set GOENV=C:\Users\27576\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFIPS140=off
set GOFLAGS=
set GOGCCFLAGS=-m32 -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\27576\AppData\Local\Temp\go-build692432680=/tmp/go-build -gno-record-gcc-switches
set GOHOSTARCH=386
set GOHOSTOS=windows
set GOINSECURE=
set GOMOD=NUL
set GOMODCACHE=C:\Users\27576\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\27576\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\go1.25.4.windows-386\go
set GOSUMDB=sum.golang.org
set GOTELEMETRY=local
set GOTELEMETRYDIR=C:\Users\27576\AppData\Roaming\go\telemetry
set GOTMPDIR=
set GOTOOLCHAIN=auto
set GOTOOLDIR=C:\go1.25.4.windows-386\go\pkg\tool\windows_386
set GOVCS=
set GOVERSION=go1.25.4
set GOWORK=
set PKG_CONFIG=pkg-config

What did you do?

main.go

package main

import (
	"fmt"
	"os"
	"os/signal"
	"syscall"
)

func main() {
	if len(os.Args) < 2 {
		fmt.Println("Usage:")
		fmt.Println("  " + os.Args[0] + " 1  - Run test1 (memory allocation)")
		fmt.Println("  " + os.Args[0] + " 2  - Run test2 (signal handling)")
		os.Exit(1)
	}

	command := os.Args[1]
	
	switch command {
	case "1":
		fmt.Println("Running test1: Memory Allocation Test")
		test1()
	case "2":
		fmt.Println("Running test2: Signal Handling Test")
		test2()
	default:
		fmt.Printf("Unknown command: %s\n", command)
		fmt.Println("Use 1 or 2 to select a test")
		os.Exit(1)
	}
}

func test1() {
	fmt.Println("Allocating 10000 blocks of 1KB each...")
	var blocks [][]byte
	for i := 0; i < 10000; i++ {
		blocks = append(blocks, make([]byte, 1024))
	}
	fmt.Printf("Allocated %d blocks successfully\n", len(blocks))
	blocks = nil
	fmt.Println("Test1 completed")
}

func test2() {
	fmt.Println("Waiting for signal (Ctrl+C to exit)...")
	c := make(chan os.Signal, 1)
	signal.Notify(c, os.Interrupt, syscall.SIGTERM)
	<-c
	fmt.Println("\nSignal received, test2 completed")
}

compile and run

go build "-gcflags=all=-N -l" -o debug.exe main.go

What did you see happen?

I'm most concerned about test2, and its error message is as follows:

C:\>debug.exe 2
Running test2: Signal Handling Test
Waiting for signal (Ctrl+C to exit)...
runtime: newstack at runtime.getfp+0x1e sp=0x183ff54 stack=[0x183e000, 0x1840000]
        morebuf={pc:0xd6a268 sp:0x183ff58 lr:0x0}
        sched={pc:0xd709de sp:0x183ff54 lr:0x0 ctxt:0x0}
runtime.getcallerfp()
        C:/go1.25.4.windows-386/go/src/runtime/runtime2.go:1322 +0x8 fp=0x183ff60 sp=0x183ff58 pc=0xd6a268
runtime.entersyscallblock()
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:4736 +0x67 fp=0x183ffa0 sp=0x183ff60 pc=0xd88a97
runtime.notetsleepg(0xea3ca0, 0xffffffffffffffff)
        C:/go1.25.4.windows-386/go/src/runtime/lock_sema.go:175 +0x36 fp=0x183ffc4 sp=0x183ffa0 pc=0xd25446
os/signal.signal_recv()
        C:/go1.25.4.windows-386/go/src/runtime/sigqueue.go:152 +0x39 fp=0x183ffdc sp=0x183ffc4 pc=0xd897f9
os/signal.loop()
        C:/go1.25.4.windows-386/go/src/os/signal/signal_unix.go:23 +0x1c fp=0x183fff0 sp=0x183ffdc pc=0xdd0eac
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x183fff4 sp=0x183fff0 pc=0xd8d801
created by os/signal.Notify.func1.1 in goroutine 1
        C:/go1.25.4.windows-386/go/src/os/signal/signal.go:152 +0x2d
fatal error: runtime: stack split at bad time

runtime stack:
runtime.throw({0xdf838f, 0x20})
        C:/go1.25.4.windows-386/go/src/runtime/panic.go:1094 +0x35 fp=0xcdfdd8 sp=0xcdfdc4 pc=0xd88715
runtime.newstack()
        C:/go1.25.4.windows-386/go/src/runtime/stack.go:1048 +0xae3 fp=0xcdfe70 sp=0xcdfdd8 pc=0xd6ea03
runtime.morestack()
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:481 +0x6c fp=0xcdfe74 sp=0xcdfe70 pc=0xd8c45c

goroutine 7 gp=0x180cd88 m=0 mp=0xe84500 [running]:
runtime.getcallerfp()
        C:/go1.25.4.windows-386/go/src/runtime/runtime2.go:1322 +0x8 fp=0x183ff60 sp=0x183ff58 pc=0xd6a268
runtime.entersyscallblock()
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:4736 +0x67 fp=0x183ffa0 sp=0x183ff60 pc=0xd88a97
runtime.notetsleepg(0xea3ca0, 0xffffffffffffffff)
        C:/go1.25.4.windows-386/go/src/runtime/lock_sema.go:175 +0x36 fp=0x183ffc4 sp=0x183ffa0 pc=0xd25446
os/signal.signal_recv()
        C:/go1.25.4.windows-386/go/src/runtime/sigqueue.go:152 +0x39 fp=0x183ffdc sp=0x183ffc4 pc=0xd897f9
os/signal.loop()
        C:/go1.25.4.windows-386/go/src/os/signal/signal_unix.go:23 +0x1c fp=0x183fff0 sp=0x183ffdc pc=0xdd0eac
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x183fff4 sp=0x183fff0 pc=0xd8d801
created by os/signal.Notify.func1.1 in goroutine 1
        C:/go1.25.4.windows-386/go/src/os/signal/signal.go:152 +0x2d

goroutine 1 gp=0x180c128 m=nil [chan receive]:
runtime.gopark(0xdfcaac, 0x18440b8, 0xe, 0x7, 0x2)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1837e24 sp=0x1837e10 pc=0xd88828
runtime.chanrecv(0x1844080, 0x0, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/chan.go:667 +0x32e fp=0x1837e64 sp=0x1837e24 pc=0xd2016e
runtime.chanrecv1(0x1844080, 0x0)
        C:/go1.25.4.windows-386/go/src/runtime/chan.go:509 +0x1c fp=0x1837e78 sp=0x1837e64 pc=0xd1fe3c
main.test2()
        C:/main.go:49 +0x12f fp=0x1837ee0 sp=0x1837e78 pc=0xdd1a5f
main.main()
        C:/main.go:26 +0x449 fp=0x1837fc0 sp=0x1837ee0 pc=0xdd14d9
runtime.main()
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:285 +0x248 fp=0x1837ff0 sp=0x1837fc0 pc=0xd58318
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1837ff4 sp=0x1837ff0 pc=0xd8d801

goroutine 2 gp=0x180c5a8 m=nil [force gc (idle)]:
runtime.gopark(0xdfcc34, 0xe83b20, 0x11, 0xa, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1833fc8 sp=0x1833fb4 pc=0xd88828
runtime.goparkunlock(0xe83b20, 0x11, 0xa, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:466 +0x43 fp=0x1833fdc sp=0x1833fc8 pc=0xd58773
runtime.forcegchelper()
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:373 +0xd7 fp=0x1833ff0 sp=0x1833fdc pc=0xd58647
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1833ff4 sp=0x1833ff0 pc=0xd8d801
created by runtime.init.6 in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:361 +0x21

goroutine 3 gp=0x180c7e8 m=nil [GC sweep wait]:
runtime.gopark(0xdfcc34, 0xe83be0, 0xc, 0x9, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1835fbc sp=0x1835fa8 pc=0xd88828
runtime.goparkunlock(0xe83be0, 0xc, 0x9, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:466 +0x43 fp=0x1835fd0 sp=0x1835fbc pc=0xd58773
runtime.bgsweep(0x18180a0)
        C:/go1.25.4.windows-386/go/src/runtime/mgcsweep.go:279 +0xa0 fp=0x1835fe8 sp=0x1835fd0 pc=0xd40a90
runtime.gcenable.gowrap1()
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:212 +0x25 fp=0x1835ff0 sp=0x1835fe8 pc=0xd31ce5
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1835ff4 sp=0x1835ff0 pc=0xd8d801
created by runtime.gcenable in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:212 +0x75

goroutine 4 gp=0x180c908 m=nil [GC scavenge wait]:
runtime.gopark(0xdfcc34, 0xe83ce0, 0xd, 0xa, 0x2)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1841fa8 sp=0x1841f94 pc=0xd88828
runtime.goparkunlock(0xe83ce0, 0xd, 0xa, 0x2)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:466 +0x43 fp=0x1841fbc sp=0x1841fa8 pc=0xd58773
runtime.(*scavengerState).park(0xe83ce0)
        C:/go1.25.4.windows-386/go/src/runtime/mgcscavenge.go:425 +0x50 fp=0x1841fcc sp=0x1841fbc pc=0xd3dda0
runtime.bgscavenge(0x18180a0)
        C:/go1.25.4.windows-386/go/src/runtime/mgcscavenge.go:653 +0x49 fp=0x1841fe8 sp=0x1841fcc pc=0xd3e409
runtime.gcenable.gowrap2()
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:213 +0x25 fp=0x1841ff0 sp=0x1841fe8 pc=0xd31ca5
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1841ff4 sp=0x1841ff0 pc=0xd8d801
created by runtime.gcenable in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:213 +0xb5

goroutine 5 gp=0x180cb48 m=nil [GOMAXPROCS updater (idle)]:
runtime.gopark(0xdfcc34, 0xe83bb0, 0x12, 0xa, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1843f98 sp=0x1843f84 pc=0xd88828
runtime.goparkunlock(0xe83bb0, 0x12, 0xa, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:466 +0x43 fp=0x1843fac sp=0x1843f98 pc=0xd58773
runtime.updateMaxProcsGoroutine()
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:6720 +0xf3 fp=0x1843ff0 sp=0x1843fac pc=0xd65903
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1843ff4 sp=0x1843ff0 pc=0xd8d801
created by runtime.defaultGOMAXPROCSUpdateEnable in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:6708 +0x3d

goroutine 6 gp=0x180cc68 m=nil [finalizer wait]:
runtime.gopark(0xdfcad4, 0xea3934, 0x10, 0xa, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x183df90 sp=0x183df7c pc=0xd88828
runtime.runFinalizers()
        C:/go1.25.4.windows-386/go/src/runtime/mfinal.go:210 +0xf2 fp=0x183dff0 sp=0x183df90 pc=0xd30c62
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x183dff4 sp=0x183dff0 pc=0xd8d801
created by runtime.createfing in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/mfinal.go:172 +0x5e

C:\>

about test1:

C:\>debug.exe 1
Running test1: Memory Allocation Test
Allocating 10000 blocks of 1KB each...
fatal error: slice bounds out of range

runtime stack:
runtime.throw({0xdf6661, 0x19})
        C:/go1.25.4.windows-386/go/src/runtime/panic.go:1094 +0x35 fp=0x59fbf0 sp=0x59fbdc pc=0xd88715
runtime.panicCheck1(0xd503dd, {0xdf6661, 0x19})
        C:/go1.25.4.windows-386/go/src/runtime/panic.go:59 +0xaf fp=0x59fc08 sp=0x59fbf0 pc=0xd5426f
runtime.goPanicSliceAlenU(0x3d1, 0x200)
        C:/go1.25.4.windows-386/go/src/runtime/panic.go:134 +0x31 fp=0x59fc28 sp=0x59fc08 pc=0xd544b1
runtime.wbBufFlush1(0x102b508)
        C:/go1.25.4.windows-386/go/src/runtime/mwbbuf.go:199 +0x2dd fp=0x59fc6c sp=0x59fc28 pc=0xd503dd
runtime.wbBufFlush.func1()
        C:/go1.25.4.windows-386/go/src/runtime/mwbbuf.go:181 +0x38 fp=0x59fc78 sp=0x59fc6c pc=0xd84b68
runtime.wbBufFlush()
        C:/go1.25.4.windows-386/go/src/runtime/mwbbuf.go:180 +0x48 fp=0x59fc84 sp=0x59fc78 pc=0xd500f8
runtime.gcDrain(0x102be74, 0x2)
        C:/go1.25.4.windows-386/go/src/runtime/mgcmark.go:1250 +0x21f fp=0x59fcd8 sp=0x59fc84 pc=0xd38e1f
runtime.gcDrainMarkWorkerDedicated(0x102be74, 0x0)
        C:/go1.25.4.windows-386/go/src/runtime/mgcmark.go:1130 +0x38 fp=0x59fce4 sp=0x59fcd8 pc=0xd38ba8
runtime.gcBgMarkWorker.func2()
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1556 +0x10f fp=0x59fd10 sp=0x59fce4 pc=0xd3452f
runtime.systemstack(0x59fd18)
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:372 +0x3d fp=0x59fd14 sp=0x59fd10 pc=0xd8c3bd

goroutine 22 gp=0x10865a8 m=0 mp=0xe84500 [GC worker (active)]:
runtime.systemstack_switch()
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:339 fp=0x1423f88 sp=0x1423f84 pc=0xd8c370
runtime.gcBgMarkWorker(0x1088080)
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1523 +0x1e8 fp=0x1423fe8 sp=0x1423f88 pc=0xd34138
runtime.gcBgMarkStartWorkers.gowrap1()
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1373 +0x25 fp=0x1423ff0 sp=0x1423fe8 pc=0xd33f05
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1423ff4 sp=0x1423ff0 pc=0xd8d801
created by runtime.gcBgMarkStartWorkers in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1373 +0x6c

goroutine 1 gp=0x100c128 m=nil [GC assist wait]:
runtime.gopark(0xdfcc34, 0xe84414, 0xb, 0x8, 0x2)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1037d64 sp=0x1037d50 pc=0xd88828
runtime.goparkunlock(0xe84414, 0xb, 0x8, 0x2)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:466 +0x43 fp=0x1037d78 sp=0x1037d64 pc=0xd58773
runtime.gcParkAssist()
        C:/go1.25.4.windows-386/go/src/runtime/mgcmark.go:774 +0x11c fp=0x1037d94 sp=0x1037d78 pc=0xd37f2c
runtime.gcAssistAlloc(0x100c128)
        C:/go1.25.4.windows-386/go/src/runtime/mgcmark.go:614 +0x422 fp=0x1037e10 sp=0x1037d94 pc=0xd37712
runtime.deductAssistCredit(0x400)
        C:/go1.25.4.windows-386/go/src/runtime/malloc.go:1712 +0x57 fp=0x1037e18 sp=0x1037e10 pc=0xd28467
runtime.mallocgc(0x400, 0xdde380, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/malloc.go:1048 +0x69 fp=0x1037e34 sp=0x1037e18 pc=0xd87269
runtime.makeslice(0xdde380, 0x400, 0x400)
        C:/go1.25.4.windows-386/go/src/runtime/slice.go:116 +0x6e fp=0x1037e4c sp=0x1037e34 pc=0xd89a6e
main.test1()
        C:/main.go:38 +0xc7 fp=0x1037ee0 sp=0x1037e4c pc=0xdd1717
main.main()
        C:/main.go:23 +0x3a7 fp=0x1037fc0 sp=0x1037ee0 pc=0xdd1437
runtime.main()
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:285 +0x248 fp=0x1037ff0 sp=0x1037fc0 pc=0xd58318
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1037ff4 sp=0x1037ff0 pc=0xd8d801

goroutine 2 gp=0x100c5a8 m=nil [force gc (idle)]:
runtime.gopark(0xdfcc34, 0xe83b20, 0x11, 0xa, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1033fc8 sp=0x1033fb4 pc=0xd88828
runtime.goparkunlock(0xe83b20, 0x11, 0xa, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:466 +0x43 fp=0x1033fdc sp=0x1033fc8 pc=0xd58773
runtime.forcegchelper()
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:373 +0xd7 fp=0x1033ff0 sp=0x1033fdc pc=0xd58647
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1033ff4 sp=0x1033ff0 pc=0xd8d801
created by runtime.init.6 in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:361 +0x21

goroutine 3 gp=0x100c7e8 m=nil [GC sweep wait]:
runtime.gopark(0xdfcc34, 0xe83be0, 0xc, 0x9, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1035fbc sp=0x1035fa8 pc=0xd88828
runtime.goparkunlock(0xe83be0, 0xc, 0x9, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:466 +0x43 fp=0x1035fd0 sp=0x1035fbc pc=0xd58773
runtime.bgsweep(0x10180a0)
        C:/go1.25.4.windows-386/go/src/runtime/mgcsweep.go:279 +0xa0 fp=0x1035fe8 sp=0x1035fd0 pc=0xd40a90
runtime.gcenable.gowrap1()
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:212 +0x25 fp=0x1035ff0 sp=0x1035fe8 pc=0xd31ce5
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1035ff4 sp=0x1035ff0 pc=0xd8d801
created by runtime.gcenable in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:212 +0x75

goroutine 4 gp=0x100c908 m=nil [GC scavenge wait]:
runtime.gopark(0xdfcc34, 0xe83ce0, 0xd, 0xa, 0x2)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1041fa8 sp=0x1041f94 pc=0xd88828
runtime.goparkunlock(0xe83ce0, 0xd, 0xa, 0x2)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:466 +0x43 fp=0x1041fbc sp=0x1041fa8 pc=0xd58773
runtime.(*scavengerState).park(0xe83ce0)
        C:/go1.25.4.windows-386/go/src/runtime/mgcscavenge.go:425 +0x50 fp=0x1041fcc sp=0x1041fbc pc=0xd3dda0
runtime.bgscavenge(0x10180a0)
        C:/go1.25.4.windows-386/go/src/runtime/mgcscavenge.go:658 +0x6d fp=0x1041fe8 sp=0x1041fcc pc=0xd3e42d
runtime.gcenable.gowrap2()
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:213 +0x25 fp=0x1041ff0 sp=0x1041fe8 pc=0xd31ca5
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1041ff4 sp=0x1041ff0 pc=0xd8d801
created by runtime.gcenable in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:213 +0xb5

goroutine 18 gp=0x1086128 m=nil [GOMAXPROCS updater (idle)]:
runtime.gopark(0xdfcc34, 0xe83bb0, 0x12, 0xa, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x103df98 sp=0x103df84 pc=0xd88828
runtime.goparkunlock(0xe83bb0, 0x12, 0xa, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:466 +0x43 fp=0x103dfac sp=0x103df98 pc=0xd58773
runtime.updateMaxProcsGoroutine()
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:6720 +0xf3 fp=0x103dff0 sp=0x103dfac pc=0xd65903
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x103dff4 sp=0x103dff0 pc=0xd8d801
created by runtime.defaultGOMAXPROCSUpdateEnable in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:6708 +0x3d

goroutine 19 gp=0x1086248 m=nil [finalizer wait]:
runtime.gopark(0xdfcad4, 0xea3934, 0x10, 0xa, 0x1)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x103ff90 sp=0x103ff7c pc=0xd88828
runtime.runFinalizers()
        C:/go1.25.4.windows-386/go/src/runtime/mfinal.go:210 +0xf2 fp=0x103fff0 sp=0x103ff90 pc=0xd30c62
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x103fff4 sp=0x103fff0 pc=0xd8d801
created by runtime.createfing in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/mfinal.go:172 +0x5e

goroutine 20 gp=0x1086368 m=nil [GC worker (idle)]:
runtime.gopark(0xdfcae4, 0x142a000, 0x1c, 0xa, 0x0)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1427f88 sp=0x1427f74 pc=0xd88828
runtime.gcBgMarkWorker(0x1088080)
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1463 +0xf5 fp=0x1427fe8 sp=0x1427f88 pc=0xd34045
runtime.gcBgMarkStartWorkers.gowrap1()
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1373 +0x25 fp=0x1427ff0 sp=0x1427fe8 pc=0xd33f05
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1427ff4 sp=0x1427ff0 pc=0xd8d801
created by runtime.gcBgMarkStartWorkers in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1373 +0x6c

goroutine 21 gp=0x1086488 m=nil [GC worker (idle)]:
runtime.gopark(0xdfcae4, 0x142a200, 0x1c, 0xa, 0x0)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1429f88 sp=0x1429f74 pc=0xd88828
runtime.gcBgMarkWorker(0x1088080)
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1463 +0xf5 fp=0x1429fe8 sp=0x1429f88 pc=0xd34045
runtime.gcBgMarkStartWorkers.gowrap1()
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1373 +0x25 fp=0x1429ff0 sp=0x1429fe8 pc=0xd33f05
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1429ff4 sp=0x1429ff0 pc=0xd8d801
created by runtime.gcBgMarkStartWorkers in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1373 +0x6c

goroutine 23 gp=0x10866c8 m=nil [GC worker (idle)]:
runtime.gopark(0xdfcae4, 0x142a600, 0x1c, 0xa, 0x0)
        C:/go1.25.4.windows-386/go/src/runtime/proc.go:460 +0xd8 fp=0x1425f88 sp=0x1425f74 pc=0xd88828
runtime.gcBgMarkWorker(0x1088080)
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1463 +0xf5 fp=0x1425fe8 sp=0x1425f88 pc=0xd34045
runtime.gcBgMarkStartWorkers.gowrap1()
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1373 +0x25 fp=0x1425ff0 sp=0x1425fe8 pc=0xd33f05
runtime.goexit({})
        C:/go1.25.4.windows-386/go/src/runtime/asm_386.s:1386 +0x1 fp=0x1425ff4 sp=0x1425ff0 pc=0xd8d801
created by runtime.gcBgMarkStartWorkers in goroutine 1
        C:/go1.25.4.windows-386/go/src/runtime/mgc.go:1373 +0x6c

C:\>

What did you expect to see?

Normal operation without errors

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.OS-Windowsarch-386Issues solely affecting the 32-bit x86 architecturecompiler/runtimeIssues related to the Go compiler and/or runtime.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions