go2

module
v0.0.0-...-fc2ec5c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 11, 2022 License: MIT

README

GoRace Detector

Build and install the tool

Make sure Go is installed in the system. In go2/gorace, execute

go build

Dependencies will be automatically downloaded. By default, the built artifact is named gorace.

Install the tool in the PATH by executing

go install
Configuration

Update the gorace.yml file (located under go2/gorace) with your preferred config options and place it under the directory where gorace will be executed at.

Running the tool

Use the -show flag to show call stack of racy accesses.

gorace -show ./
Running on gRPC

After installing race-checker, go to the root directory of the gRPC repo,

Execute race-checker in the main directory of a Go program, followed by the path with which to start analysis from,

gorace ./

or

gorace ./examples/helloworld/greeter_client

When multiple entry points are identified like shown below,

Image of screenshot

gorace will request your input for which entry-points to analyze,

Image of screenshot

For example, if you would like to analyze entry points 1 to 20, just enter 1-20

or if you would like to analyze the entry point google.golang.org/grpc/examples/helloworld/greeter_client, just enter 44 as shown in screenshot above.

or use the -analyzeAll flag since the very beginning if trying to run all entry points,

gorace -analyzeAll ./

Directories

Path Synopsis
Check if we can distinguish accesses to different fields
Check if we can distinguish accesses to different fields
GoBench/Cockroach/27659 command
TestCockroach27659
TestCockroach27659
GoBench/Etcd/4876 command
TestEtcd4876 - PASS
TestEtcd4876 - PASS
GoBench/Grpc/1748 command
TestGrpc1748 - PASS
TestGrpc1748 - PASS
GoBench/Grpc/1862 command
TestGrpc1862
TestGrpc1862
GoBench/Grpc/3090 command
TestGrpc3090
TestGrpc3090
GoBench/Istio/16742 command
TestIstio16742
TestIstio16742
GoBench/Istio/8144 command
TestIstio8144
TestIstio8144
GoBench/Istio/8214 command
TestIstio8214
TestIstio8214
GoBench/Istio/8967 command
TestIstio8967 - PASS
TestIstio8967 - PASS
GoBench/Kubernetes/79631 command
TestKubernetes79631
TestKubernetes79631
GoBench/Kubernetes/80284 command
TestKubernetes80284
TestKubernetes80284
GoBench/Kubernetes/81091 command
TestKubernetes81091
TestKubernetes81091
GoBench/Kubernetes/81148 command
TestKubernetes81148
TestKubernetes81148
GoBench/Kubernetes/88331 command
TestKubernetes88331
TestKubernetes88331
GoBench/Serving/3148 command
TestServing3148
TestServing3148
godel2/loop command
pointe_analysis_test command
TestKubernetes81091
TestKubernetes81091

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL