-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Labels
Description
Concurrent access to BaseApp's checkState field at 0x00c00126b7a0. Read occurs in CreateQueryContext (abci.go:1231) during gRPC query handling while write happens in setState (baseapp.go:495) during block commit. Race between query handler and consensus commit goroutines.
ESC[90m12:45AMESC[0m ESC[32mINFESC[0m ESC[1mexecuted blockESC[0m ESC[36mapp_hash=ESC[0m4E2F720CB2F29D3FC069F8AF8B2DDDA62797968521554D165E48D14A9ED539D9 ESC[36mheight=ESC[0m24 ESC[36mmodule=ESC[0mstate
ESC[90m12:45AMESC[0m ESC[32mINFESC[0m ESC[1mcommitted stateESC[0m ESC[36mblock_app_hash=ESC[0m3052AF6B5E89AF2404A53C4470D55A631C8B134CBBF8F1FF6288DB873738C5C7 ESC[36mheight=ESC[0m24 ESC[36mmodule=ESC[0mstate
ESC[90m12:45AMESC[0m ESC[32mINFESC[0m ESC[1mindexed block eventsESC[0m ESC[36mheight=ESC[0m24 ESC[36mmodule=ESC[0mtxindex
==================
WARNING: DATA RACE
Read at 0x00c00126b7a0 by goroutine 2716:
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 +0x2af
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 0x00c00126b7a0 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:495 +0x731
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()
<autogenerated>:1 +0x1b
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"
}
}