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: TestGdb{AutotmpTypes,Const} failing on solaris as of CL 171823 #35046

Closed
bcmills opened this issue Oct 21, 2019 · 4 comments
Closed

runtime: TestGdb{AutotmpTypes,Const} failing on solaris as of CL 171823 #35046

bcmills opened this issue Oct 21, 2019 · 4 comments

Comments

@bcmills
Copy link
Member

@bcmills bcmills commented Oct 21, 2019

I don't know whether CL 171823 was the cause, or if there was some incidental change to the builder, but the solaris-amd64-oraclerel builder is now consistently failing (https://build.golang.org/log/92fe055b8bae545fdae60bdda9575ca85bff728e) in the runtime test:

--- FAIL: TestGdbAutotmpTypes (11.23s)
    runtime-gdb_test.go:65: gdb version 8.0
    runtime-gdb_test.go:446: building source exit status 2
        # command-line-arguments
        runtime.morestack: nosplit stack overflow
        	744	assumed on entry to runtime.sigtramp (nosplit)
        	736	on entry to runtime.sigtrampgo (nosplit)
        	568	after runtime.sigtrampgo (nosplit) uses 168
        	560	on entry to runtime.sigfwdgo (nosplit)
        	488	after runtime.sigfwdgo (nosplit) uses 72
        	480	on entry to runtime.dieFromSignal (nosplit)
        	456	after runtime.dieFromSignal (nosplit) uses 24
        	448	on entry to runtime.setsig (nosplit)
        	384	after runtime.setsig (nosplit) uses 64
        	376	on entry to runtime.sigaction (nosplit)
        	328	after runtime.sigaction (nosplit) uses 48
        	320	on entry to runtime.sysvicall3 (nosplit)
        	264	after runtime.sysvicall3 (nosplit) uses 56
        	256	on entry to runtime.sysvicall3Err (nosplit)
        	168	after runtime.sysvicall3Err (nosplit) uses 88
        	160	on entry to runtime.asmcgocall (nosplit)
        	152	on entry to gosave (nosplit)
        	144	on entry to runtime.badctxt (nosplit)
        	120	after runtime.badctxt (nosplit) uses 24
        	112	on entry to runtime.throw (nosplit)
        	72	after runtime.throw (nosplit) uses 40
        	64	on entry to runtime.fatalthrow (nosplit)
        	16	after runtime.fatalthrow (nosplit) uses 48
        	8	on entry to runtime.systemstack (nosplit)
        	0	on entry to function pointer
        	-8	on entry to runtime.morestack (nosplit)
--- FAIL: TestGdbConst (11.71s)
    runtime-gdb_test.go:65: gdb version 8.0
    runtime-gdb_test.go:512: building source exit status 2
        # command-line-arguments
        runtime.morestack: nosplit stack overflow
        	744	assumed on entry to runtime.sigtramp (nosplit)
        	736	on entry to runtime.sigtrampgo (nosplit)
        	568	after runtime.sigtrampgo (nosplit) uses 168
        	560	on entry to runtime.sigfwdgo (nosplit)
        	488	after runtime.sigfwdgo (nosplit) uses 72
        	480	on entry to runtime.dieFromSignal (nosplit)
        	456	after runtime.dieFromSignal (nosplit) uses 24
        	448	on entry to runtime.setsig (nosplit)
        	384	after runtime.setsig (nosplit) uses 64
        	376	on entry to runtime.sigaction (nosplit)
        	328	after runtime.sigaction (nosplit) uses 48
        	320	on entry to runtime.sysvicall3 (nosplit)
        	264	after runtime.sysvicall3 (nosplit) uses 56
        	256	on entry to runtime.sysvicall3Err (nosplit)
        	168	after runtime.sysvicall3Err (nosplit) uses 88
        	160	on entry to runtime.asmcgocall (nosplit)
        	152	on entry to gosave (nosplit)
        	144	on entry to runtime.badctxt (nosplit)
        	120	after runtime.badctxt (nosplit) uses 24
        	112	on entry to runtime.throw (nosplit)
        	72	after runtime.throw (nosplit) uses 40
        	64	on entry to runtime.fatalthrow (nosplit)
        	16	after runtime.fatalthrow (nosplit) uses 48
        	8	on entry to runtime.systemstack (nosplit)
        	0	on entry to function pointer
        	-8	on entry to runtime.morestack (nosplit)
FAIL
FAIL	runtime	60.061s
@bcmills

This comment has been minimized.

Copy link
Member Author

@bcmills bcmills commented Oct 21, 2019

@rorth

This comment has been minimized.

Copy link

@rorth rorth commented Oct 22, 2019

I maintain the host running that builder and neither has changed in a week. So it's pretty certain
that Ian's patch is the culprit.

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

@ianlancetaylor ianlancetaylor commented Oct 22, 2019

Yes. The test builds a program with -gcflags=all=-N -l, which disables optimizations. My CL introduced another function call, and that seems to been enough to cause an overflow in the linker's nosplit stack check when not optimizing.

@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Oct 22, 2019

Change https://golang.org/cl/202446 mentions this issue: runtime: factor signal stack code out of sigtrampgo

@bcmills bcmills changed the title runtime: TestGdb{AutotmpTypes,Const} failing as of CL 171823 runtime: TestGdb{AutotmpTypes,Const} failing on solaris as of CL 171823 Oct 22, 2019
@gopherbot gopherbot closed this in d29c14f Oct 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.