From 680e2997e322ddaf38907c7e5da106d25f86e89f Mon Sep 17 00:00:00 2001 From: beer-1 Date: Fri, 14 Mar 2025 12:58:29 +0900 Subject: [PATCH 1/2] wrap finalize block --- app/app.go | 14 ++++++++++++++ go.mod | 2 +- go.sum | 4 ++-- integration-tests/go.mod | 2 +- integration-tests/go.sum | 3 +-- 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/app.go b/app/app.go index 44a59db..2db46c3 100644 --- a/app/app.go +++ b/app/app.go @@ -411,6 +411,20 @@ func (app *MinitiaApp) EndBlocker(ctx sdk.Context) (sdk.EndBlock, error) { return app.ModuleManager.EndBlock(ctx) } +// FinalizeBlock overrides the default FinalizeBlock to recover from panic +func (app *MinitiaApp) FinalizeBlock(req *abci.RequestFinalizeBlock) (res *abci.ResponseFinalizeBlock, err error) { + defer func() { + if r := recover(); r != nil { + // cosmos sdk has a bug to panic when we have abci listener and met error at FinalizeBlock + // so we need to recover the panic and return the error + err = fmt.Errorf("panic in FinalizeBlock: %v", r) + } + }() + + res, err = app.BaseApp.FinalizeBlock(req) + return +} + // InitChainer application update at chain initialization func (app *MinitiaApp) InitChainer(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error) { var genesisState GenesisState diff --git a/go.mod b/go.mod index 3dd6433..6d6c281 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/cometbft/cometbft v0.38.17 github.com/cosmos/cosmos-db v1.1.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/cosmos-sdk v0.50.12 + github.com/cosmos/cosmos-sdk v0.50.13 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.7.0 github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v8 v8.2.0 diff --git a/go.sum b/go.sum index 743bfb3..ee41383 100644 --- a/go.sum +++ b/go.sum @@ -992,8 +992,8 @@ github.com/cosmos/cosmos-db v1.1.1 h1:FezFSU37AlBC8S98NlSagL76oqBRWq/prTPvFcEJNC github.com/cosmos/cosmos-db v1.1.1/go.mod h1:AghjcIPqdhSLP/2Z0yha5xPH3nLnskz81pBx3tcVSAw= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.12 h1:WizeD4K74737Gq46/f9fq+WjyZ1cP/1bXwVR3dvyp0g= -github.com/cosmos/cosmos-sdk v0.50.12/go.mod h1:hrWEFMU1eoXqLJeE6VVESpJDQH67FS1nnMrQIjO2daw= +github.com/cosmos/cosmos-sdk v0.50.13 h1:xQ32hhzVy7agEe7behMdZN0ezWhPss3KoLZsF9KoBnw= +github.com/cosmos/cosmos-sdk v0.50.13/go.mod h1:hrWEFMU1eoXqLJeE6VVESpJDQH67FS1nnMrQIjO2daw= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 387ecdb..0479cce 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -5,7 +5,7 @@ go 1.23.6 require ( cosmossdk.io/math v1.4.0 github.com/cometbft/cometbft v0.38.17 - github.com/cosmos/cosmos-sdk v0.50.12 + github.com/cosmos/cosmos-sdk v0.50.13 github.com/cosmos/ibc-go/v8 v8.7.0 github.com/ethereum/go-ethereum v1.14.11 github.com/initia-labs/initia v1.0.0-beta.6 diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 9f0f9d2..fdaa779 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -967,8 +967,7 @@ github.com/cosmos/cosmos-db v1.1.1 h1:FezFSU37AlBC8S98NlSagL76oqBRWq/prTPvFcEJNC github.com/cosmos/cosmos-db v1.1.1/go.mod h1:AghjcIPqdhSLP/2Z0yha5xPH3nLnskz81pBx3tcVSAw= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.12 h1:WizeD4K74737Gq46/f9fq+WjyZ1cP/1bXwVR3dvyp0g= -github.com/cosmos/cosmos-sdk v0.50.12/go.mod h1:hrWEFMU1eoXqLJeE6VVESpJDQH67FS1nnMrQIjO2daw= +github.com/cosmos/cosmos-sdk v0.50.13 h1:xQ32hhzVy7agEe7behMdZN0ezWhPss3KoLZsF9KoBnw= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= From 19d2e08c27c8417d970f0806285dae7496e8ec75 Mon Sep 17 00:00:00 2001 From: beer-1 Date: Fri, 14 Mar 2025 12:58:54 +0900 Subject: [PATCH 2/2] fix tidy --- integration-tests/go.sum | 1 + 1 file changed, 1 insertion(+) diff --git a/integration-tests/go.sum b/integration-tests/go.sum index fdaa779..4dafa0f 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -968,6 +968,7 @@ github.com/cosmos/cosmos-db v1.1.1/go.mod h1:AghjcIPqdhSLP/2Z0yha5xPH3nLnskz81pB github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= github.com/cosmos/cosmos-sdk v0.50.13 h1:xQ32hhzVy7agEe7behMdZN0ezWhPss3KoLZsF9KoBnw= +github.com/cosmos/cosmos-sdk v0.50.13/go.mod h1:hrWEFMU1eoXqLJeE6VVESpJDQH67FS1nnMrQIjO2daw= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE=