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
14628:3e39b4ebe5b1 tip Can be reproduced on: go test -bench=.* -benchtime=.1s -cpu=2 net/rpc WARNING: DATA RACE Write by goroutine 8: encoding/gob.decInt64() /usr/local/go/src/pkg/encoding/gob/decode.go:287 +0xcb encoding/gob.(*Decoder).decodeStruct() /usr/local/go/src/pkg/encoding/gob/decode.go:518 +0x336 encoding/gob.(*Decoder).decodeValue() /usr/local/go/src/pkg/encoding/gob/decode.go:1233 +0x3a3 encoding/gob.(*Decoder).DecodeValue() /usr/local/go/src/pkg/encoding/gob/decoder.go:225 +0x1a1 encoding/gob.(*Decoder).Decode() /usr/local/go/src/pkg/encoding/gob/decoder.go:202 +0x239 net/rpc.(*gobClientCodec).ReadResponseBody() /usr/local/go/src/pkg/net/rpc/client.go:218 +0x54 net/rpc.(*Client).input() /usr/local/go/src/pkg/net/rpc/client.go:141 +0x8c6 Previous read by goroutine 9: net/rpc.func·003() /usr/local/go/src/pkg/net/rpc/server_test.go:526 +0x1a7 Goroutine 8 (running) created at: net/rpc.NewClientWithCodec() /usr/local/go/src/pkg/net/rpc/client.go:192 +0xb7 net/rpc.NewClient() /usr/local/go/src/pkg/net/rpc/client.go:182 +0x19a net/rpc.Dial() /usr/local/go/src/pkg/net/rpc/client.go:265 +0xac net/rpc.dialDirect() /usr/local/go/src/pkg/net/rpc/server_test.go:430 +0x4a net/rpc.benchmarkEndToEnd() /usr/local/go/src/pkg/net/rpc/server_test.go:505 +0xa9 net/rpc.BenchmarkEndToEnd() /usr/local/go/src/pkg/net/rpc/server_test.go:584 +0x33 testing.(*B).runN() /usr/local/go/src/pkg/testing/benchmark.go:111 +0xb2 testing.(*B).launch() /usr/local/go/src/pkg/testing/benchmark.go:179 +0x5c Goroutine 9 (finished) created at: net/rpc.benchmarkEndToEnd() /usr/local/go/src/pkg/net/rpc/server_test.go:531 +0x34c net/rpc.BenchmarkEndToEnd() /usr/local/go/src/pkg/net/rpc/server_test.go:584 +0x33 testing.(*B).runN() /usr/local/go/src/pkg/testing/benchmark.go:111 +0xb2 testing.(*B).launch() /usr/local/go/src/pkg/testing/benchmark.go:179 +0x5c ================== The crux is (2 calls of makechan() and Client.Go()): call := <-client.Go(serviceMethod, args, reply, make(chan *Call, 1)).Done 441751: 48 c7 04 24 40 6c 66 movq $0x666c40,(%rsp) 441758: 00 441759: 48 c7 44 24 08 01 00 movq $0x1,0x8(%rsp) 441760: 00 00 441762: e8 29 17 fc ff callq 402e90 <runtime.makechan> 441767: 48 8b 5c 24 10 mov 0x10(%rsp),%rbx 44176c: 48 89 5c 24 38 mov %rbx,0x38(%rsp) 441771: 48 8b 5c 24 58 mov 0x58(%rsp),%rbx 441776: 48 89 1c 24 mov %rbx,(%rsp) 44177a: 48 8b 5c 24 60 mov 0x60(%rsp),%rbx 44177f: 48 89 5c 24 08 mov %rbx,0x8(%rsp) 441784: 48 8b 5c 24 68 mov 0x68(%rsp),%rbx 441789: 48 89 5c 24 10 mov %rbx,0x10(%rsp) 44178e: 48 8b 5c 24 70 mov 0x70(%rsp),%rbx 441793: 48 89 5c 24 18 mov %rbx,0x18(%rsp) 441798: 48 8b 5c 24 78 mov 0x78(%rsp),%rbx 44179d: 48 89 5c 24 20 mov %rbx,0x20(%rsp) 4417a2: 48 8b 9c 24 80 00 00 mov 0x80(%rsp),%rbx 4417a9: 00 4417aa: 48 89 5c 24 28 mov %rbx,0x28(%rsp) 4417af: 48 8b 9c 24 88 00 00 mov 0x88(%rsp),%rbx 4417b6: 00 4417b7: 48 89 5c 24 30 mov %rbx,0x30(%rsp) 4417bc: e8 df fc ff ff callq 4414a0 <net/rpc.(*Client).Go> 4417c1: 48 8b 5c 24 40 mov 0x40(%rsp),%rbx 4417c6: 48 89 1c 24 mov %rbx,(%rsp) 4417ca: 48 83 04 24 40 addq $0x40,(%rsp) 4417cf: e8 1c 24 fd ff callq 413bf0 <runtime.raceread> 4417d4: 48 c7 04 24 40 6c 66 movq $0x666c40,(%rsp) 4417db: 00 4417dc: 48 c7 44 24 08 01 00 movq $0x1,0x8(%rsp) 4417e3: 00 00 4417e5: e8 a6 16 fc ff callq 402e90 <runtime.makechan> 4417ea: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp 4417ef: 48 89 6c 24 38 mov %rbp,0x38(%rsp) 4417f4: 48 8b 6c 24 58 mov 0x58(%rsp),%rbp 4417f9: 48 89 2c 24 mov %rbp,(%rsp) 4417fd: 48 8b 6c 24 60 mov 0x60(%rsp),%rbp 441802: 48 89 6c 24 08 mov %rbp,0x8(%rsp) 441807: 48 8b 6c 24 68 mov 0x68(%rsp),%rbp 44180c: 48 89 6c 24 10 mov %rbp,0x10(%rsp) 441811: 48 8b 6c 24 70 mov 0x70(%rsp),%rbp 441816: 48 89 6c 24 18 mov %rbp,0x18(%rsp) 44181b: 48 8b 6c 24 78 mov 0x78(%rsp),%rbp 441820: 48 89 6c 24 20 mov %rbp,0x20(%rsp) 441825: 48 8b ac 24 80 00 00 mov 0x80(%rsp),%rbp 44182c: 00 44182d: 48 89 6c 24 28 mov %rbp,0x28(%rsp) 441832: 48 8b ac 24 88 00 00 mov 0x88(%rsp),%rbp 441839: 00 44183a: 48 89 6c 24 30 mov %rbp,0x30(%rsp) 44183f: e8 5c fc ff ff callq 4414a0 <net/rpc.(*Client).Go> 441844: 48 8b 5c 24 40 mov 0x40(%rsp),%rbx 441849: 48 8b 6b 40 mov 0x40(%rbx),%rbp 44184d: 48 89 6c 24 08 mov %rbp,0x8(%rsp) 441852: 48 c7 04 24 40 6c 66 movq $0x666c40,(%rsp) 441859: 00 44185a: e8 d1 22 fc ff callq 403b30 <runtime.chanrecv1> 44185f: 48 8b 5c 24 10 mov 0x10(%rsp),%rbx 441864: 48 89 5c 24 48 mov %rbx,0x48(%rsp)
The text was updated successfully, but these errors were encountered:
Comment 1:
This issue was closed by revision abb313f.
Status changed to Fixed.
Sorry, something went wrong.
No branches or pull requests
The text was updated successfully, but these errors were encountered: