Skip to content
New issue

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

Enforce log.WithError(err) static analysis and fix all violations #11163

Merged
merged 18 commits into from
Aug 5, 2022
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
ed7f219
Use log.WithError static analysis from #11143 and fix all violations
prestonvanloon Aug 3, 2022
90eed6f
Merge branch 'develop' of github.com:prysmaticlabs/prysm into use-sa-…
prestonvanloon Aug 3, 2022
ed12d9d
Fix another log violation after pulling from develop
prestonvanloon Aug 3, 2022
c46b2ff
Merge refs/heads/develop into use-sa-from-11143
prylabs-bulldozer[bot] Aug 3, 2022
ba4d4c4
Update beacon-chain/sync/pending_blocks_queue.go
prestonvanloon Aug 3, 2022
e62ea4a
@potuz feedback
prestonvanloon Aug 3, 2022
31e69bf
Copy paste fail
prestonvanloon Aug 3, 2022
3e5526d
Merge refs/heads/develop into use-sa-from-11143
prylabs-bulldozer[bot] Aug 3, 2022
6ff9c70
Merge refs/heads/develop into use-sa-from-11143
prylabs-bulldozer[bot] Aug 3, 2022
81e7121
fix tests
prestonvanloon Aug 4, 2022
b4e0106
Merge branch 'develop' of github.com:prysmaticlabs/prysm into use-sa-…
prestonvanloon Aug 4, 2022
040705b
Merge refs/heads/develop into use-sa-from-11143
prylabs-bulldozer[bot] Aug 4, 2022
a6533d5
Merge refs/heads/develop into use-sa-from-11143
prylabs-bulldozer[bot] Aug 4, 2022
e809536
Merge refs/heads/develop into use-sa-from-11143
prylabs-bulldozer[bot] Aug 4, 2022
ff22286
Merge refs/heads/develop into use-sa-from-11143
prylabs-bulldozer[bot] Aug 4, 2022
30b5f95
Merge refs/heads/develop into use-sa-from-11143
prylabs-bulldozer[bot] Aug 4, 2022
90c2cd0
Merge refs/heads/develop into use-sa-from-11143
prylabs-bulldozer[bot] Aug 4, 2022
3b0b7ad
Merge refs/heads/develop into use-sa-from-11143
prylabs-bulldozer[bot] Aug 5, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ nogo(
"//tools/analyzers/gocognit:go_default_library",
"//tools/analyzers/ineffassign:go_default_library",
"//tools/analyzers/interfacechecker:go_default_library",
"//tools/analyzers/logruswitherror:go_default_library",
"//tools/analyzers/maligned:go_default_library",
"//tools/analyzers/nop:go_default_library",
"//tools/analyzers/properpermissions:go_default_library",
Expand Down
2 changes: 1 addition & 1 deletion beacon-chain/blockchain/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ func reportEpochMetrics(ctx context.Context, postState, headState state.BeaconSt
for i, validator := range postState.Validators() {
bal, err := postState.BalanceAtIndex(types.ValidatorIndex(i))
if err != nil {
log.Errorf("Could not load validator balance: %v", err)
log.WithError(err).Error("Could not load validator balance")
continue
}
if validator.Slashed {
Expand Down
4 changes: 2 additions & 2 deletions beacon-chain/blockchain/receive_block.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ func (s *Service) ReceiveBlockBatch(ctx context.Context, blocks []interfaces.Sig
// log.Fatalf will prevent defer from being called
span.End()
// Exit run time if the node failed to verify weak subjectivity checkpoint.
log.Fatalf("Could not verify weak subjectivity checkpoint: %v", err)
log.WithError(err).Fatal("Could not verify weak subjectivity checkpoint")
}

return nil
Expand All @@ -152,7 +152,7 @@ func (s *Service) handlePostBlockOperations(b interfaces.BeaconBlock) error {

// Add block attestations to the fork choice pool to compute head.
if err := s.cfg.AttPool.SaveBlockAttestations(b.Body().Attestations()); err != nil {
log.Errorf("Could not save block attestations for fork choice: %v", err)
log.WithError(err).Error("Could not save block attestations for fork choice")
return nil
}
// Mark block exits as seen so we don't include same ones in future blocks.
Expand Down
12 changes: 6 additions & 6 deletions beacon-chain/blockchain/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -395,12 +395,12 @@ func (s *Service) onExecutionChainStart(ctx context.Context, genesisTime time.Ti
preGenesisState := s.cfg.ChainStartFetcher.PreGenesisState()
initializedState, err := s.initializeBeaconChain(ctx, genesisTime, preGenesisState, s.cfg.ChainStartFetcher.ChainStartEth1Data())
if err != nil {
log.Fatalf("Could not initialize beacon chain: %v", err)
log.WithError(err).Fatal("Could not initialize beacon chain")
}
// We start a counter to genesis, if needed.
gRoot, err := initializedState.HashTreeRoot(s.ctx)
if err != nil {
log.Fatalf("Could not hash tree root genesis state: %v", err)
log.WithError(err).Fatal("Could not hash tree root genesis state")
}
go slots.CountdownToGenesis(ctx, genesisTime, uint64(initializedState.NumValidators()), gRoot)

Expand Down Expand Up @@ -473,7 +473,7 @@ func (s *Service) saveGenesisData(ctx context.Context, genesisState state.Beacon
s.cfg.StateGen.SaveFinalizedState(0 /*slot*/, genesisBlkRoot, genesisState)

if err := s.cfg.ForkChoiceStore.InsertNode(ctx, genesisState, genesisBlkRoot); err != nil {
log.Fatalf("Could not process genesis block for fork choice: %v", err)
log.WithError(err).Fatal("Could not process genesis block for fork choice")
}
s.cfg.ForkChoiceStore.SetOriginRoot(genesisBlkRoot)
// Set genesis as fully validated
Expand All @@ -483,7 +483,7 @@ func (s *Service) saveGenesisData(ctx context.Context, genesisState state.Beacon
s.cfg.ForkChoiceStore.SetGenesisTime(uint64(s.genesisTime.Unix()))

if err := s.setHead(genesisBlkRoot, genesisBlk, genesisState); err != nil {
log.Fatalf("Could not set head: %v", err)
log.WithError(err).Fatal("Could not set head")
}
return nil
}
Expand All @@ -508,11 +508,11 @@ func spawnCountdownIfPreGenesis(ctx context.Context, genesisTime time.Time, db d

gState, err := db.GenesisState(ctx)
if err != nil {
log.Fatalf("Could not retrieve genesis state: %v", err)
log.WithError(err).Fatal("Could not retrieve genesis state")
}
gRoot, err := gState.HashTreeRoot(ctx)
if err != nil {
log.Fatalf("Could not hash tree root genesis state: %v", err)
log.WithError(err).Fatal("Could not hash tree root genesis state")
}
go slots.CountdownToGenesis(ctx, genesisTime, uint64(gState.NumValidators()), gRoot)
}
4 changes: 2 additions & 2 deletions beacon-chain/cache/depositcache/pending_deposits.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ func (dc *DepositCache) RemovePendingDeposit(ctx context.Context, d *ethpb.Depos

depRoot, err := hash.HashProto(d)
if err != nil {
log.Errorf("Could not remove deposit %v", err)
log.WithError(err).Error("Could not remove deposit")
return
}

Expand All @@ -111,7 +111,7 @@ func (dc *DepositCache) RemovePendingDeposit(ctx context.Context, d *ethpb.Depos
for i, ctnr := range dc.pendingDeposits {
h, err := hash.HashProto(ctnr.Deposit)
if err != nil {
log.Errorf("Could not hash deposit %v", err)
log.WithError(err).Error("Could not hash deposit")
continue
}
if h == depRoot {
Expand Down
2 changes: 1 addition & 1 deletion beacon-chain/core/blocks/deposit.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ func ProcessDeposit(beaconState state.BeaconState, deposit *ethpb.Deposit, verif
}
if err := verifyDepositDataSigningRoot(deposit.Data, domain); err != nil {
// Ignore this error as in the spec pseudo code.
log.Debugf("Skipping deposit: could not verify deposit data signature: %v", err)
log.WithError(err).Debug("Skipping deposit: could not verify deposit data signature")
return beaconState, newValidator, nil
}
}
Expand Down
4 changes: 2 additions & 2 deletions beacon-chain/core/helpers/sync_committee.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func IsCurrentPeriodSyncCommittee(
// Fill in the cache on miss.
go func() {
if err := syncCommitteeCache.UpdatePositionsInCommittee(root, st); err != nil {
log.Errorf("Could not fill sync committee cache on miss: %v", err)
log.WithError(err).Error("Could not fill sync committee cache on miss")
}
}()

Expand Down Expand Up @@ -110,7 +110,7 @@ func CurrentPeriodSyncSubcommitteeIndices(
// Fill in the cache on miss.
go func() {
if err := syncCommitteeCache.UpdatePositionsInCommittee(root, st); err != nil {
log.Errorf("Could not fill sync committee cache on miss: %v", err)
log.WithError(err).Error("Could not fill sync committee cache on miss")
}
}()

Expand Down
16 changes: 8 additions & 8 deletions beacon-chain/deterministic-genesis/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,43 +63,43 @@ func (s *Service) Start() {
if s.cfg.GenesisPath != "" {
data, err := os.ReadFile(s.cfg.GenesisPath)
if err != nil {
log.Fatalf("Could not read pre-loaded state: %v", err)
log.WithError(err).Fatal("Could not read pre-loaded state")
}
genesisState := &ethpb.BeaconState{}
if err := genesisState.UnmarshalSSZ(data); err != nil {
log.Fatalf("Could not unmarshal pre-loaded state: %v", err)
log.WithError(err).Fatal("Could not unmarshal pre-loaded state")
}
genesisTrie, err := v1.InitializeFromProto(genesisState)
if err != nil {
log.Fatalf("Could not get state trie: %v", err)
log.WithError(err).Fatal("Could not get state trie")
}
if err := s.saveGenesisState(s.ctx, genesisTrie); err != nil {
log.Fatalf("Could not save interop genesis state %v", err)
log.WithError(err).Fatal("Could not save interop genesis state")
}
return
}

// Save genesis state in db
genesisState, _, err := interop.GenerateGenesisState(s.ctx, s.cfg.GenesisTime, s.cfg.NumValidators)
if err != nil {
log.Fatalf("Could not generate interop genesis state: %v", err)
log.WithError(err).Fatal("Could not generate interop genesis state")
}
genesisTrie, err := v1.InitializeFromProto(genesisState)
if err != nil {
log.Fatalf("Could not get state trie: %v", err)
log.WithError(err).Fatal("Could not get state trie")
}
if s.cfg.GenesisTime == 0 {
// Generated genesis time; fetch it
s.cfg.GenesisTime = genesisTrie.GenesisTime()
}
gRoot, err := genesisTrie.HashTreeRoot(s.ctx)
if err != nil {
log.Fatalf("Could not hash tree root genesis state: %v", err)
log.WithError(err).Fatal("Could not hash tree root genesis state")
}
go slots.CountdownToGenesis(s.ctx, time.Unix(int64(s.cfg.GenesisTime), 0), s.cfg.NumValidators, gRoot)

if err := s.saveGenesisState(s.ctx, genesisTrie); err != nil {
log.Fatalf("Could not save interop genesis state %v", err)
log.WithError(err).Fatal("Could not save interop genesis state")
}
}

Expand Down
4 changes: 2 additions & 2 deletions beacon-chain/execution/log_processing.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ func (s *Service) ProcessDepositLog(ctx context.Context, depositLog gethtypes.Lo
DepositCount: uint64(len(s.chainStartData.ChainstartDeposits)),
}
if err := s.processDeposit(ctx, eth1Data, deposit); err != nil {
log.Errorf("Invalid deposit processed: %v", err)
log.WithError(err).Error("Invalid deposit processed")
validData = false
}
} else {
Expand Down Expand Up @@ -236,7 +236,7 @@ func (s *Service) ProcessChainStart(genesisTime uint64, eth1BlockHash [32]byte,
for i := range s.chainStartData.ChainstartDeposits {
proof, err := s.depositTrie.MerkleProof(i)
if err != nil {
log.Errorf("unable to generate deposit proof %v", err)
log.WithError(err).Error("unable to generate deposit proof")
}
s.chainStartData.ChainstartDeposits[i].Proof = proof
}
Expand Down
4 changes: 2 additions & 2 deletions beacon-chain/execution/rpc_connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ func (s *Service) pollConnectionStatus(ctx context.Context) {
logCounter := 0
errorLogger := func(err error, msg string) {
if logCounter > logThreshold {
log.Errorf("%s: %v", msg, err)
log.WithError(err).Error(msg)
logCounter = 0
}
logCounter++
Expand Down Expand Up @@ -114,7 +114,7 @@ func (s *Service) checkDefaultEndpoint(ctx context.Context) {

currClient := s.rpcClient
if err := s.setupExecutionClientConnections(ctx, primaryEndpoint); err != nil {
log.Debugf("Primary endpoint not ready: %v", err)
log.WithError(err).Debug("Primary endpoint not ready")
return
}
// Close previous client, if connection was successful.
Expand Down
2 changes: 1 addition & 1 deletion beacon-chain/execution/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ func (s *Service) initPOWService() {
logCounter := 0
errorLogger := func(err error, msg string) {
if logCounter > logThreshold {
log.Errorf("%s: %v", msg, err)
log.WithError(err).Error(msg)
logCounter = 0
}
logCounter++
Expand Down
2 changes: 1 addition & 1 deletion beacon-chain/node/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ func (b *BeaconNode) Close() {
log.Info("Stopping beacon node")
b.services.StopAll()
if err := b.db.Close(); err != nil {
log.Errorf("Failed to close database: %v", err)
log.WithError(err).Error("Failed to close database")
}
b.collector.unregister()
b.cancel()
Expand Down
2 changes: 1 addition & 1 deletion beacon-chain/p2p/addr_factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func withRelayAddrs(relay string) config.AddrsFactory {
}
relayAddr, err := ma.NewMultiaddr(relay + "/p2p-circuit" + a.String())
if err != nil {
log.Errorf("Failed to create multiaddress for relay node: %v", err)
log.WithError(err).Error("Failed to create multiaddress for relay node")
} else {
relayAddrs = append(relayAddrs, relayAddr)
}
Expand Down
2 changes: 1 addition & 1 deletion beacon-chain/p2p/broadcaster.go
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ func (s *Service) broadcastSyncCommittee(ctx context.Context, subnet uint64, sMs
// In the event our sync message is outdated and beyond the
// acceptable threshold, we exit early and do not broadcast it.
if err := altair.ValidateSyncMessageTime(sMsg.Slot, s.genesisTime, params.BeaconNetworkConfig().MaximumGossipClockDisparity); err != nil {
log.Warnf("Sync Committee Message is too old to broadcast, discarding it. %v", err)
log.WithError(err).Warn("Sync Committee Message is too old to broadcast, discarding it")
return
}

Expand Down
6 changes: 3 additions & 3 deletions beacon-chain/p2p/discovery.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ func (s *Service) RefreshENR() {
}
currentBitV, err := attBitvector(s.dv5Listener.Self().Record())
if err != nil {
log.Errorf("Could not retrieve att bitfield: %v", err)
log.WithError(err).Error("Could not retrieve att bitfield")
return
}
// Compare current epoch with our fork epochs
Expand All @@ -67,7 +67,7 @@ func (s *Service) RefreshENR() {
}
currentBitS, err := syncBitvector(s.dv5Listener.Self().Record())
if err != nil {
log.Errorf("Could not retrieve sync bitfield: %v", err)
log.WithError(err).Error("Could not retrieve sync bitfield")
return
}
if bytes.Equal(bitV, currentBitV) && bytes.Equal(bitS, currentBitS) &&
Expand Down Expand Up @@ -356,7 +356,7 @@ func parseGenericAddrs(addrs []string) (enodeString, multiAddrString []string) {
multiAddrString = append(multiAddrString, addr)
continue
}
log.Errorf("Invalid address of %s provided: %v", addr, err)
log.WithError(err).Errorf("Invalid address of %s provided", addr)
}
return enodeString, multiAddrString
}
Expand Down
12 changes: 6 additions & 6 deletions beacon-chain/p2p/gossip_scoring_params.go
Original file line number Diff line number Diff line change
Expand Up @@ -196,13 +196,13 @@ func defaultAggregateTopicParams(activeValidators uint64) *pubsub.TopicScorePara
aggPerSlot := aggregatorsPerSlot(activeValidators)
firstMessageCap, err := decayLimit(scoreDecay(1*oneEpochDuration()), float64(aggPerSlot*2/gossipSubD))
if err != nil {
log.Warnf("skipping initializing topic scoring: %v", err)
log.WithError(err).Warn("skipping initializing topic scoring")
return nil
}
firstMessageWeight := maxFirstDeliveryScore / firstMessageCap
meshThreshold, err := decayThreshold(scoreDecay(1*oneEpochDuration()), float64(aggPerSlot)/dampeningFactor)
if err != nil {
log.Warnf("skipping initializing topic scoring: %v", err)
log.WithError(err).Warn("skipping initializing topic scoring")
return nil
}
meshWeight := -scoreByWeight(aggregateWeight, meshThreshold)
Expand Down Expand Up @@ -238,13 +238,13 @@ func defaultSyncContributionTopicParams() *pubsub.TopicScoreParams {
aggPerSlot := params.BeaconConfig().SyncCommitteeSubnetCount * params.BeaconConfig().TargetAggregatorsPerSyncSubcommittee
firstMessageCap, err := decayLimit(scoreDecay(1*oneEpochDuration()), float64(aggPerSlot*2/gossipSubD))
if err != nil {
log.Warnf("skipping initializing topic scoring: %v", err)
log.WithError(err).Warn("skipping initializing topic scoring")
return nil
}
firstMessageWeight := maxFirstDeliveryScore / firstMessageCap
meshThreshold, err := decayThreshold(scoreDecay(1*oneEpochDuration()), float64(aggPerSlot)/dampeningFactor)
if err != nil {
log.Warnf("skipping initializing topic scoring: %v", err)
log.WithError(err).Warn("skipping initializing topic scoring")
return nil
}
meshWeight := -scoreByWeight(syncContributionWeight, meshThreshold)
Expand Down Expand Up @@ -306,14 +306,14 @@ func defaultAggregateSubnetTopicParams(activeValidators uint64) *pubsub.TopicSco
// Determine expected first deliveries based on the message rate.
firstMessageCap, err := decayLimit(scoreDecay(firstDecay*oneEpochDuration()), float64(rate))
if err != nil {
log.Warnf("skipping initializing topic scoring: %v", err)
log.WithError(err).Warn("skipping initializing topic scoring")
return nil
}
firstMessageWeight := maxFirstDeliveryScore / firstMessageCap
// Determine expected mesh deliveries based on message rate applied with a dampening factor.
meshThreshold, err := decayThreshold(scoreDecay(meshDecay*oneEpochDuration()), float64(numPerSlot)/dampeningFactor)
if err != nil {
log.Warnf("skipping initializing topic scoring: %v", err)
log.WithError(err).Warn("skipping initializing topic scoring")
return nil
}
meshWeight := -scoreByWeight(topicWeight, meshThreshold)
Expand Down
2 changes: 1 addition & 1 deletion beacon-chain/p2p/log.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func logExternalIPAddr(id peer.ID, addr string, port uint) {
if addr != "" {
multiAddr, err := multiAddressBuilder(addr, port)
if err != nil {
log.Errorf("Could not create multiaddress: %v", err)
log.WithError(err).Error("Could not create multiaddress")
return
}
log.WithField(
Expand Down
8 changes: 4 additions & 4 deletions beacon-chain/p2p/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,24 +20,24 @@ func (s *Service) buildOptions(ip net.IP, priKey *ecdsa.PrivateKey) []libp2p.Opt
cfg := s.cfg
listen, err := multiAddressBuilder(ip.String(), cfg.TCPPort)
if err != nil {
log.Fatalf("Failed to p2p listen: %v", err)
log.WithError(err).Fatal("Failed to p2p listen")
}
if cfg.LocalIP != "" {
if net.ParseIP(cfg.LocalIP) == nil {
log.Fatalf("Invalid local ip provided: %s", cfg.LocalIP)
}
listen, err = multiAddressBuilder(cfg.LocalIP, cfg.TCPPort)
if err != nil {
log.Fatalf("Failed to p2p listen: %v", err)
log.WithError(err).Fatal("Failed to p2p listen")
}
}
ifaceKey, err := ecdsaprysm.ConvertToInterfacePrivkey(priKey)
if err != nil {
log.Fatalf("Failed to retrieve private key: %v", err)
log.WithError(err).Fatal("Failed to retrieve private key")
}
id, err := peer.IDFromPublicKey(ifaceKey.GetPublic())
if err != nil {
log.Fatalf("Failed to retrieve peer id: %v", err)
log.WithError(err).Fatal("Failed to retrieve peer id")
}
log.Infof("Running node with peer id of %s ", id.String())

Expand Down
4 changes: 2 additions & 2 deletions beacon-chain/p2p/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ func (s *Service) Start() {
if len(s.cfg.StaticPeers) > 0 {
addrs, err := peersFromStringAddrs(s.cfg.StaticPeers)
if err != nil {
log.Errorf("Could not connect to static peer: %v", err)
log.WithError(err).Error("Could not connect to static peer")
}
s.connectWithAllPeers(addrs)
}
Expand Down Expand Up @@ -437,7 +437,7 @@ func (s *Service) awaitStateInitialized() {
func (s *Service) connectWithAllPeers(multiAddrs []multiaddr.Multiaddr) {
addrInfos, err := peer.AddrInfosFromP2pAddrs(multiAddrs...)
if err != nil {
log.Errorf("Could not convert to peer address info's from multiaddresses: %v", err)
log.WithError(err).Error("Could not convert to peer address info's from multiaddresses")
return
}
for _, info := range addrInfos {
Expand Down
2 changes: 1 addition & 1 deletion beacon-chain/p2p/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ func metaDataFromConfig(cfg *Config) (metadata.Metadata, error) {
func ipAddr() net.IP {
ip, err := network.ExternalIP()
if err != nil {
log.Fatalf("Could not get IPv4 address: %v", err)
log.WithError(err).Fatal("Could not get IPv4 address")
}
return net.ParseIP(ip)
}
Expand Down
Loading