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: arm64 64k PAGE_SIZE compile all.bash testcase error. #11933

Closed
jefby opened this issue Jul 30, 2015 · 13 comments
Closed

runtime: arm64 64k PAGE_SIZE compile all.bash testcase error. #11933

jefby opened this issue Jul 30, 2015 · 13 comments
Milestone

Comments

@jefby
Copy link

jefby commented Jul 30, 2015

Hi,my arm64 kernel PAGE_SIZE is 64k,and i change the _PhyPagesize to 65536 in arch1_arm64.go file,and it can compile and run,but some test case prints error.

2.garbage_test error

--- FAIL: TestFreeOSMemory (0.00s)
    garbage_test.go:105: released before=0; released after=0; did not go up
allocating objects
starting gc
finalized 0x48200104e0
finalized 0x48200104b0
starting dump
done dump
FAIL
FAIL    runtime/debug   0.207s

3. atomic error

panic: test timed out after 2m0s

goroutine 161 [running]:
testing.startAlarm.func1()
    /home/work/go-github-64k/src/testing/testing.go:702 +0x12c
created by time.goFunc
    /home/work/go-github-64k/src/time/sleep.go:129 +0x3c

goroutine 1 [chan receive]:
testing.RunTests(0x204300, 0x2a4900, 0x2a, 0x2a, 0x4820093401)
    /home/work/go-github-64k/src/testing/testing.go:561 +0x680
testing.(*M).Run(0x4820077ef0, 0x9e99c)
    /home/work/go-github-64k/src/testing/testing.go:493 +0x84
main.main()
    sync/atomic/_test/_testmain.go:140 +0x118

goroutine 153 [chan receive]:
sync/atomic_test.TestStoreLoadSeqCst32(0x482014e000)
    /home/work/go-github-64k/src/sync/atomic/atomic_test.go:1239 +0x314
testing.tRunner(0x482014e000, 0x2a4c00)
    /home/work/go-github-64k/src/testing/testing.go:455 +0xbc
created by testing.RunTests
    /home/work/go-github-64k/src/testing/testing.go:560 +0x654
FAIL    sync/atomic 120.018s

4. other faults

panic: test timed out after 2m0s

goroutine 441 [running]:
testing.startAlarm.func1()
    /home/work/go-github-64k/src/testing/testing.go:702 +0x12c
created by time.goFunc
    /home/work/go-github-64k/src/time/sleep.go:129 +0x3c

goroutine 1 [chan receive]:
testing.RunTests(0xa711d8, 0xc0e700, 0x7e, 0x7e, 0xa75601)
    /home/work/go-github-64k/src/testing/testing.go:581 +0x8a0
testing.(*M).Run(0x482066fef0, 0x6)
    /home/work/go-github-64k/src/testing/testing.go:493 +0x84
cmd/go_test.TestMain(0x482066fef0)
    /home/work/go-github-64k/src/cmd/go/go_test.go:89 +0x5f8
main.main()
    cmd/go/_test/_testmain.go:304 +0x114

goroutine 17 [syscall, 1 minutes, locked to thread]:
runtime.goexit()
    /home/work/go-github-64k/src/runtime/asm_arm64.s:1012 +0x4

goroutine 20 [syscall, 1 minutes]:
os/signal.loop()
    /home/work/go-github-64k/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
    /home/work/go-github-64k/src/os/signal/signal_unix.go:28 +0x3c

goroutine 157 [syscall]:
syscall.Syscall6(0x104, 0x4a66, 0x4820325948, 0x0, 0x48201a6000, 0x0, 0x0, 0x4820325928, 0x457ac0, 0x3ffb16b04b8)
    /home/work/go-github-64k/src/syscall/asm_linux_arm64.s:36 +0x8
syscall.wait4(0x4a66, 0x4820325948, 0x0, 0x48201a6000, 0x90, 0x0, 0x0)
    /home/work/go-github-64k/src/syscall/zsyscall_linux_arm64.go:172 +0x60
syscall.Wait4(0x4a66, 0x4820325990, 0x0, 0x48201a6000, 0x1, 0x0, 0x0)
    /home/work/go-github-64k/src/syscall/syscall_linux.go:256 +0x54
os.(*Process).wait(0x482000e5a0, 0x482033e000, 0x0, 0x0)
    /home/work/go-github-64k/src/os/exec_unix.go:22 +0xe0
os.(*Process).Wait(0x482000e5a0, 0x0, 0x0, 0x0)
    /home/work/go-github-64k/src/os/doc.go:45 +0x2c
os/exec.(*Cmd).Wait(0x48206bc140, 0x0, 0x0)
    /home/work/go-github-64k/src/os/exec/exec.go:379 +0x1e4
os/exec.(*Cmd).Run(0x48206bc140, 0x0, 0x0)
    /home/work/go-github-64k/src/os/exec/exec.go:257 +0x5c
cmd/go_test.(*testgoData).doRun(0x482026c8c0, 0x482000e280, 0x2, 0x2, 0x0, 0x0)
    /home/work/go-github-64k/src/cmd/go/go_test.go:255 +0x660
cmd/go_test.(*testgoData).run(0x482026c8c0, 0x482000e280, 0x2, 0x2)
    /home/work/go-github-64k/src/cmd/go/go_test.go:270 +0x38
cmd/go_test.TestInstalls(0x4820276480)
    /home/work/go-github-64k/src/cmd/go/go_test.go:1243 +0x8f4
testing.tRunner(0x4820276480, 0xc0ebf8)
    /home/work/go-github-64k/src/testing/testing.go:455 +0xbc
created by testing.RunTests
    /home/work/go-github-64k/src/testing/testing.go:560 +0x654

goroutine 158 [chan receive, 1 minutes]:
testing.RunTests.func1(0x48200a8660, 0x4820276480)
    /home/work/go-github-64k/src/testing/testing.go:564 +0x40
created by testing.RunTests
    /home/work/go-github-64k/src/testing/testing.go:565 +0x6d0

goroutine 563 [syscall]:
syscall.Syscall(0x3f, 0x6, 0x48206d0000, 0x200, 0x0, 0x48200f1001, 0x0)
    /home/work/go-github-64k/src/syscall/asm_linux_arm64.s:10 +0x8
syscall.read(0x6, 0x48206d0000, 0x200, 0x200, 0x9675c0, 0x0, 0x0)
    /home/work/go-github-64k/src/syscall/zsyscall_linux_arm64.go:783 +0x68
syscall.Read(0x6, 0x48206d0000, 0x200, 0x200, 0xc28e60, 0x0, 0x0)
    /home/work/go-github-64k/src/syscall/syscall_unix.go:160 +0x48
os.(*File).read(0x48200ca048, 0x48206d0000, 0x200, 0x200, 0xa70501, 0x0, 0x0)
    /home/work/go-github-64k/src/os/file_unix.go:211 +0x50
os.(*File).Read(0x48200ca048, 0x48206d0000, 0x200, 0x200, 0x482026d040, 0x0, 0x0)
    /home/work/go-github-64k/src/os/file.go:95 +0x84
bytes.(*Buffer).ReadFrom(0x482026c990, 0x3ffaf2f4550, 0x48200ca048, 0x0, 0x0, 0x0)
    /home/work/go-github-64k/src/bytes/buffer.go:173 +0x200
io.copyBuffer(0x3ffaeab0298, 0x482026c990, 0x3ffaf2f4550, 0x48200ca048, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /home/work/go-github-64k/src/io/io.go:375 +0x120
io.Copy(0x3ffaeab0298, 0x482026c990, 0x3ffaf2f4550, 0x48200ca048, 0x310b8, 0x0, 0x0)
    /home/work/go-github-64k/src/io/io.go:351 +0x54
os/exec.(*Cmd).writerDescriptor.func1(0x0, 0x0)
    /home/work/go-github-64k/src/os/exec/exec.go:232 +0xa4
os/exec.(*Cmd).Start.func1(0x482000e340, 0x48206bc140)
    /home/work/go-github-64k/src/os/exec/exec.go:339 +0x20
created by os/exec.(*Cmd).Start
    /home/work/go-github-64k/src/os/exec/exec.go:340 +0x8a4

goroutine 562 [syscall]:
syscall.Syscall(0x3f, 0x4, 0x4820786000, 0x600, 0x0, 0x4820784000, 0x0)
    /home/work/go-github-64k/src/syscall/asm_linux_arm64.s:10 +0x8
syscall.read(0x4, 0x4820786000, 0x600, 0x600, 0x0, 0x0, 0x0)
    /home/work/go-github-64k/src/syscall/zsyscall_linux_arm64.go:783 +0x68
syscall.Read(0x4, 0x4820786000, 0x600, 0x600, 0xc28e60, 0x0, 0x0)
    /home/work/go-github-64k/src/syscall/syscall_unix.go:160 +0x48
os.(*File).read(0x48200ca030, 0x4820786000, 0x600, 0x600, 0x1, 0x0, 0x0)
    /home/work/go-github-64k/src/os/file_unix.go:211 +0x50
os.(*File).Read(0x48200ca030, 0x4820786000, 0x600, 0x600, 0x1, 0x0, 0x0)
    /home/work/go-github-64k/src/os/file.go:95 +0x84
bytes.(*Buffer).ReadFrom(0x482026c920, 0x3ffaf2f4550, 0x48200ca030, 0x0, 0x0, 0x0)
    /home/work/go-github-64k/src/bytes/buffer.go:173 +0x200
io.copyBuffer(0x3ffaeab0298, 0x482026c920, 0x3ffaf2f4550, 0x48200ca030, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /home/work/go-github-64k/src/io/io.go:375 +0x120
io.Copy(0x3ffaeab0298, 0x482026c920, 0x3ffaf2f4550, 0x48200ca030, 0x0, 0x0, 0x0)
    /home/work/go-github-64k/src/io/io.go:351 +0x54
os/exec.(*Cmd).writerDescriptor.func1(0x0, 0x0)
    /home/work/go-github-64k/src/os/exec/exec.go:232 +0xa4
os/exec.(*Cmd).Start.func1(0x482000e300, 0x48206bc140)
    /home/work/go-github-64k/src/os/exec/exec.go:339 +0x20
created by os/exec.(*Cmd).Start
    /home/work/go-github-64k/src/os/exec/exec.go:340 +0x8a4
FAIL    cmd/go  132.422s
@davecheney
Copy link
Contributor

2.garbage_test error

This is #9993

What hardware are you running on ?

@jefby
Copy link
Author

jefby commented Jul 30, 2015

@davecheney Cavium ARM64 board.

@davecheney
Copy link
Contributor

Thanks. I was going to say you were out of physical memory (you probably
need at least 512mb per core), but on that system it is unlikely.

On Thu, Jul 30, 2015 at 7:19 PM, jefby notifications@github.com wrote:

@davecheney https://github.com/davecheney Cavium ARM64 board.


Reply to this email directly or view it on GitHub
#11933 (comment).

@mikioh
Copy link
Contributor

mikioh commented Jul 30, 2015

@jefby,

Please open a new issue for the TestIPv4MulticastListener error. It may be irrelevant to linux/arm64 port.

@jefby
Copy link
Author

jefby commented Jul 30, 2015

@davecheney But the real physical memeory is 64GB,i think every core has larger than 512MB.

@davecheney
Copy link
Contributor

Thanks for confirming. In the past we have seen timeouts related to
swapping. This is not the case in your situation, please disregard my
previous suggestion.

On Thu, Jul 30, 2015 at 7:27 PM, jefby notifications@github.com wrote:

@davecheney https://github.com/davecheney But the real physical memeory
is 64GB,i think every core has larger than 512MB.


Reply to this email directly or view it on GitHub
#11933 (comment).

@mwhudson
Copy link
Contributor

Well, Cavium systems have very high CPU counts. How many cores do you have?

@jefby
Copy link
Author

jefby commented Jul 30, 2015

@mwhudson 48 cores

@ianlancetaylor
Copy link
Member

It looks like you are reporting three different problems.

The error in TestFreeOSMemory looks like a real problem that needs to be addressed one way or another.

The other two errors are timeouts, one in sync/atomic, one in cmd/go. Can you please run "go -test.short sync/atomic cmd/go" to see if the problems are repeatable? It may just be that the timeouts are too short for your system. The cmd/go test in particular takes a long time to run.

@ianlancetaylor ianlancetaylor added this to the Go1.5 milestone Jul 30, 2015
@ianlancetaylor
Copy link
Member

CC @rsc @aclements @RLH (for the error reported in TestFreeOSMemory)

@aclements
Copy link
Member

--- FAIL: TestFreeOSMemory (0.00s)
    garbage_test.go:105: released before=0; released after=0; did not go up
allocating objects

The scavenger is currently disabled if _PhysPageSize > _PageSize. This is issue #9993. I actually don't understand why this test isn't failing on the dashboard for arm64 and ppc64x.

@aclements
Copy link
Member

I actually don't understand why this test isn't failing on the dashboard for arm64 and ppc64x.

Oh, duh, it's skipped on arm64 and ppc64x. @jefby, you didn't mention what version you're running; it must be before commit 7a63ab1, since that increased the arm64 page size to 64k and disabled that test on arm64.

@rsc
Copy link
Contributor

rsc commented Jul 30, 2015

Please try Go 1.5 beta 3 and open new, separate issues for problems you find. The page size one is definitely fixed. Thanks.

@rsc rsc closed this as completed Jul 30, 2015
@mikioh mikioh changed the title arm64 64k PAGE_SIZE compile all.bash testcase error. runtime: arm64 64k PAGE_SIZE compile all.bash testcase error. Jul 31, 2015
@golang golang locked and limited conversation to collaborators Aug 5, 2016
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

8 participants