Skip to content

Commit c20a40f

Browse files
authored
fix: wrap finalize block to recover panic (#183)
* wrap finalize block * fix tidy
1 parent dea56de commit c20a40f

File tree

5 files changed

+20
-6
lines changed

5 files changed

+20
-6
lines changed

app/app.go

+14
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,20 @@ func (app *MinitiaApp) EndBlocker(ctx sdk.Context) (sdk.EndBlock, error) {
411411
return app.ModuleManager.EndBlock(ctx)
412412
}
413413

414+
// FinalizeBlock overrides the default FinalizeBlock to recover from panic
415+
func (app *MinitiaApp) FinalizeBlock(req *abci.RequestFinalizeBlock) (res *abci.ResponseFinalizeBlock, err error) {
416+
defer func() {
417+
if r := recover(); r != nil {
418+
// cosmos sdk has a bug to panic when we have abci listener and met error at FinalizeBlock
419+
// so we need to recover the panic and return the error
420+
err = fmt.Errorf("panic in FinalizeBlock: %v", r)
421+
}
422+
}()
423+
424+
res, err = app.BaseApp.FinalizeBlock(req)
425+
return
426+
}
427+
414428
// InitChainer application update at chain initialization
415429
func (app *MinitiaApp) InitChainer(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error) {
416430
var genesisState GenesisState

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ require (
1919
github.com/cometbft/cometbft v0.38.17
2020
github.com/cosmos/cosmos-db v1.1.1
2121
github.com/cosmos/cosmos-proto v1.0.0-beta.5
22-
github.com/cosmos/cosmos-sdk v0.50.12
22+
github.com/cosmos/cosmos-sdk v0.50.13
2323
github.com/cosmos/go-bip39 v1.0.0
2424
github.com/cosmos/gogoproto v1.7.0
2525
github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v8 v8.2.0

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -992,8 +992,8 @@ github.com/cosmos/cosmos-db v1.1.1 h1:FezFSU37AlBC8S98NlSagL76oqBRWq/prTPvFcEJNC
992992
github.com/cosmos/cosmos-db v1.1.1/go.mod h1:AghjcIPqdhSLP/2Z0yha5xPH3nLnskz81pBx3tcVSAw=
993993
github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA=
994994
github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec=
995-
github.com/cosmos/cosmos-sdk v0.50.12 h1:WizeD4K74737Gq46/f9fq+WjyZ1cP/1bXwVR3dvyp0g=
996-
github.com/cosmos/cosmos-sdk v0.50.12/go.mod h1:hrWEFMU1eoXqLJeE6VVESpJDQH67FS1nnMrQIjO2daw=
995+
github.com/cosmos/cosmos-sdk v0.50.13 h1:xQ32hhzVy7agEe7behMdZN0ezWhPss3KoLZsF9KoBnw=
996+
github.com/cosmos/cosmos-sdk v0.50.13/go.mod h1:hrWEFMU1eoXqLJeE6VVESpJDQH67FS1nnMrQIjO2daw=
997997
github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
998998
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
999999
github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE=

integration-tests/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.23.6
55
require (
66
cosmossdk.io/math v1.4.0
77
github.com/cometbft/cometbft v0.38.17
8-
github.com/cosmos/cosmos-sdk v0.50.12
8+
github.com/cosmos/cosmos-sdk v0.50.13
99
github.com/cosmos/ibc-go/v8 v8.7.0
1010
github.com/ethereum/go-ethereum v1.14.11
1111
github.com/initia-labs/initia v1.0.0-beta.6

integration-tests/go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -967,8 +967,8 @@ github.com/cosmos/cosmos-db v1.1.1 h1:FezFSU37AlBC8S98NlSagL76oqBRWq/prTPvFcEJNC
967967
github.com/cosmos/cosmos-db v1.1.1/go.mod h1:AghjcIPqdhSLP/2Z0yha5xPH3nLnskz81pBx3tcVSAw=
968968
github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA=
969969
github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec=
970-
github.com/cosmos/cosmos-sdk v0.50.12 h1:WizeD4K74737Gq46/f9fq+WjyZ1cP/1bXwVR3dvyp0g=
971-
github.com/cosmos/cosmos-sdk v0.50.12/go.mod h1:hrWEFMU1eoXqLJeE6VVESpJDQH67FS1nnMrQIjO2daw=
970+
github.com/cosmos/cosmos-sdk v0.50.13 h1:xQ32hhzVy7agEe7behMdZN0ezWhPss3KoLZsF9KoBnw=
971+
github.com/cosmos/cosmos-sdk v0.50.13/go.mod h1:hrWEFMU1eoXqLJeE6VVESpJDQH67FS1nnMrQIjO2daw=
972972
github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
973973
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
974974
github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE=

0 commit comments

Comments
 (0)