Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(3113)

Issue 6456044: Go ThreadSanitizer snapshot (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 8 months ago by dvyukov
Modified:
11 years, 5 months ago
Reviewers:
rsc
Visibility:
Public.

Patch Set 1 #

Patch Set 2 : against rev 13819 #

Patch Set 3 : - #

Patch Set 4 : - #

Patch Set 5 : against rev 13877 #

Patch Set 6 : against rev 14014 #

Patch Set 7 : - #

Total comments: 21

Patch Set 8 : against 4a134ae55086 #

Patch Set 9 : - #

Patch Set 10 : - #

Unified diffs Side-by-side diffs Delta from patch set Stats (+6083 lines, -299 lines) Patch
M src/cmd/6l/obj.c View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -0 lines 0 comments Download
M src/cmd/cgo/main.go View 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/cgo/out.go View 1 chunk +6 lines, -2 lines 0 comments Download
M src/cmd/fix/main_test.go View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/gc/builtin.c View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M src/cmd/gc/go.h View 2 chunks +6 lines, -0 lines 0 comments Download
M src/cmd/gc/lex.c View 1 2 3 4 5 6 7 8 9 3 chunks +15 lines, -4 lines 0 comments Download
M src/cmd/gc/pgen.c View 1 chunk +4 lines, -0 lines 0 comments Download
A src/cmd/gc/racewalk.c View 1 2 3 4 5 1 chunk +503 lines, -0 lines 0 comments Download
M src/cmd/gc/reflect.c View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/cmd/gc/runtime.go View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M src/cmd/go/build.go View 1 2 3 4 5 6 7 8 9 8 chunks +27 lines, -1 line 0 comments Download
M src/cmd/go/pkg.go View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M src/cmd/go/run.go View 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/go/test.go View 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/go/testflag.go View 2 chunks +2 lines, -1 line 0 comments Download
M src/cmd/ld/lib.c View 1 2 3 4 5 6 7 8 9 3 chunks +8 lines, -1 line 0 comments Download
M src/pkg/fmt/fmt_test.go View 1 2 3 4 5 6 7 2 chunks +0 lines, -39 lines 0 comments Download
A src/pkg/fmt/mallocs_test.go View 1 2 3 4 5 6 7 1 chunk +50 lines, -0 lines 0 comments Download
M src/pkg/go/build/build.go View 1 2 3 4 5 2 chunks +6 lines, -1 line 0 comments Download
M src/pkg/go/build/deps_test.go View 1 2 3 4 5 6 7 2 chunks +4 lines, -1 line 0 comments Download
A src/pkg/io/ioutil/blackhole.go View 1 2 3 4 5 6 7 8 9 1 chunk +13 lines, -0 lines 0 comments Download
A src/pkg/io/ioutil/blackhole_race.go View 1 2 3 4 5 6 7 8 9 1 chunk +13 lines, -0 lines 0 comments Download
M src/pkg/io/ioutil/ioutil.go View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -3 lines 0 comments Download
M src/pkg/net/tcpsock_posix.go View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M src/pkg/runtime/cgocall.c View 1 2 3 4 5 3 chunks +78 lines, -57 lines 0 comments Download
M src/pkg/runtime/chan.c View 1 2 3 4 5 6 7 20 chunks +49 lines, -4 lines 0 comments Download
M src/pkg/runtime/hashmap.c View 1 2 3 4 5 6 7 8 10 chunks +24 lines, -1 line 0 comments Download
M src/pkg/runtime/malloc.goc View 1 2 3 4 5 6 7 4 chunks +17 lines, -2 lines 0 comments Download
M src/pkg/runtime/mgc0.c View 1 2 2 chunks +4 lines, -0 lines 0 comments Download
M src/pkg/runtime/proc.c View 1 2 3 4 5 6 7 7 chunks +14 lines, -2 lines 0 comments Download
A src/pkg/runtime/race.h View 1 2 3 4 1 chunk +30 lines, -0 lines 0 comments Download
A src/pkg/runtime/race.c View 1 2 3 4 5 6 7 1 chunk +251 lines, -0 lines 0 comments Download
A src/pkg/runtime/race.go View 1 2 1 chunk +25 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/README View 1 2 1 chunk +28 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/atomic_test.go View 1 2 1 chunk +228 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/cgo_test.go View 1 2 3 4 5 1 chunk +23 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/cgo_test_main.go View 1 2 3 4 5 1 chunk +43 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/chan_test.go View 1 2 3 4 1 chunk +460 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/comp_test.go View 1 2 3 4 1 chunk +135 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/finalizer_test.go View 1 2 3 4 5 1 chunk +39 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/io_test.go View 1 2 3 4 5 1 chunk +72 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/map_test.go View 1 2 1 chunk +152 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/mop_test.go View 1 2 3 4 5 1 chunk +1217 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/mutex_test.go View 1 2 3 4 5 1 chunk +141 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/race.go View 1 2 3 4 1 chunk +103 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/race_darwin_amd64.syso View 1 2 3 4 5 Binary file 0 comments Download
A src/pkg/runtime/race/race_linux_amd64.syso View 1 2 3 4 5 6 7 Binary file 0 comments Download
A src/pkg/runtime/race/race_test.go View 1 2 3 4 5 1 chunk +129 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/regression_test.go View 1 2 3 4 5 1 chunk +38 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/rwmutex_test.go View 1 2 1 chunk +137 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/select_test.go View 1 2 1 chunk +289 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/slice_test.go View 1 2 1 chunk +446 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/stress_test.go View 1 2 1 chunk +58 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/stub.go View 1 2 3 4 1 chunk +25 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/sync_test.go View 1 2 1 chunk +200 lines, -0 lines 0 comments Download
A src/pkg/runtime/race/waitgroup_test.go View 1 2 3 4 5 1 chunk +235 lines, -0 lines 0 comments Download
A src/pkg/runtime/race0.c View 1 2 3 4 5 6 7 1 chunk +103 lines, -0 lines 0 comments Download
M src/pkg/runtime/runtime.h View 1 2 3 4 5 6 7 3 chunks +4 lines, -1 line 0 comments Download
M src/pkg/runtime/slice.c View 1 2 9 chunks +54 lines, -2 lines 0 comments Download
M src/pkg/runtime/time.goc View 1 2 3 chunks +5 lines, -0 lines 0 comments Download
M src/pkg/sync/atomic/asm_386.s View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/pkg/sync/atomic/asm_amd64.s View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/pkg/sync/atomic/asm_arm.s View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/pkg/sync/atomic/asm_linux_arm.s View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/pkg/sync/atomic/doc.go View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
A src/pkg/sync/atomic/race.go View 1 2 3 4 5 1 chunk +234 lines, -0 lines 0 comments Download
M src/pkg/sync/cond.go View 1 2 6 chunks +18 lines, -0 lines 0 comments Download
M src/pkg/sync/mutex.go View 1 2 4 chunks +15 lines, -1 line 0 comments Download
A src/pkg/sync/race.go View 1 2 3 4 5 1 chunk +34 lines, -0 lines 0 comments Download
A src/pkg/sync/race0.go View 1 2 3 4 5 6 7 1 chunk +28 lines, -0 lines 0 comments Download
M src/pkg/sync/rwmutex.go View 1 2 3 4 5 8 chunks +35 lines, -1 line 0 comments Download
M src/pkg/sync/waitgroup.go View 1 2 3 4 5 5 chunks +28 lines, -1 line 0 comments Download
A src/pkg/syscall/race.go View 1 2 3 4 5 1 chunk +34 lines, -0 lines 0 comments Download
A src/pkg/syscall/race0.go View 1 2 3 4 5 6 7 1 chunk +28 lines, -0 lines 0 comments Download
M src/pkg/syscall/syscall_darwin.go View 1 2 3 4 5 3 chunks +38 lines, -2 lines 0 comments Download
M src/pkg/syscall/syscall_linux.go View 1 2 3 4 5 6 7 3 chunks +38 lines, -2 lines 0 comments Download
M src/pkg/syscall/zsyscall_darwin_386.go View 1 2 3 4 5 2 chunks +0 lines, -34 lines 0 comments Download
M src/pkg/syscall/zsyscall_darwin_amd64.go View 1 2 3 4 5 2 chunks +0 lines, -34 lines 0 comments Download
M src/pkg/syscall/zsyscall_linux_386.go View 1 2 3 4 5 2 chunks +0 lines, -34 lines 0 comments Download
M src/pkg/syscall/zsyscall_linux_amd64.go View 1 2 3 4 5 2 chunks +0 lines, -34 lines 0 comments Download
M src/pkg/syscall/zsyscall_linux_arm.go View 1 2 3 4 5 2 chunks +0 lines, -34 lines 0 comments Download

Messages

Total messages: 2
rsc
http://codereview.appspot.com/6456044/diff/8004/src/cmd/gc/lex.c File src/cmd/gc/lex.c (right): http://codereview.appspot.com/6456044/diff/8004/src/cmd/gc/lex.c#newcode575 src/cmd/gc/lex.c:575: if(0) { //ALWAYSRACE Why are these here? Isn't setting ...
11 years, 7 months ago (2012-08-31 15:28:13 UTC) #1
dvyukov
11 years, 7 months ago (2012-08-31 15:49:47 UTC) #2
Thanks! I will address the comments.

https://codereview.appspot.com/6456044/diff/8004/src/cmd/gc/lex.c
File src/cmd/gc/lex.c (right):

https://codereview.appspot.com/6456044/diff/8004/src/cmd/gc/lex.c#newcode575
src/cmd/gc/lex.c:575: if(0) { //ALWAYSRACE
On 2012/08/31 15:28:13, rsc wrote:
> Why are these here? Isn't setting debug['b'] in lex.c enough?

Yes, this will go away.
It was a last minute hack to preserve race-enabled packages in usual dirs in the
other build system. I will just align that other build system with go tool (i.e.
move race-enabled packages to linux_amd64_race).

https://codereview.appspot.com/6456044/diff/8004/src/cmd/go/build.go
File src/cmd/go/build.go (right):

https://codereview.appspot.com/6456044/diff/8004/src/cmd/go/build.go#newcode1748
src/cmd/go/build.go:1748: raceTag := "norace"
On 2012/08/31 15:28:13, rsc wrote:
> This should not exist. Just add to BuildTags during if buildRace, and in the
> files where you have 
> 
> // +build norace
> 
> replace that with
> 
> // +build !race

Aha! OK.

https://codereview.appspot.com/6456044/diff/8004/src/pkg/runtime/chan.c
File src/pkg/runtime/chan.c (right):

https://codereview.appspot.com/6456044/diff/8004/src/pkg/runtime/chan.c#newco...
src/pkg/runtime/chan.c:874: } else {
On 2012/08/31 15:28:13, rsc wrote:
> Delete all these new trailing tabs.

OK

https://codereview.appspot.com/6456044/diff/8004/src/pkg/runtime/chan.c#newco...
src/pkg/runtime/chan.c:890: sg = dequeue(&c->recvq);
On 2012/08/31 15:28:13, rsc wrote:
> Delete all these new trailing tabs.

OK

https://codereview.appspot.com/6456044/diff/8004/src/pkg/runtime/hashmap.c
File src/pkg/runtime/hashmap.c (right):

https://codereview.appspot.com/6456044/diff/8004/src/pkg/runtime/hashmap.c#ne...
src/pkg/runtime/hashmap.c:836: if(raceenabled && h)
On 2012/08/31 15:28:13, rsc wrote:
> h != nil please

OK

https://codereview.appspot.com/6456044/diff/8004/src/pkg/runtime/malloc.goc
File src/pkg/runtime/malloc.goc (right):

https://codereview.appspot.com/6456044/diff/8004/src/pkg/runtime/malloc.goc#n...
src/pkg/runtime/malloc.goc:109: if(raceenabled && g->goid > 0) {
On 2012/08/31 15:28:13, rsc wrote:
> I don't know what g->goid > 0 is trying to test, which suggests it is not the
> right test.
> 
> Did you mean g != m->g0?

Good question... I think it may be just (raceenabled && m->racepc != nil) since
I set racepc only in few places.

https://codereview.appspot.com/6456044/diff/8004/src/pkg/runtime/proc.c
File src/pkg/runtime/proc.c (right):

https://codereview.appspot.com/6456044/diff/8004/src/pkg/runtime/proc.c#newco...
src/pkg/runtime/proc.c:1292: runtime·racegostart(goid-1, callerpc);
On 2012/08/31 15:28:13, rsc wrote:
> Why is this goid - 1?

Because tsan expects thread ids to start from 0. But I think it may be moved to
the tsan runtime side.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b