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: enable stack pointers during trace of stack overflow #3582

Closed
rsc opened this issue May 1, 2012 · 5 comments
Closed

runtime: enable stack pointers during trace of stack overflow #3582

rsc opened this issue May 1, 2012 · 5 comments
Labels
FrozenDueToAge Suggested Issues that may be good for new contributors looking for work to do.
Milestone

Comments

@rsc
Copy link
Contributor

rsc commented May 1, 2012

amd64/darwin.
The stack appears to be the m0 OS stack, since it is not allocated and the fmt test does
not use cgo (so it's not some other thread's stack).  Perhaps we are setting the limits
wrong for the m0 stack.  Or perhaps it is an unexpected signal.  Regardless, I'd like to
understand this.



---------- Forwarded message ----------
From: Jonathan Pittman <jonathan.mark.pittman@gmail.com>
Date: Fri, Apr 27, 2012 at 07:54
Subject: Re: [go-nuts] Re: go1.0.1 released
To: Peter Kleiweg <pkleiweg@xs4all.nl>
Cc: golang-nuts <golang-nuts@googlegroups.com>


Not sure if anyone else saw this.  With respect to the new go1.0.1 release, I just
ran...

hg pull
hg update release
./all.bash

and then in the middle of the "# Testing packages." section, I saw...


runtime: split stack overflow: 0x2747cd8 < 0x2748000
throw: runtime: split stack overflow

goroutine 1 [chan receive]:
main.(*builder).do(0xf8400fe180, 0xf8401d5000, 0xf8401bb000, 0x1)
/Users/jonathanpittman/go/src/cmd/go/build.go:606 +0x3e4
main.runTest(0x45e598, 0xf840001480, 0x300000003, 0xf8400f6880)
/Users/jonathanpittman/go/src/cmd/go/test.go:367 +0x1aa1
main.main()
/Users/jonathanpittman/go/src/cmd/go/main.go:141 +0x426

goroutine 2 [syscall]:
created by runtime.main
/Users/jonathanpittman/go/src/pkg/runtime/proc.c:221

<some go routines omitted for brevity>

goroutine 342 [syscall]:
syscall.Syscall()
/Users/jonathanpittman/go/src/pkg/syscall/asm_darwin_amd64.s:14 +0x5
syscall.Read(0x6, 0xf840138200, 0x20000000200, 0x0, 0x0, ...)
/Users/jonathanpittman/go/src/pkg/syscall/zsyscall_darwin_amd64.go:810 +0x78
os.(*File).read(0xf8401d4b78, 0xf840138200, 0x20000000200, 0x1c1460, 0x0, ...)
/Users/jonathanpittman/go/src/pkg/os/file_unix.go:163 +0x58
os.(*File).Read(0xf8401d4b78, 0xf840138200, 0x20000000200, 0x0, 0x0, ...)
/Users/jonathanpittman/go/src/pkg/os/file.go:95 +0x83
bytes.(*Buffer).ReadFrom(0xf84080fae0, 0xf840104600, 0xf8401d4b78, 0x0, 0x0, ...)
/Users/jonathanpittman/go/src/pkg/bytes/buffer.go:153 +0x199
io.Copy(0xf84013dba0, 0xf84080fae0, 0xf840104600, 0xf8401d4b78, 0x0, ...)
/Users/jonathanpittman/go/src/pkg/io/io.go:340 +0xc2
os/exec._func_003(0xf84019b050, 0xf8401d4b70, 0x78133, 0x1c1888, 0x445ab, ...)
/Users/jonathanpittman/go/src/pkg/os/exec/exec.go:201 +0x5a
os/exec._func_004(0xf8401d4b50, 0xf840264900, 0x0, 0x0)
/Users/jonathanpittman/go/src/pkg/os/exec/exec.go:260 +0x1e
created by os/exec.(*Cmd).Start
/Users/jonathanpittman/go/src/pkg/os/exec/exec.go:261 +0x65e
go build fmt: exit status 2

and a few lines further down it had...

FAIL fmt [build failed]

I ran all.bash again, but could not reproduce the problem.  Everything built and tested
fine.  Thought I would mention it in case it comes up again or is related to some
obscure bug.

On Fri, Apr 27, 2012 at 5:19 AM, Peter Kleiweg <pkleiweg@xs4all.nl> wrote:
>
> Will there be a release 'weekly' with these changes? I am using some
> of the experimental packages, but would also like to have the updates
> from go1.0.1.
@rsc
Copy link
Contributor Author

rsc commented Sep 12, 2012

Comment 1:

Labels changed: added go1.1.

@rsc
Copy link
Contributor Author

rsc commented Dec 10, 2012

Comment 2:

I think this may have been fixed by the fix to issue #4316.
Since no one else saw it I am going to call it unreproducible anyway.
However, if we do diagnose a stack overflow like this we should
enable the code that prints actual stack pointer values during the
backtrace. It's there just waiting to be enabled in this case.
Once that code is in we can mark this as 'fixed'.

@rsc
Copy link
Contributor Author

rsc commented Dec 10, 2012

Comment 3:

Labels changed: added size-m.

@rsc
Copy link
Contributor Author

rsc commented Dec 10, 2012

Comment 4:

Labels changed: added suggested.

@rsc
Copy link
Contributor Author

rsc commented Feb 15, 2013

Comment 5:

This issue was closed by revision 6c1539b.

Status changed to Fixed.

@rsc rsc added fixed Suggested Issues that may be good for new contributors looking for work to do. labels Feb 15, 2013
@rsc rsc self-assigned this Feb 15, 2013
@rsc rsc added this to the Go1.1 milestone Apr 14, 2015
@rsc rsc removed the go1.1 label Apr 14, 2015
@golang golang locked and limited conversation to collaborators Jun 24, 2016
@rsc rsc removed their assignment Jun 22, 2022
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge Suggested Issues that may be good for new contributors looking for work to do.
Projects
None yet
Development

No branches or pull requests

2 participants