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: nosplit stack overflow on Solaris #22797

Closed
bradfitz opened this issue Nov 18, 2017 · 2 comments
Closed

runtime: nosplit stack overflow on Solaris #22797

bradfitz opened this issue Nov 18, 2017 · 2 comments
Labels
FrozenDueToAge help wanted NeedsFix The path to resolution is known, but the work has not been done. OS-Solaris release-blocker
Milestone

Comments

@bradfitz
Copy link
Contributor

The Solaris builders have been broken for some time with:

##### ../test
# go run run.go -- inline_callers.go
exit status 2
# command-line-arguments
runtime.morestack: nosplit stack overflow
	744	assumed on entry to runtime.cgocallbackg (nosplit)
	584	after runtime.cgocallbackg (nosplit) uses 160
	576	on entry to runtime.exitsyscall (nosplit)
	480	after runtime.exitsyscall (nosplit) uses 96
	472	on entry to runtime.casgstatus (nosplit)
	144	after runtime.casgstatus (nosplit) uses 328
	136	on entry to runtime.asmcgocall (nosplit)
	128	on entry to gosave (nosplit)
	120	on entry to runtime.badctxt (nosplit)
	96	after runtime.badctxt (nosplit) uses 24
	88	on entry to runtime.throw (nosplit)
	64	after runtime.throw (nosplit) uses 24
	56	on entry to runtime.dopanic (nosplit)
	8	after runtime.dopanic (nosplit) uses 48
	0	on entry to runtime.systemstack (nosplit)
	-8	on entry to function pointer
	-16	on entry to runtime.morestack (nosplit)
runtime.dopanic: nosplit stack overflow
	744	assumed on entry to runtime.needm (nosplit)
	456	after runtime.needm (nosplit) uses 288
	448	on entry to runtime.casgstatus (nosplit)
	120	after runtime.casgstatus (nosplit) uses 328
	112	on entry to runtime.asmcgocall (nosplit)
	104	on entry to gosave (nosplit)
	96	on entry to runtime.badctxt (nosplit)
	72	after runtime.badctxt (nosplit) uses 24
	64	on entry to runtime.throw (nosplit)
	40	after runtime.throw (nosplit) uses 24
	32	on entry to runtime.dopanic (nosplit)
	-16	after runtime.dopanic (nosplit) uses 48
runtime.dieFromSignal: nosplit stack overflow
	744	assumed on entry to runtime.sigtrampgo (nosplit)
	480	after runtime.sigtrampgo (nosplit) uses 264
	472	on entry to runtime.sigfwdgo (nosplit)
	416	after runtime.sigfwdgo (nosplit) uses 56
	408	on entry to runtime.dieFromSignal (nosplit)
	-80	after runtime.dieFromSignal (nosplit) uses 488
runtime.morestack: nosplit stack overflow
	744	assumed on entry to runtime.dieFromSignal (nosplit)
	256	after runtime.dieFromSignal (nosplit) uses 488
	248	on entry to runtime.unblocksig (nosplit)
	144	after runtime.unblocksig (nosplit) uses 104
	136	on entry to runtime.asmcgocall (nosplit)
	128	on entry to gosave (nosplit)
	120	on entry to runtime.badctxt (nosplit)
	96	after runtime.badctxt (nosplit) uses 24
	88	on entry to runtime.throw (nosplit)
	64	after runtime.throw (nosplit) uses 24
	56	on entry to runtime.dopanic (nosplit)
	8	after runtime.dopanic (nosplit) uses 48
	0	on entry to runtime.systemstack (nosplit)
	-8	on entry to function pointer
	-16	on entry to runtime.morestack (nosplit)
runtime.morestack: nosplit stack overflow
	744	assumed on entry to runtime.badsignal (nosplit)
	720	after runtime.badsignal (nosplit) uses 24
	712	on entry to runtime.needm (nosplit)
	424	after runtime.needm (nosplit) uses 288
	416	on entry to runtime.casgstatus (nosplit)
	88	after runtime.casgstatus (nosplit) uses 328
	80	on entry to runtime.asmcgocall (nosplit)
	72	on entry to gosave (nosplit)
	64	on entry to runtime.badctxt (nosplit)
	40	after runtime.badctxt (nosplit) uses 24
	32	on entry to runtime.throw (nosplit)
	8	after runtime.throw (nosplit) uses 24
	0	on entry to runtime.printlock
	-8	on entry to runtime.morestack (nosplit)
runtime.printlock: nosplit stack overflow
	744	assumed on entry to runtime.sigfwdgo (nosplit)
	688	after runtime.sigfwdgo (nosplit) uses 56
	680	on entry to runtime.dieFromSignal (nosplit)
	192	after runtime.dieFromSignal (nosplit) uses 488
	184	on entry to runtime.unblocksig (nosplit)
	80	after runtime.unblocksig (nosplit) uses 104
	72	on entry to runtime.asmcgocall (nosplit)
	64	on entry to gosave (nosplit)
	56	on entry to runtime.badctxt (nosplit)
	32	after runtime.badctxt (nosplit) uses 24
	24	on entry to runtime.throw (nosplit)
	0	after runtime.throw (nosplit) uses 24
	-8	on entry to runtime.printlock
runtime.dopanic: nosplit stack overflow
	744	assumed on entry to runtime.cgocallback_gofunc (nosplit)
	720	after runtime.cgocallback_gofunc (nosplit) uses 24
	712	on entry to runtime.cgocallbackg (nosplit)
	552	after runtime.cgocallbackg (nosplit) uses 160
	544	on entry to runtime.exitsyscall (nosplit)
	448	after runtime.exitsyscall (nosplit) uses 96
	440	on entry to runtime.casgstatus (nosplit)
	112	after runtime.casgstatus (nosplit) uses 328
	104	on entry to runtime.asmcgocall (nosplit)
	96	on entry to gosave (nosplit)
	88	on entry to runtime.badctxt (nosplit)
	64	after runtime.badctxt (nosplit) uses 24
	56	on entry to runtime.throw (nosplit)
	32	after runtime.throw (nosplit) uses 24
	24	on entry to runtime.dopanic (nosplit)
	-24	after runtime.dopanic (nosplit) uses 48
runtime.dieFromSignal: nosplit stack overflow
	744	assumed on entry to runtime.sigtramp (nosplit)
	736	on entry to runtime.sigtrampgo (nosplit)
	472	after runtime.sigtrampgo (nosplit) uses 264
	464	on entry to runtime.sigfwdgo (nosplit)
	408	after runtime.sigfwdgo (nosplit) uses 56
	400	on entry to runtime.dieFromSignal (nosplit)
	-88	after runtime.dieFromSignal (nosplit) uses 488

FAIL	inline_callers.go	18.468s

/cc @aclements

@bradfitz
Copy link
Contributor Author

This started at https://go-review.googlesource.com/c/go/+/73212 ("cmd/go: switch to entirely content-based staleness determination" from @rsc).

Related: #13354 maybe?

@gopherbot
Copy link

Change https://golang.org/cl/79197 mentions this issue: test: make inline_callers.go test not inline the runtime

@golang golang locked and limited conversation to collaborators Nov 22, 2018
@rsc rsc removed their assignment Jun 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge help wanted NeedsFix The path to resolution is known, but the work has not been done. OS-Solaris release-blocker
Projects
None yet
Development

No branches or pull requests

3 participants