-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Labels
Description
Concurrent access to BaseApp's state field at 0x00c00547e818. Read occurs in CreateQueryContext (abci.go:1231) during gRPC query handling while write happens in setState (baseapp.go:485) during block commit. Race between gRPC query handler and consensus commit goroutines.
==================
WARNING: DATA RACE
Read at 0x00c00547e818 by goroutine 2716:
runtime.raceread()
<autogenerated>:1 +0x1e
github.com/cosmos/cosmos-sdk/baseapp.(*state).Context()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk@v0.2.5-polygon/baseapp/state.go:32 +0x6a
github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).CreateQueryContext()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk@v0.2.5-polygon/baseapp/abci.go:1231 +0x2c4
github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).RegisterGRPCServer.func1()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk@v0.2.5-polygon/baseapp/grpcserver.go:47 +0x1a4
github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).RegisterGRPCServer.func2.ChainUnaryServer.2.1()
/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0xcd
github.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1()
/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/recovery/interceptors.go:33 +0x174
github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).RegisterGRPCServer.func2.ChainUnaryServer.2()
/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:53 +0x222
github.com/0xPolygon/heimdall-v2/x/bor/types._Query_GetLatestSpan_Handler()
/var/lib/heimdall/x/bor/types/query.pb.go:1039 +0x1d8
github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).RegisterGRPCServer.func2()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk@v0.2.5-polygon/baseapp/grpcserver.go:79 +0x1ad
google.golang.org/grpc.(*Server).processUnaryRPC()
/go/pkg/mod/google.golang.org/grpc@v1.70.0/server.go:1400 +0x1bc2
google.golang.org/grpc.(*Server).processUnaryRPC()
/go/pkg/mod/google.golang.org/grpc@v1.70.0/server.go:1356 +0x15e7
google.golang.org/grpc.(*Server).handleStream()
/go/pkg/mod/google.golang.org/grpc@v1.70.0/server.go:1810 +0x1372
google.golang.org/grpc.(*Server).serveStreams.func2.1()
/go/pkg/mod/google.golang.org/grpc@v1.70.0/server.go:1030 +0x158
Previous write at 0x00c00547e818 by goroutine 297:
github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).setState()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk@v0.2.5-polygon/baseapp/baseapp.go:485 +0x476
github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).Commit()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk@v0.2.5-polygon/baseapp/abci.go:954 +0x4e4
cosmossdk.io/store/rootmulti.commitStores()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:1196 +0x199
cosmossdk.io/store/rootmulti.commitStores()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:1196 +0x199
cosmossdk.io/store/rootmulti.commitStores()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:1196 +0x199
cosmossdk.io/store/rootmulti.commitStores()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:1196 +0x199
cosmossdk.io/store/rootmulti.commitStores()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:1196 +0x199
cosmossdk.io/store/rootmulti.commitStores()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:1196 +0x199
cosmossdk.io/store/rootmulti.commitStores()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:1196 +0x199
cosmossdk.io/store/rootmulti.commitStores()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:1196 +0x199
cosmossdk.io/store/rootmulti.commitStores()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:1196 +0x199
cosmossdk.io/store/rootmulti.commitStores()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:1196 +0x199
cosmossdk.io/store/rootmulti.commitStores()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:1196 +0x199
cosmossdk.io/store/rootmulti.(*Store).Commit()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk/store@v1.1.2-0.20241126102051-89dc71d02611/rootmulti/store.go:482 +0x36b
github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).Commit()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk@v0.2.5-polygon/baseapp/abci.go:931 +0x35a
github.com/cosmos/cosmos-sdk/server.cometABCIWrapper.Commit()
/go/pkg/mod/github.com/0x!polygon/cosmos-sdk@v0.2.5-polygon/server/cmt_abci.go:55 +0x4a
github.com/cosmos/cosmos-sdk/server.(*cometABCIWrapper).Commit()
{
"IPT_bytes_out": 21251248,
"output_text": "WARNING: DATA RACE",
"source": {
"container": "l2-cl-1-heimdall-v2-bor-validator--2388c5a8928f43ac9c93fae2c8d51179",
"name": "l2-cl-1-heimdall-v2-bor-validator--2388c5a8928f43ac9c93fae2c8d51179",
"stream": "info"
},
"moment": {
"input_hash": "-6832103619141409324",
"_vtime_ticks": 744012274498,
"session_id": "c0ceefcd588ee0d629772f6fd9eae1ec-36-12"
}
}