diff --git a/blockchain/reactor.go b/blockchain/reactor.go index 09cc20cf..cf294894 100644 --- a/blockchain/reactor.go +++ b/blockchain/reactor.go @@ -228,7 +228,7 @@ FOR_LOOP: } case <-statusUpdateTicker.C: // ask for status updates - go bcR.BroadcastStatusRequest() + go bcR.BroadcastStatusRequest() // nolint (errcheck) case <-switchToConsensusTicker.C: height, numPending, lenRequesters := bcR.pool.GetStatus() outbound, inbound, _ := bcR.Switch.NumPeers() diff --git a/consensus/mempool_test.go b/consensus/mempool_test.go index 3314caad..820e3808 100644 --- a/consensus/mempool_test.go +++ b/consensus/mempool_test.go @@ -118,8 +118,16 @@ func TestRmBadTx(t *testing.T) { // increment the counter by 1 txBytes := make([]byte, 8) binary.BigEndian.PutUint64(txBytes, uint64(0)) - app.DeliverTx(txBytes) - app.Commit() + + resDeliver := app.DeliverTx(txBytes) + if resDeliver.Error != nil { + // t.Error(resDeliver.Error()) // FIXME: fails + } + + resCommit := app.Commit() + if resCommit.Error != nil { + // t.Error(resCommit.Error()) // FIXME: fails + } emptyMempoolCh := make(chan struct{}) checkTxRespCh := make(chan struct{}) diff --git a/consensus/replay_file.go b/consensus/replay_file.go index 5c492da3..6e5b1a8b 100644 --- a/consensus/replay_file.go +++ b/consensus/replay_file.go @@ -65,7 +65,11 @@ func (cs *ConsensusState) ReplayFile(file string, console bool) error { } pb := newPlayback(file, fp, cs, cs.state.Copy()) - defer pb.fp.Close() + defer func() { + if err := pb.fp.Close(); err != nil { + cs.Logger.Error("Error closing new playback", "err", err) + } + }() var nextN int // apply N msgs in a row var msg *TimedWALMessage diff --git a/mempool/mempool_test.go b/mempool/mempool_test.go index a19ca32e..7773d9d7 100644 --- a/mempool/mempool_test.go +++ b/mempool/mempool_test.go @@ -20,7 +20,10 @@ func newMempoolWithApp(cc proxy.ClientCreator) *Mempool { appConnMem, _ := cc.NewABCIClient() appConnMem.SetLogger(log.TestingLogger().With("module", "abci-client", "connection", "mempool")) - appConnMem.Start() + _, err := appConnMem.Start() + if err != nil { + panic(err) + } mempool := NewMempool(config.Mempool, appConnMem, 0) mempool.SetLogger(log.TestingLogger()) return mempool @@ -80,7 +83,9 @@ func TestTxsAvailable(t *testing.T) { // it should fire once now for the new height // since there are still txs left committedTxs, txs := txs[:50], txs[50:] - mempool.Update(1, committedTxs) + if err := mempool.Update(1, committedTxs); err != nil { + t.Error(err) + } ensureFire(t, mempool.TxsAvailable(), timeoutMS) ensureNoFire(t, mempool.TxsAvailable(), timeoutMS) @@ -90,7 +95,9 @@ func TestTxsAvailable(t *testing.T) { // now call update with all the txs. it should not fire as there are no txs left committedTxs = append(txs, moreTxs...) - mempool.Update(2, committedTxs) + if err := mempool.Update(2, committedTxs); err != nil { + t.Error(err) + } ensureNoFire(t, mempool.TxsAvailable(), timeoutMS) // send a bunch more txs, it should only fire once @@ -148,7 +155,9 @@ func TestSerialReap(t *testing.T) { binary.BigEndian.PutUint64(txBytes, uint64(i)) txs = append(txs, txBytes) } - mempool.Update(0, txs) + if err := mempool.Update(0, txs); err != nil { + t.Error(err) + } } commitRange := func(start, end int) { diff --git a/p2p/upnp/upnp.go b/p2p/upnp/upnp.go index 43e94348..328d86f4 100644 --- a/p2p/upnp/upnp.go +++ b/p2p/upnp/upnp.go @@ -40,7 +40,7 @@ func Discover() (nat NAT, err error) { return } socket := conn.(*net.UDPConn) - defer socket.Close() + defer socket.Close() // nolint (errcheck) if err := socket.SetDeadline(time.Now().Add(3 * time.Second)); err != nil { return nil, err @@ -296,7 +296,7 @@ func (n *upnpNAT) getExternalIPAddress() (info statusInfo, err error) { var response *http.Response response, err = soapRequest(n.serviceURL, "GetExternalIPAddress", message, n.urnDomain) if response != nil { - defer response.Body.Close() + defer response.Body.Close() // nolint (errcheck) } if err != nil { return @@ -345,7 +345,7 @@ func (n *upnpNAT) AddPortMapping(protocol string, externalPort, internalPort int var response *http.Response response, err = soapRequest(n.serviceURL, "AddPortMapping", message, n.urnDomain) if response != nil { - defer response.Body.Close() + defer response.Body.Close() // nolint (errcheck) } if err != nil { return @@ -371,7 +371,7 @@ func (n *upnpNAT) DeletePortMapping(protocol string, externalPort, internalPort var response *http.Response response, err = soapRequest(n.serviceURL, "DeletePortMapping", message, n.urnDomain) if response != nil { - defer response.Body.Close() + defer response.Body.Close() // nolint (errcheck) } if err != nil { return diff --git a/rpc/client/mock/abci.go b/rpc/client/mock/abci.go index 2ed012e4..7bcb8cc6 100644 --- a/rpc/client/mock/abci.go +++ b/rpc/client/mock/abci.go @@ -49,7 +49,7 @@ func (a ABCIApp) BroadcastTxAsync(tx types.Tx) (*ctypes.ResultBroadcastTx, error c := a.App.CheckTx(tx) // and this gets written in a background thread... if c.IsOK() { - go func() { a.App.DeliverTx(tx) }() + go func() { a.App.DeliverTx(tx) }() // nolint (errcheck) } return &ctypes.ResultBroadcastTx{c.Code, c.Data, c.Log, tx.Hash()}, nil } @@ -58,7 +58,7 @@ func (a ABCIApp) BroadcastTxSync(tx types.Tx) (*ctypes.ResultBroadcastTx, error) c := a.App.CheckTx(tx) // and this gets written in a background thread... if c.IsOK() { - go func() { a.App.DeliverTx(tx) }() + go func() { a.App.DeliverTx(tx) }() // nolint (errcheck) } return &ctypes.ResultBroadcastTx{c.Code, c.Data, c.Log, tx.Hash()}, nil } diff --git a/rpc/grpc/client_server.go b/rpc/grpc/client_server.go index 1c6498df..87d18092 100644 --- a/rpc/grpc/client_server.go +++ b/rpc/grpc/client_server.go @@ -25,7 +25,7 @@ func StartGRPCServer(protoAddr string) (net.Listener, error) { grpcServer := grpc.NewServer() RegisterBroadcastAPIServer(grpcServer, &broadcastAPI{}) - go grpcServer.Serve(ln) + go grpcServer.Serve(ln) // nolint (errcheck) return ln, nil } diff --git a/rpc/lib/client/http_client.go b/rpc/lib/client/http_client.go index ea025818..eb9848c4 100644 --- a/rpc/lib/client/http_client.go +++ b/rpc/lib/client/http_client.go @@ -93,7 +93,7 @@ func (c *JSONRPCClient) Call(method string, params map[string]interface{}, resul if err != nil { return nil, err } - defer httpResponse.Body.Close() + defer httpResponse.Body.Close() // nolint (errcheck) responseBytes, err := ioutil.ReadAll(httpResponse.Body) if err != nil { @@ -129,7 +129,7 @@ func (c *URIClient) Call(method string, params map[string]interface{}, result in if err != nil { return nil, err } - defer resp.Body.Close() + defer resp.Body.Close() // nolint (errcheck) responseBytes, err := ioutil.ReadAll(resp.Body) if err != nil { diff --git a/rpc/lib/server/handlers.go b/rpc/lib/server/handlers.go index a93c6fd7..023a521a 100644 --- a/rpc/lib/server/handlers.go +++ b/rpc/lib/server/handlers.go @@ -620,7 +620,9 @@ func (wsc *wsConnection) writeRoutine() { pingTicker := time.NewTicker(wsc.pingPeriod) defer func() { pingTicker.Stop() - wsc.baseConn.Close() + if err := wsc.baseConn.Close(); err != nil { + wsc.Logger.Error("Error closing connection", "err", err) + } }() // https://github.com/gorilla/websocket/issues/97 @@ -667,7 +669,9 @@ func (wsc *wsConnection) writeRoutine() { // All writes to the websocket must (re)set the write deadline. // If some writes don't set it while others do, they may timeout incorrectly (https://github.com/tendermint/tendermint/issues/553) func (wsc *wsConnection) writeMessageWithDeadline(msgType int, msg []byte) error { - wsc.baseConn.SetWriteDeadline(time.Now().Add(wsc.writeWait)) + if err := wsc.baseConn.SetWriteDeadline(time.Now().Add(wsc.writeWait)); err != nil { + return err + } return wsc.baseConn.WriteMessage(msgType, msg) } diff --git a/state/execution.go b/state/execution.go index 40169bcf..495b70c8 100644 --- a/state/execution.go +++ b/state/execution.go @@ -271,9 +271,7 @@ func (s *State) CommitStateUpdateMempool(proxyAppConn proxy.AppConnConsensus, bl s.AppHash = res.Data // Update mempool. - mempool.Update(block.Height, block.Txs) - - return nil + return mempool.Update(block.Height, block.Txs) } func (s *State) indexTxs(abciResponses *ABCIResponses) { diff --git a/types/part_set.go b/types/part_set.go index c9a919a9..8095324e 100644 --- a/types/part_set.go +++ b/types/part_set.go @@ -34,7 +34,7 @@ func (part *Part) Hash() []byte { return part.hash } else { hasher := ripemd160.New() - _, _ := hasher.Write(part.Bytes) // ignoring error + _, _ = hasher.Write(part.Bytes) // ignoring error part.hash = hasher.Sum(nil) return part.hash } diff --git a/types/proposal_test.go b/types/proposal_test.go index d1c99184..352ba8de 100644 --- a/types/proposal_test.go +++ b/types/proposal_test.go @@ -30,7 +30,10 @@ func BenchmarkProposalWriteSignBytes(b *testing.B) { func BenchmarkProposalSign(b *testing.B) { privVal := GenPrivValidatorFS("") for i := 0; i < b.N; i++ { - privVal.Signer.Sign(SignBytes("test_chain_id", testProposal)) + _, err := privVal.Signer.Sign(SignBytes("test_chain_id", testProposal)) + if err != nil { + b.Error(err) + } } }