invalid address in sys call

56 views
Skip to first unread message

David du Colombier

unread,
Feb 12, 2014, 2:46:32 PM2/12/14
to go-p...@googlegroups.com
This issue still happens regularly on the builder. It often
arise when running the os/exec and runtime tests. It also
appears on some of the gc tests from the "test" directory.

I've created issue 7296 (http://golang.org/issue/7296).

We still don't know the cause of this problem. Do you have a clue?

Any help will be much appreciated.

--- FAIL: TestExtraFilesRace (0.64 seconds)
exec_test.go:480: iteration 2, process A got:
exec.test 443059: suicide: invalid address 0x6a434/220 in sys call pc=0x240fe
exec.test 443059: suicide: bad address in notify
fd3: listener 127.0.0.1:59153

want:
fd3: listener 127.0.0.1:59153

FAIL
FAIL os/exec 5.593s

--- FAIL: TestGcSys (0.76 seconds)
gc_test.go:22: expected "OK\n", but got "
go 414849: suicide: invalid address 0x5f06f/220 in sys call pc=0x6af6e\n
go 414849: suicide: bad address in notify\nOK\n"
FAIL
FAIL runtime 69.739s

52.01u 31.53s 335.71r go test std -short -timeout ...

# GOMAXPROCS=2 runtime -cpu=1,2,4
--- FAIL: TestInitDeadlock-4 (0.13 seconds)
crash_test.go:69: Stale runtime.a. Run 'go install runtime'.
FAIL
FAIL runtime 110.313s

FAIL convlit.go 0.073s
# go run run.go -- shift1.go

Unmatched Errors:
go 435411: suicide: invalid address 0x5f06f/220 in sys call pc=0x6af6e
go 435411: suicide: bad address in notify

--
David du Colombier

David du Colombier

unread,
Feb 13, 2014, 3:38:32 PM2/13/14
to go-p...@googlegroups.com
Here we are now:

http://build.golang.org/log/da2f96fa0352214e0a7bd6ca1f4fded5c6ab6260

# ../test
# go run run.go -- copy.go
incorrect output
copy 3986: suicide: sys: trap: fault read addr=0x36 pc=0x00022cac

FAIL copy.go 0.973s
# go run run.go -- fixedbugs/bug246.go
incorrect output
go 7492: suicide: sys: trap: fault read addr=0xe8000a89 pc=0x0006c74f

FAIL fixedbugs/bug246.go 0.334s
# go run run.go -- fixedbugs/bug454.go
incorrect output
go 8907: suicide: invalid address 0x60811/220 in sys call pc=0x6c711
go 8907: suicide: bad address in notify

FAIL fixedbugs/bug454.go 0.349s
# go run run.go -- fixedbugs/issue4448.go
incorrect output
issue4448 9426: suicide: invalid address 0x11585/220 in sys call pc=0x1aab1
issue4448 9426: suicide: bad address in notify

FAIL fixedbugs/issue4448.go 0.609s

--
David du Colombier

David du Colombier

unread,
Feb 13, 2014, 5:41:25 PM2/13/14
to go-p...@googlegroups.com
Any idea?

# go run run.go -- func8.go
incorrect output
go 1710: suicide: invalid address 0x44467/220 in sys call pc=0x6c72e
go 1710: suicide: bad address in notify

FAIL func8.go 0.373s

cpu% acid 1710
/proc/1710/text:386 plan 9 executable
/sys/lib/acid/port
/sys/lib/acid/386
acid: asm(*PC)
runtime.rfork+0x2e 0x0006c72e MOVL AX,0x2c(BX)
runtime.rfork+0x31 0x0006c731 CALL runtime.stackcheck(SB)
runtime.rfork+0x36 0x0006c736 MOVL 0x0(DX),DX
runtime.rfork+0x38 0x0006c738 MOVL 0x0(BX),BX
runtime.rfork+0x3a 0x0006c73a PUSHL SI
runtime.rfork+0x3b 0x0006c73b CALL runtime.emptyfunc(SB)
runtime.rfork+0x40 0x0006c740 POPL SI
runtime.rfork+0x41 0x0006c741 CALL* SI
runtime.rfork+0x43 0x0006c743 CALL runtime.exit(SB)
runtime.rfork+0x48 0x0006c748 RET
runtime.rfork+0x49 0x0006c749 ADDB AL,0x0(AX)
runtime.rfork+0x4b 0x0006c74b ADDB AL,0x0(AX)
runtime.rfork+0x4d 0x0006c74d ADDB AL,0x0(AX)
runtime.rfork+0x4f 0x0006c74f ADDB CL,0x6d75cc05(BX)
acid:
echo kill > /proc/1710/ctl
cpu%

--
David du Colombier

Anthony Martin

unread,
Feb 13, 2014, 8:53:44 PM2/13/14
to David du Colombier, go-p...@googlegroups.com
Can you print the registers also?

What's BX?

What's SP? 0x44467+256 doesn't look like a valid
stack address.

Also, what note is it getting? acid -k might help.

Anthony

David du Colombier

unread,
Feb 14, 2014, 2:44:29 AM2/14/14
to Anthony Martin, go-p...@googlegroups.com
# go run run.go -- cmp6.go

Unmatched Errors:
go 20827: suicide: invalid address 0x44467/220 in sys call pc=0x6c72e
go 20827: suicide: bad address in notify

FAIL cmp6.go 0.215s

cpu% acid 20827
/proc/20827/text:386 plan 9 executable
/sys/lib/acid/port
/sys/lib/acid/386
acid: asm(*PC)
runtime.rfork+0x2e 0x0006c72e MOVL AX,0x2c(BX)
runtime.rfork+0x31 0x0006c731 CALL runtime.stackcheck(SB)
runtime.rfork+0x36 0x0006c736 MOVL 0x0(DX),DX
runtime.rfork+0x38 0x0006c738 MOVL 0x0(BX),BX
runtime.rfork+0x3a 0x0006c73a CALL* SI
runtime.rfork+0x3c 0x0006c73c CALL runtime.exit(SB)
runtime.rfork+0x41 0x0006c741 RET
runtime.rfork+0x42 0x0006c742 ADDB AL,0x0(AX)
runtime.rfork+0x44 0x0006c744 ADDB AL,0x0(AX)
runtime.rfork+0x46 0x0006c746 ADDB AL,0x0(AX)
runtime.rfork+0x48 0x0006c748 ADDB AL,0x0(AX)
runtime.rfork+0x4a 0x0006c74a ADDB AL,0x0(AX)
runtime.rfork+0x4c 0x0006c74c ADDB AL,0x0(AX)
runtime.rfork+0x4e 0x0006c74e ADDB AL,0x0(AX)
runtime.sigtramp 0x0006c750 MOVL _tos(SB),AX
acid: regs()
PC 0x0006c72e runtime.rfork+0x2e ?file?:0
SP 0x00044643 ECODE 0x00000006 EFLAG 0x00010246
CS 0x00000023 DS 0x0000001b SS 0x0000001b
GS 0x0000001b FS 0x0000001b ES 0x0000001b
TRAP 0x0000000e page fault
AX 0x0000515b BX 0x00000002 CX 0x00044643 DX 0x00064b7a
DI 0x30911fcc SI 0x107f0294 BP 0x107f01e0
acid:
echo kill > /proc/20827/ctl

You can also easily reproduce this issue on your side
by running "go run run.go" in the test directory.

--
David du Colombier

Anthony Martin

unread,
Feb 14, 2014, 3:05:43 AM2/14/14
to David du Colombier, go-p...@googlegroups.com
David du Colombier <0in...@gmail.com> once said:
> acid: regs()
> PC 0x0006c72e runtime.rfork+0x2e ?file?:0
> SP 0x00044643 ECODE 0x00000006 EFLAG 0x00010246
> CS 0x00000023 DS 0x0000001b SS 0x0000001b
> GS 0x0000001b FS 0x0000001b ES 0x0000001b
> TRAP 0x0000000e page fault
> AX 0x0000515b BX 0x00000002 CX 0x00044643 DX 0x00064b7a
> DI 0x30911fcc SI 0x107f0294 BP 0x107f01e0
>
> [...]
>
> You can also easily reproduce this issue on your side
> by running "go run run.go" in the test directory.

Thanks for running this test.

Yeah. I'm investigating this right now. It's always
at runtime.rfork+0x2e. Something is smashing SP.
I've modified rfork to stuff the old SP in BP before
the stack switch so I can try to get a better handle
on it. I'm running a test right now.

Well see how it goes.

Cheers,
Anthony
Reply all
Reply to author
Forward
0 new messages