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

test/nilptr/arrayindex1.go spins forever on darwin/snow leopard #265

Closed
dave-andersen opened this issue Nov 19, 2009 · 3 comments
Closed

Comments

@dave-andersen
Copy link
Contributor

Before filing a bug, please check whether it has been fixed since
the latest release: run "hg pull -u" and retry what you did to
reproduce the problem.  Thanks.

What steps will reproduce the problem?
1. Run test/nilptr/arrayindex1.go on Darwin/Snow Leopard
2. Watch test spin forever.
3.

What is the expected output? What do you see instead?

Output is:
SIGBUS: bus error
Faulting address: 0x0
pc: 0x1c4b

main·main+0x4b /Users/dga/go/test/nilptr/arrayindex1.go:30
        main·main()
mainstart+0xf /Users/dga/go/src/pkg/runtime/386/asm.s:81
        mainstart()
goexit /Users/dga/go/src/pkg/runtime/proc.c:135
        goexit()
eax     0x0
ebx     0x16814
ecx     0x20047000
edx     0x1
edi     0x9
esi     0x20047050
ebp     0x0
esp     0x20048fc4
eip     0x1c4b
eflags  0x10246
cs      0x17
fs      0x0
gs      0x3f

at this point, the process does *not* exit;  it keeps spinning.


What is your $GOOS?  $GOARCH?

GOARCH=386
GOOS=darwin

Which revision are you sync'ed to?  (hg log -l 1)

changeset:   4148:b56be100e580
tag:         tip
user:        Rob Pike <r@golang.org>
date:        Wed Nov 18 19:58:32 2009 -0800
summary:     replace custom findByte with bytes.IndexByte


Please provide any additional information below.

This has been happening for a few hg syncs now.

Attaching to the spinning process with gdb shows:

0x000053af in ?? ()
(gdb) info reg
eax            0x1      1
ecx            0xa4d4   42196
edx            0x0      0
ebx            0x1f     31
esp            0x20055ab4       0x20055ab4
ebp            0x0      0x0
esi            0x60     96
edi            0x2      2
eip            0x53af   0x53af
eflags         0x10206  66054
cs             0x17     23
ss             0x1f     31
ds             0x1f     31
es             0x1f     31
fs             0x0      0
gs             0x1f     31

6nm suggests that the point where it's spinning is inside sigtramp:

    53a3 T sigtramp

During the spinning, activity monitor shows the go process taking half the
CPU and kernel task 0 taking the other half.  I'm not entirely sure how to
interpret that unless it's repeatedly segfaulting.
@dave-andersen
Copy link
Contributor Author

Comment 1:

Should have mentioned:  x/i'ing the eip while spinning:
 0x53af: mov    %gs:0x46c,%ebp

@rsc
Copy link
Contributor

rsc commented Nov 19, 2009

Comment 2:

Issue #264 has been merged into this issue.

@rsc
Copy link
Contributor

rsc commented Nov 19, 2009

Comment 3:

This issue was closed by revision 4aaf948.

Status changed to Fixed.

Merged into issue #-.

@golang golang locked and limited conversation to collaborators Jun 24, 2016
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants