Skip to content

runtime: TestDeferHeapAndStack crash with checkmark mode #71995

@mknyszek

Description

@mknyszek

I was able to get TestDeferHeapAndStack to crash frequently with the following command:

GOMAXPROCS=16 GOARCH=386 GODEBUG=gccheckmark=1 stress2 go test -timeout=50m

stress2 is available at go install github.com/aclements/go-misc/stress2@latest.

unexpected fault address 0x8007c10
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8007c10 pc=0x8007c10]

goroutine 24191334 gp=0xaf3fc28 m=22 mp=0xba00808 [running]:
runtime.throw({0x854e4ea, 0x5})
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/panic.go:1113 +0x35 fp=0xde17394 sp=0xde17380 pc=0x80d3935
runtime.sigpanic()
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/signal_unix.go:939 +0x2af fp=0xde173c0 sp=0xde17394 pc=0x80d569f
runtime.deferreturn()
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/panic.go:606 +0x4b fp=0xde17404 sp=0xde173c0 pc=0x80917fb
runtime_test.deferHeapAndStack(0xa5)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:923 +0x11b fp=0xde17458 sp=0xde17404 pc=0x8447b5b
runtime_test.deferHeapAndStack(0xa6)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde174ac sp=0xde17458 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xa7)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17500 sp=0xde174ac pc=0x8447b2b
runtime_test.deferHeapAndStack(0xa8)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17554 sp=0xde17500 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xa9)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde175a8 sp=0xde17554 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xaa)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde175fc sp=0xde175a8 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xab)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17650 sp=0xde175fc pc=0x8447b2b
runtime_test.deferHeapAndStack(0xac)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde176a4 sp=0xde17650 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xad)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde176f8 sp=0xde176a4 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xae)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde1774c sp=0xde176f8 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xaf)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde177a0 sp=0xde1774c pc=0x8447b2b
runtime_test.deferHeapAndStack(0xb0)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde177f4 sp=0xde177a0 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xb1)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17848 sp=0xde177f4 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xb2)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde1789c sp=0xde17848 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xb3)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde178f0 sp=0xde1789c pc=0x8447b2b
runtime_test.deferHeapAndStack(0xb4)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17944 sp=0xde178f0 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xb5)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17998 sp=0xde17944 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xb6)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde179ec sp=0xde17998 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xb7)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17a40 sp=0xde179ec pc=0x8447b2b
runtime_test.deferHeapAndStack(0xb8)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17a94 sp=0xde17a40 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xb9)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17ae8 sp=0xde17a94 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xba)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17b3c sp=0xde17ae8 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xbb)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17b90 sp=0xde17b3c pc=0x8447b2b
runtime_test.deferHeapAndStack(0xbc)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17be4 sp=0xde17b90 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xbd)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17c38 sp=0xde17be4 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xbe)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17c8c sp=0xde17c38 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xbf)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17ce0 sp=0xde17c8c pc=0x8447b2b
runtime_test.deferHeapAndStack(0xc0)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17d34 sp=0xde17ce0 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xc1)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17d88 sp=0xde17d34 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xc2)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17ddc sp=0xde17d88 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xc3)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17e30 sp=0xde17ddc pc=0x8447b2b
runtime_test.deferHeapAndStack(0xc4)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17e84 sp=0xde17e30 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xc5)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17ed8 sp=0xde17e84 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xc6)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17f2c sp=0xde17ed8 pc=0x8447b2b
runtime_test.deferHeapAndStack(0xc7)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17f80 sp=0xde17f2c pc=0x8447b2b
runtime_test.deferHeapAndStack(0xc8)
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:921 +0xeb fp=0xde17fd4 sp=0xde17f80 pc=0x8447b2b
runtime_test.TestDeferHeapAndStack.func1()
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:888 +0x4f fp=0xde17ff0 sp=0xde17fd4 pc=0x84479ef
runtime.goexit({})
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/asm_386.s:1393 +0x1 fp=0xde17ff4 sp=0xde17ff0 pc=0x80da141
created by runtime_test.TestDeferHeapAndStack in goroutine 24191331
	/usr/local/google/home/mknyszek/work/go-1/src/runtime/stack_test.go:886 +0xf1

Metadata

Metadata

Assignees

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.compiler/runtimeIssues related to the Go compiler and/or runtime.

Type

No type

Projects

Status

Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions