We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
by consalus:
Using 6g on darwin at 0c8b700cc391+ tip, when I run "make bench" in src/pkg/time/ with GOMAXPROCS > 1, I get various errors when BenchmarkStop runs. It doesn't happen every time, but most of the time. The stack trace varies a bit. Here is one example: time_test.BenchmarkAfterFunc 100000 16142 ns/op time_test.BenchmarkAfter 100000 18120 ns/op panic: invalid memory address or nil pointer dereference throw: panic during gc [signal 0xb code=0x1 addr=0x0 pc=0x97c6] runtime.throw+0x3b /Users/username/code/go/src/pkg/runtime/runtime.c:78 runtime.throw(0x1538c8, 0x153c47) runtime.panicstring+0x51 /Users/username/code/go/src/pkg/runtime/runtime.c:89 runtime.panicstring(0x153c47, 0x0) runtime.sigpanic+0x144 /Users/username/code/go/src/pkg/runtime/darwin/thread.c:469 runtime.sigpanic() ReleaseN+0x30 /Users/username/code/go/src/pkg/runtime/mcache.c:64 ReleaseN(0x2170000, 0x2170030, 0x3000000e0, 0xf83fffff00, 0xf840147d08, ...) runtime.MCache_ReleaseAll+0x53 /Users/username/code/go/src/pkg/runtime/mcache.c:128 runtime.MCache_ReleaseAll(0x2170000, 0xe9db) stealcache+0x3a /Users/username/code/go/src/pkg/runtime/mgc0.c:500 stealcache() runtime.gc+0x1ca /Users/username/code/go/src/pkg/runtime/mgc0.c:577 runtime.gc(0xf800000001, 0xf840000dc0) runfinq+0x112 /Users/username/code/go/src/pkg/runtime/mgc0.c:657 runfinq() runtime.goexit /Users/username/code/go/src/pkg/runtime/proc.c:149 runtime.goexit() goroutine 330315 [3]: runtime.entersyscall+0x28 /Users/username/code/go/src/pkg/runtime/proc.c:577 runtime.entersyscall() syscall.Syscall6+0x5 /Users/username/code/go/src/pkg/syscall/asm_darwin_amd64.s:38 syscall.Syscall6() syscall.Select+0x66 /Users/username/code/go/src/pkg/syscall/zsyscall_darwin_amd64.go:704 syscall.Select(0x0, 0x0, 0x0, 0x0, 0xf84001bfc0, ...) syscall.Sleep+0x7a /Users/username/code/go/src/pkg/syscall/syscall_bsd.go:145 syscall.Sleep(0x3b90b3f8, 0xf84001bf00, 0x7b420, 0xf8400cd040) time.sleeper+0xa9 /Users/username/code/go/src/pkg/time/sleep.go:154 time.sleeper(0x35c30, 0x0) runtime.goexit /Users/username/code/go/src/pkg/runtime/proc.c:149 runtime.goexit() fmt.*pp·fmtUint64+0x137 /Users/username/code/go/src/pkg/fmt/print.go:384 fmt.*pp·fmtUint64(0x0, 0x0, 0x0, 0x0, 0x0, ...) goroutine 1 [1]: runtime.gosched+0x77 /Users/username/code/go/src/pkg/runtime/proc.c:558 runtime.gosched() runtime.exitsyscall+0xa2 /Users/username/code/go/src/pkg/runtime/proc.c:624 runtime.exitsyscall() syscall.Syscall+0x61 /Users/username/code/go/src/pkg/syscall/asm_darwin_amd64.s:34 syscall.Syscall() syscall.gettimeofday+0x45 /Users/username/code/go/src/pkg/syscall/zsyscall_darwin_amd64.go:922 syscall.gettimeofday(0xf840121a60, 0x29, 0x9279, 0x10, 0x40, ...) syscall.Gettimeofday+0x27 /Users/username/code/go/src/pkg/syscall/syscall_darwin_amd64.go:31 syscall.Gettimeofday(0xf840121a60, 0xf840121a60, 0x10, 0xf840099e40) os.Time+0x4e /Users/username/code/go/src/pkg/os/time.go:16 os.Time(0xf840099e40, 0x100000000, 0x0, 0x0, 0x500002ea1, ...) time.Nanoseconds+0x1c /Users/username/code/go/src/pkg/time/time.go:26 time.Nanoseconds(0x400000003, 0x4deb) time.after+0x1f /Users/username/code/go/src/pkg/time/sleep.go:119 time.after(0x3b9aca00, 0xf840099e40, 0xf840000958, 0xf840099e40, 0xf840000958, ...) time.NewTimer+0x83 /Users/username/code/go/src/pkg/time/sleep.go:78 time.NewTimer(0x3b9aca00, 0xf8400d7001, 0x4a9344f55ee00, 0x19456) /Users/username/code/go/src/pkg/time/_xtest_.BenchmarkStop+0x36 /Users/username/code/go/src/pkg/time/sleep_test.go:75 /Users/username/code/go/src/pkg/time/_xtest_.BenchmarkStop(0xf840099d80, 0x19669) testing.*B·runN+0x48 /Users/username/code/go/src/pkg/testing/benchmark.go:72 testing.*B·runN(0xf840099d80, 0x7a120, 0x1, 0x7a12000002710) testing.*B·run+0xda /Users/username/code/go/src/pkg/testing/benchmark.go:141 testing.*B·run(0xf840099d80, 0xf840099d80, 0x6ae30, 0x17) testing.RunBenchmarks+0x1d5 /Users/username/code/go/src/pkg/testing/benchmark.go:199 testing.RunBenchmarks(0x1e40b, 0xf8400323c0, 0x800000008, 0x2a86) main.main+0x7b /Users/username/code/go/src/pkg/time/_testmain.go:41 main.main() runtime.mainstart+0xf /Users/username/code/go/src/pkg/runtime/amd64/asm.s:77 runtime.mainstart() runtime.goexit /Users/username/code/go/src/pkg/runtime/proc.c:149 runtime.goexit() make: *** [bench] Error 2 Here is another stack trace: time_test.BenchmarkAfterFunc 100000 16283 ns/op time_test.BenchmarkAfter 100000 18473 ns/op panic: runtime error: invalid memory address or nil pointer dereference [signal 0xb code=0x1 addr=0x54 pc=0x13b8f] runtime.panic+0xa7 /Users/username/code/go/src/pkg/runtime/proc.c:1023 runtime.panic(0x77284, 0xf8400f7c20) runtime.panicstring+0xa3 /Users/username/code/go/src/pkg/runtime/runtime.c:92 runtime.panicstring(0x153c47, 0x2170400) runtime.sigpanic+0x144 /Users/username/code/go/src/pkg/runtime/darwin/thread.c:469 runtime.sigpanic() runtime.destroylock+0x1c /Users/username/code/go/src/pkg/runtime/darwin/thread.c:85 runtime.destroylock(0x50, 0xf840097c40) destroychan+0x29 /Users/username/code/go/src/pkg/runtime/chan.c:140 destroychan(0x0, 0xf840009500) ----- stack segment boundary ----- runfinq+0xc3 /Users/username/code/go/src/pkg/runtime/mgc0.c:650 runfinq() runtime.goexit /Users/username/code/go/src/pkg/runtime/proc.c:149 runtime.goexit() goroutine 330314 [3]: runtime.entersyscall+0x28 /Users/username/code/go/src/pkg/runtime/proc.c:577 runtime.entersyscall() syscall.Syscall6+0x5 /Users/username/code/go/src/pkg/syscall/asm_darwin_amd64.s:38 syscall.Syscall6() syscall.Select+0x66 /Users/username/code/go/src/pkg/syscall/zsyscall_darwin_amd64.go:704 syscall.Select(0x0, 0x0, 0x0, 0x0, 0xf8400e8f00, ...) syscall.Sleep+0x7a /Users/username/code/go/src/pkg/syscall/syscall_bsd.go:145 syscall.Sleep(0x3b95c0f0, 0xf8400e8ee0, 0x7b398, 0xf840097300) time.sleeper+0xa9 /Users/username/code/go/src/pkg/time/sleep.go:154 time.sleeper(0x35c2f, 0x0) runtime.goexit /Users/username/code/go/src/pkg/runtime/proc.c:149 runtime.goexit() fmt.*pp·fmtUint64+0xe4 /Users/username/code/go/src/pkg/fmt/print.go:395 fmt.*pp·fmtUint64(0x0, 0x0, 0x0, 0x0, 0x0, ...) goroutine 1 [3]: runtime.entersyscall+0x28 /Users/username/code/go/src/pkg/runtime/proc.c:577 runtime.entersyscall() syscall.Syscall+0x5 /Users/username/code/go/src/pkg/syscall/asm_darwin_amd64.s:14 syscall.Syscall() syscall.gettimeofday+0x45 /Users/username/code/go/src/pkg/syscall/zsyscall_darwin_amd64.go:922 syscall.gettimeofday(0x400000003, 0xf8400d0000, 0x9279, 0x10, 0x155088, ...) syscall.Gettimeofday+0x27 /Users/username/code/go/src/pkg/syscall/syscall_darwin_amd64.go:31 syscall.Gettimeofday(0x2000000008, 0xf8400e8ac0, 0xf800000001, 0x2cd88) runtime.mal+0x3f /Users/username/code/go/src/pkg/runtime/malloc.c:285 runtime.mal(0xf8400abd70, 0x8a86) make: *** [bench] Error 2
The text was updated successfully, but these errors were encountered:
Comment 1:
Reproduced very quickly on my machine. Excellent test case, thanks very much.
Owner changed to r...@golang.org.
Status changed to Accepted.
Sorry, something went wrong.
Comment 2:
I think this is the same problem as I mentioned in issue #1479. We were running the TestHilbert function with GOMAXPROCS>1 too.
Comment 3:
This issue was closed by revision 2509776.
Status changed to Fixed.
No branches or pull requests
by consalus:
The text was updated successfully, but these errors were encountered: