gno icon indicating copy to clipboard operation
gno copied to clipboard

Local gnoland node crash on startup since July 5 commit

Open jefft0 opened this issue 6 months ago • 11 comments

Local gnoland node crash on startup since July 5 commit

Description

I can't run a local gnoland node with ./build/gnoland start -lazy . It crashes with "std.InvalidPubKeyError{abciError:std.abciError{}} - PubKey does not match Signer address g1manfred47kzduec920z88wfr64ylksmdcedlf5".

Your environment

  • Go version: go1.24.1
  • macOS M1
  • Latest master: 9a3e913d8a775e60a3be24e34a3954d0c183eabd

Steps to reproduce

git clone https://github.com/gnolang/gno
cd gno/gno.land
make build
./build/gnoland start -lazy

Expected behaviour

The gnoland node should run.

Actual behaviour

It crashes with the stack dump below.

Logs

2025-07-07T11:22:15.678+0200	ERROR	Unable to deliver genesis tx	{"log": "--= Error =--\nData: std.InvalidPubKeyError{abciError:std.abciError{}}\nMsg Traces:\n    0  /Users/jefft0/temp/gno/tm2/pkg/std/errors.go:92 - PubKey does not match Signer address g1manfred47kzduec920z88wfr64ylksmdcedlf5\nStack Trace:\n    0  /Users/jefft0/temp/gno/tm2/pkg/errors/errors.go:18\n    1  /Users/jefft0/temp/gno/tm2/pkg/std/errors.go:92\n    2  /Users/jefft0/temp/gno/tm2/pkg/sdk/auth/ante.go:256\n    3  /Users/jefft0/temp/gno/tm2/pkg/sdk/auth/ante.go:218\n    4  /Users/jefft0/temp/gno/tm2/pkg/sdk/auth/ante.go:157\n    5  /Users/jefft0/temp/gno/gno.land/pkg/gnoland/app.go:159\n    6  /Users/jefft0/temp/gno/tm2/pkg/sdk/baseapp.go:835\n    7  /Users/jefft0/temp/gno/tm2/pkg/sdk/helpers.go:35\n    8  /Users/jefft0/temp/gno/gno.land/pkg/gnoland/app.go:415\n    9  /Users/jefft0/temp/gno/gno.land/pkg/gnoland/app.go:316\n   10  /Users/jefft0/temp/gno/tm2/pkg/sdk/baseapp.go:346\n   11  /Users/jefft0/temp/gno/tm2/pkg/bft/abci/client/local_client.go:196\n   12  /Users/jefft0/temp/gno/tm2/pkg/bft/appconn/app_conn.go:66\n   13  /Users/jefft0/temp/gno/tm2/pkg/bft/consensus/replay.go:305\n   14  /Users/jefft0/temp/gno/tm2/pkg/bft/consensus/replay.go:263\n   15  /Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:239\n   16  /Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:392\n   17  /Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:126\n   18  /Users/jefft0/temp/gno/gno.land/cmd/gnoland/start.go:259\n   19  /Users/jefft0/temp/gno/gno.land/cmd/gnoland/start.go:79\n   20  /Users/jefft0/temp/gno/tm2/pkg/commands/command.go:265\n   21  /Users/jefft0/temp/gno/tm2/pkg/commands/command.go:269\n   22  /Users/jefft0/temp/gno/tm2/pkg/commands/command.go:150\n   23  /Users/jefft0/temp/gno/tm2/pkg/commands/command.go:127\n   24  /Users/jefft0/temp/gno/gno.land/cmd/gnoland/root.go:13\n   25  /Users/jefft0/.asdf/installs/golang/1.23.6/packages/pkg/mod/golang.org/[email protected]/src/runtime/proc.go:283\n   26  /Users/jefft0/.asdf/installs/golang/1.23.6/packages/pkg/mod/golang.org/[email protected]/src/runtime/asm_arm64.s:1223\n--= /Error =--\n", "error": "invalid pubkey error", "gas-used": 1240}
github.com/gnolang/gno/gno.land/pkg/gnoland.InitChainerConfig.loadAppState
	/Users/jefft0/temp/gno/gno.land/pkg/gnoland/app.go:417
github.com/gnolang/gno/gno.land/pkg/gnoland.InitChainerConfig.InitChainer
	/Users/jefft0/temp/gno/gno.land/pkg/gnoland/app.go:316
github.com/gnolang/gno/tm2/pkg/sdk.(*BaseApp).InitChain
	/Users/jefft0/temp/gno/tm2/pkg/sdk/baseapp.go:346
github.com/gnolang/gno/tm2/pkg/bft/abci/client.(*localClient).InitChainSync
	/Users/jefft0/temp/gno/tm2/pkg/bft/abci/client/local_client.go:196
github.com/gnolang/gno/tm2/pkg/bft/appconn.(*consensus).InitChainSync
	/Users/jefft0/temp/gno/tm2/pkg/bft/appconn/app_conn.go:66
github.com/gnolang/gno/tm2/pkg/bft/consensus.(*Handshaker).ReplayBlocks
	/Users/jefft0/temp/gno/tm2/pkg/bft/consensus/replay.go:305
github.com/gnolang/gno/tm2/pkg/bft/consensus.(*Handshaker).Handshake
	/Users/jefft0/temp/gno/tm2/pkg/bft/consensus/replay.go:263
github.com/gnolang/gno/tm2/pkg/bft/node.doHandshake
	/Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:239
github.com/gnolang/gno/tm2/pkg/bft/node.NewNode
	/Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:392
github.com/gnolang/gno/tm2/pkg/bft/node.DefaultNewNode
	/Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:126
main.execStart
	/Users/jefft0/temp/gno/gno.land/cmd/gnoland/start.go:259
main.newStartCmd.func1
	/Users/jefft0/temp/gno/gno.land/cmd/gnoland/start.go:79
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run
	/Users/jefft0/temp/gno/tm2/pkg/commands/command.go:265
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run
	/Users/jefft0/temp/gno/tm2/pkg/commands/command.go:269
github.com/gnolang/gno/tm2/pkg/commands.(*Command).ParseAndRun
	/Users/jefft0/temp/gno/tm2/pkg/commands/command.go:150
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Execute
	/Users/jefft0/temp/gno/tm2/pkg/commands/command.go:127
main.main
	/Users/jefft0/temp/gno/gno.land/cmd/gnoland/root.go:13
runtime.main
	/Users/jefft0/.asdf/installs/golang/1.23.6/packages/pkg/mod/golang.org/[email protected]/src/runtime/proc.go:283
panic: --= Error =--
	Data: std.InvalidPubKeyError{abciError:std.abciError{}}
	Msg Traces:
	    0  /Users/jefft0/temp/gno/tm2/pkg/std/errors.go:92 - PubKey does not match Signer address g1manfred47kzduec920z88wfr64ylksmdcedlf5
	Stack Trace:
	    0  /Users/jefft0/temp/gno/tm2/pkg/errors/errors.go:18
	    1  /Users/jefft0/temp/gno/tm2/pkg/std/errors.go:92
	    2  /Users/jefft0/temp/gno/tm2/pkg/sdk/auth/ante.go:256
	    3  /Users/jefft0/temp/gno/tm2/pkg/sdk/auth/ante.go:218
	    4  /Users/jefft0/temp/gno/tm2/pkg/sdk/auth/ante.go:157
	    5  /Users/jefft0/temp/gno/gno.land/pkg/gnoland/app.go:159
	    6  /Users/jefft0/temp/gno/tm2/pkg/sdk/baseapp.go:835
	    7  /Users/jefft0/temp/gno/tm2/pkg/sdk/helpers.go:35
	    8  /Users/jefft0/temp/gno/gno.land/pkg/gnoland/app.go:415
	    9  /Users/jefft0/temp/gno/gno.land/pkg/gnoland/app.go:316
	   10  /Users/jefft0/temp/gno/tm2/pkg/sdk/baseapp.go:346
	   11  /Users/jefft0/temp/gno/tm2/pkg/bft/abci/client/local_client.go:196
	   12  /Users/jefft0/temp/gno/tm2/pkg/bft/appconn/app_conn.go:66
	   13  /Users/jefft0/temp/gno/tm2/pkg/bft/consensus/replay.go:305
	   14  /Users/jefft0/temp/gno/tm2/pkg/bft/consensus/replay.go:263
	   15  /Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:239
	   16  /Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:392
	   17  /Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:126
	   18  /Users/jefft0/temp/gno/gno.land/cmd/gnoland/start.go:259
	   19  /Users/jefft0/temp/gno/gno.land/cmd/gnoland/start.go:79
	   20  /Users/jefft0/temp/gno/tm2/pkg/commands/command.go:265
	   21  /Users/jefft0/temp/gno/tm2/pkg/commands/command.go:269
	   22  /Users/jefft0/temp/gno/tm2/pkg/commands/command.go:150
	   23  /Users/jefft0/temp/gno/tm2/pkg/commands/command.go:127
	   24  /Users/jefft0/temp/gno/gno.land/cmd/gnoland/root.go:13
	   25  /Users/jefft0/.asdf/installs/golang/1.23.6/packages/pkg/mod/golang.org/[email protected]/src/runtime/proc.go:283
	   26  /Users/jefft0/.asdf/installs/golang/1.23.6/packages/pkg/mod/golang.org/[email protected]/src/runtime/asm_arm64.s:1223
	--= /Error =--


goroutine 1 [running]:
github.com/gnolang/gno/gno.land/pkg/gnoland.PanicOnFailingTxResultHandler({{0x1031ceec0, 0x1400aec47e0}, 0x2, {0x1031cde00, 0x14000354730}, {0x1031cf080, 0x14000180840}, {0x14000c840a9, 0x3}, {0x0, ...}, ...}, ...)
	/Users/jefft0/temp/gno/gno.land/pkg/gnoland/app.go:274 +0x94
github.com/gnolang/gno/gno.land/pkg/gnoland.InitChainerConfig.loadAppState({0x1031b6a00, {0x14000982090, 0x24}, _, _, {_, _}, {_, _}, {_, ...}, ...}, ...)
	/Users/jefft0/temp/gno/gno.land/pkg/gnoland/app.go:431 +0x648
github.com/gnolang/gno/gno.land/pkg/gnoland.InitChainerConfig.InitChainer({_, {_, _}, _, _, {_, _}, {_, _}, {_, ...}, ...}, ...)
	/Users/jefft0/temp/gno/gno.land/pkg/gnoland/app.go:316 +0x26c
github.com/gnolang/gno/tm2/pkg/sdk.(*BaseApp).InitChain(0x14000427e60, {{}, {0x33e8e8f0, 0xedffd88bb, 0x0}, {0x14000c840a9, 0x3}, 0x14000354710, {0x14002e7c5d0, 0x1, ...}, ...})
	/Users/jefft0/temp/gno/tm2/pkg/sdk/baseapp.go:346 +0x290
github.com/gnolang/gno/tm2/pkg/bft/abci/client.(*localClient).InitChainSync(0x1400007e478?, {{}, {0x33e8e8f0, 0xedffd88bb, 0x0}, {0x14000c840a9, 0x3}, 0x14000354710, {0x14002e7c5d0, 0x1, ...}, ...})
	/Users/jefft0/temp/gno/tm2/pkg/bft/abci/client/local_client.go:196 +0x138
github.com/gnolang/gno/tm2/pkg/bft/appconn.(*consensus).InitChainSync(0x0?, {{}, {0x33e8e8f0, 0xedffd88bb, 0x0}, {0x14000c840a9, 0x3}, 0x14000354710, {0x14002e7c5d0, 0x1, ...}, ...})
	/Users/jefft0/temp/gno/tm2/pkg/bft/appconn/app_conn.go:66 +0xc0
github.com/gnolang/gno/tm2/pkg/bft/consensus.(*Handshaker).ReplayBlocks(_, {{0x102c3d5aa, 0xb}, {0x102c3d5aa, 0xb}, {0x102f09588, 0x0}, {0x14000c840a9, 0x3}, 0x0, ...}, ...)
	/Users/jefft0/temp/gno/tm2/pkg/bft/consensus/replay.go:305 +0xa00
github.com/gnolang/gno/tm2/pkg/bft/consensus.(*Handshaker).Handshake(0x1402099ef28, {0x1031dbfe0, 0x14000408060})
	/Users/jefft0/temp/gno/tm2/pkg/bft/consensus/replay.go:263 +0x378
github.com/gnolang/gno/tm2/pkg/bft/node.doHandshake({_, _}, {{0x102c3d5aa, 0xb}, {0x102c3d5aa, 0xb}, {0x102f09588, 0x0}, {0x14000c840a9, 0x3}, ...}, ...)
	/Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:239 +0x134
github.com/gnolang/gno/tm2/pkg/bft/node.NewNode(0x14000427d40, {0x1031ccb40, 0x1400035ad20}, 0x14000a9a510, {0x1040b0a70, 0x1400011a1f8}, 0x14000051938, 0x14000427e60?, {0x1031dbde0, 0x14000271570}, ...)
	/Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:392 +0x2a8
github.com/gnolang/gno/tm2/pkg/bft/node.DefaultNewNode(0x14000427d40, {0x1400035dc50, 0x2c}, {0x1031dbde0, 0x14000271570}, 0x1400032be60)
	/Users/jefft0/temp/gno/tm2/pkg/bft/node/node.go:126 +0x2d4
main.execStart({0x1031cede0, 0x103a6de00}, 0x1400038d360, {0x1031df790, 0x14000058140})
	/Users/jefft0/temp/gno/gno.land/cmd/gnoland/start.go:259 +0x79c
main.newStartCmd.func1({0x1031cede0?, 0x103a6de00?}, {0x1026b1d90?, 0x14000275020?, 0x1400003ba10?})
	/Users/jefft0/temp/gno/gno.land/cmd/gnoland/start.go:79 +0x30
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run(0x8e?, {0x1031cede0?, 0x103a6de00?})
	/Users/jefft0/temp/gno/tm2/pkg/commands/command.go:265 +0x178
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run(0x140000d4180?, {0x1031cede0?, 0x103a6de00?})
	/Users/jefft0/temp/gno/tm2/pkg/commands/command.go:269 +0x128
github.com/gnolang/gno/tm2/pkg/commands.(*Command).ParseAndRun(0x140000d4180, {0x1031cede0, 0x103a6de00}, {0x1400003a460?, 0x1031b6678?, 0x1400007e030?})
	/Users/jefft0/temp/gno/tm2/pkg/commands/command.go:150 +0x4c
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Execute(0x1031df790?, {0x1031cede0?, 0x103a6de00?}, {0x1400003a460?, 0x1039a2508?, 0x140000021c0?})
	/Users/jefft0/temp/gno/tm2/pkg/commands/command.go:127 +0x28
main.main()
	/Users/jefft0/temp/gno/gno.land/cmd/gnoland/root.go:13 +0x6c

Proposed solution

I believe this behavior started with commit https://github.com/gnolang/gno/commit/998ee98d2c83d2481c20939bccfdd394f61de444 .

jefft0 avatar Jul 07 '25 09:07 jefft0

Tagging @thehowl , @zivkovicmilos , @moul .

jefft0 avatar Jul 07 '25 09:07 jefft0

Do you have a leftover genesis file?

Delete it and try again

zivkovicmilos avatar Jul 07 '25 10:07 zivkovicmilos

Do you have a leftover genesis file?

Delete it and try again

@zivkovicmilos , I did a fresh clone of the repo. Is the genesis file outside of the repo? Where?

jefft0 avatar Jul 07 '25 12:07 jefft0

@jefft0 I meant that you probably have a leftover genesis.json in the dir where you're running gnoland start, which is causing this issue

zivkovicmilos avatar Jul 07 '25 12:07 zivkovicmilos

@jefft0

Confirming it crashes for me too on the latest master, so it's not a leftover genesis:

Default configuration initialized at /Users/zmilos/Work/gno/gno.land/gnoland-data/config/config.toml
WARN: Initialized default node config at "/Users/zmilos/Work/gno/gno.land/gnoland-data/config"

Validator private key saved at /Users/zmilos/Work/gno/gno.land/gnoland-data/secrets/priv_validator_key.json
Validator last sign state saved at /Users/zmilos/Work/gno/gno.land/gnoland-data/secrets/priv_validator_state.json
Node key saved at /Users/zmilos/Work/gno/gno.land/gnoland-data/secrets/node_key.json
WARN: Initialized default node secrets at "/Users/zmilos/Work/gno/gno.land/gnoland-data/secrets"
WARN: Initialized genesis.json at "/Users/zmilos/Work/gno/gno.land/genesis.json"

                    __             __
  ___ ____  ___    / /__ ____  ___/ /
 / _ `/ _ \/ _ \_ / / _ `/ _ \/ _  /
 \_, /_//_/\___(_)_/\_,_/_//_/\_,_/
/___/

2025-07-07T14:40:56.779+0200	[34mINFO [0m	Starting multi	{"module": "proxy", "impl": "multi"}
2025-07-07T14:40:56.779+0200	[34mINFO [0m	Starting localClient	{"module": "proxy", "module": "abci-client", "connection": "query", "impl": "localClient"}
2025-07-07T14:40:56.779+0200	[34mINFO [0m	Starting localClient	{"module": "proxy", "module": "abci-client", "connection": "mempool", "impl": "localClient"}
2025-07-07T14:40:56.779+0200	[34mINFO [0m	Starting localClient	{"module": "proxy", "module": "abci-client", "connection": "consensus", "impl": "localClient"}
2025-07-07T14:40:56.779+0200	[34mINFO [0m	Starting EventStoreService	{"module": "eventstore", "impl": "EventStoreService"}
2025-07-07T14:40:56.779+0200	[34mINFO [0m	ABCI Handshake App Info	{"module": "consensus", "height": 0, "hash": "", "abci-version": "", "app-version": ""}
2025-07-07T14:40:56.779+0200	[34mINFO [0m	ABCI Replay Blocks	{"module": "consensus", "appHeight": 0, "storeHeight": 0, "stateHeight": 0}
2025-07-07T14:40:56.779+0200	[35mDEBUG[0m	InitChainer: started
2025-07-07T14:40:57.755+0200	[35mDEBUG[0m	InitChainer: standard libraries loaded	{"elapsed": "976.605458ms"}
2025-07-07T14:41:05.796+0200	[31mERROR[0m	Unable to deliver genesis tx	{"log": "--= Error =--\nData: std.InvalidPubKeyError{abciError:std.abciError{}}\nMsg Traces:\n    0  /Users/zmilos/Work/gno/tm2/pkg/std/errors.go:92 - PubKey does not match Signer address g1manfred47kzduec920z88wfr64ylksmdcedlf5\nStack Trace:\n    0  /Users/zmilos/Work/gno/tm2/pkg/errors/errors.go:18\n    1  /Users/zmilos/Work/gno/tm2/pkg/std/errors.go:92\n    2  /Users/zmilos/Work/gno/tm2/pkg/sdk/auth/ante.go:256\n    3  /Users/zmilos/Work/gno/tm2/pkg/sdk/auth/ante.go:218\n    4  /Users/zmilos/Work/gno/tm2/pkg/sdk/auth/ante.go:157\n    5  /Users/zmilos/Work/gno/gno.land/pkg/gnoland/app.go:159\n    6  /Users/zmilos/Work/gno/tm2/pkg/sdk/baseapp.go:835\n    7  /Users/zmilos/Work/gno/tm2/pkg/sdk/helpers.go:35\n    8  /Users/zmilos/Work/gno/gno.land/pkg/gnoland/app.go:415\n    9  /Users/zmilos/Work/gno/gno.land/pkg/gnoland/app.go:316\n   10  /Users/zmilos/Work/gno/tm2/pkg/sdk/baseapp.go:346\n   11  /Users/zmilos/Work/gno/tm2/pkg/bft/abci/client/local_client.go:196\n   12  /Users/zmilos/Work/gno/tm2/pkg/bft/appconn/app_conn.go:66\n   13  /Users/zmilos/Work/gno/tm2/pkg/bft/consensus/replay.go:305\n   14  /Users/zmilos/Work/gno/tm2/pkg/bft/consensus/replay.go:263\n   15  /Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:239\n   16  /Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:392\n   17  /Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:126\n   18  /Users/zmilos/Work/gno/gno.land/cmd/gnoland/start.go:259\n   19  /Users/zmilos/Work/gno/gno.land/cmd/gnoland/start.go:79\n   20  /Users/zmilos/Work/gno/tm2/pkg/commands/command.go:265\n   21  /Users/zmilos/Work/gno/tm2/pkg/commands/command.go:269\n   22  /Users/zmilos/Work/gno/tm2/pkg/commands/command.go:150\n   23  /Users/zmilos/Work/gno/tm2/pkg/commands/command.go:127\n   24  /Users/zmilos/Work/gno/gno.land/cmd/gnoland/root.go:13\n   25  /opt/homebrew/Cellar/go/1.24.4/libexec/src/runtime/proc.go:283\n   26  /opt/homebrew/Cellar/go/1.24.4/libexec/src/runtime/asm_arm64.s:1223\n--= /Error =--\n", "error": "invalid pubkey error", "gas-used": 1234}
github.com/gnolang/gno/gno.land/pkg/gnoland.InitChainerConfig.loadAppState
	/Users/zmilos/Work/gno/gno.land/pkg/gnoland/app.go:417
github.com/gnolang/gno/gno.land/pkg/gnoland.InitChainerConfig.InitChainer
	/Users/zmilos/Work/gno/gno.land/pkg/gnoland/app.go:316
github.com/gnolang/gno/tm2/pkg/sdk.(*BaseApp).InitChain
	/Users/zmilos/Work/gno/tm2/pkg/sdk/baseapp.go:346
github.com/gnolang/gno/tm2/pkg/bft/abci/client.(*localClient).InitChainSync
	/Users/zmilos/Work/gno/tm2/pkg/bft/abci/client/local_client.go:196
github.com/gnolang/gno/tm2/pkg/bft/appconn.(*consensus).InitChainSync
	/Users/zmilos/Work/gno/tm2/pkg/bft/appconn/app_conn.go:66
github.com/gnolang/gno/tm2/pkg/bft/consensus.(*Handshaker).ReplayBlocks
	/Users/zmilos/Work/gno/tm2/pkg/bft/consensus/replay.go:305
github.com/gnolang/gno/tm2/pkg/bft/consensus.(*Handshaker).Handshake
	/Users/zmilos/Work/gno/tm2/pkg/bft/consensus/replay.go:263
github.com/gnolang/gno/tm2/pkg/bft/node.doHandshake
	/Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:239
github.com/gnolang/gno/tm2/pkg/bft/node.NewNode
	/Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:392
github.com/gnolang/gno/tm2/pkg/bft/node.DefaultNewNode
	/Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:126
main.execStart
	/Users/zmilos/Work/gno/gno.land/cmd/gnoland/start.go:259
main.newStartCmd.func1
	/Users/zmilos/Work/gno/gno.land/cmd/gnoland/start.go:79
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run
	/Users/zmilos/Work/gno/tm2/pkg/commands/command.go:265
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run
	/Users/zmilos/Work/gno/tm2/pkg/commands/command.go:269
github.com/gnolang/gno/tm2/pkg/commands.(*Command).ParseAndRun
	/Users/zmilos/Work/gno/tm2/pkg/commands/command.go:150
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Execute
	/Users/zmilos/Work/gno/tm2/pkg/commands/command.go:127
main.main
	/Users/zmilos/Work/gno/gno.land/cmd/gnoland/root.go:13
runtime.main
	/opt/homebrew/Cellar/go/1.24.4/libexec/src/runtime/proc.go:283
panic: --= Error =--
	Data: std.InvalidPubKeyError{abciError:std.abciError{}}
	Msg Traces:
	    0  /Users/zmilos/Work/gno/tm2/pkg/std/errors.go:92 - PubKey does not match Signer address g1manfred47kzduec920z88wfr64ylksmdcedlf5
	Stack Trace:
	    0  /Users/zmilos/Work/gno/tm2/pkg/errors/errors.go:18
	    1  /Users/zmilos/Work/gno/tm2/pkg/std/errors.go:92
	    2  /Users/zmilos/Work/gno/tm2/pkg/sdk/auth/ante.go:256
	    3  /Users/zmilos/Work/gno/tm2/pkg/sdk/auth/ante.go:218
	    4  /Users/zmilos/Work/gno/tm2/pkg/sdk/auth/ante.go:157
	    5  /Users/zmilos/Work/gno/gno.land/pkg/gnoland/app.go:159
	    6  /Users/zmilos/Work/gno/tm2/pkg/sdk/baseapp.go:835
	    7  /Users/zmilos/Work/gno/tm2/pkg/sdk/helpers.go:35
	    8  /Users/zmilos/Work/gno/gno.land/pkg/gnoland/app.go:415
	    9  /Users/zmilos/Work/gno/gno.land/pkg/gnoland/app.go:316
	   10  /Users/zmilos/Work/gno/tm2/pkg/sdk/baseapp.go:346
	   11  /Users/zmilos/Work/gno/tm2/pkg/bft/abci/client/local_client.go:196
	   12  /Users/zmilos/Work/gno/tm2/pkg/bft/appconn/app_conn.go:66
	   13  /Users/zmilos/Work/gno/tm2/pkg/bft/consensus/replay.go:305
	   14  /Users/zmilos/Work/gno/tm2/pkg/bft/consensus/replay.go:263
	   15  /Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:239
	   16  /Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:392
	   17  /Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:126
	   18  /Users/zmilos/Work/gno/gno.land/cmd/gnoland/start.go:259
	   19  /Users/zmilos/Work/gno/gno.land/cmd/gnoland/start.go:79
	   20  /Users/zmilos/Work/gno/tm2/pkg/commands/command.go:265
	   21  /Users/zmilos/Work/gno/tm2/pkg/commands/command.go:269
	   22  /Users/zmilos/Work/gno/tm2/pkg/commands/command.go:150
	   23  /Users/zmilos/Work/gno/tm2/pkg/commands/command.go:127
	   24  /Users/zmilos/Work/gno/gno.land/cmd/gnoland/root.go:13
	   25  /opt/homebrew/Cellar/go/1.24.4/libexec/src/runtime/proc.go:283
	   26  /opt/homebrew/Cellar/go/1.24.4/libexec/src/runtime/asm_arm64.s:1223
	--= /Error =--
	

goroutine 1 [running]:
github.com/gnolang/gno/gno.land/pkg/gnoland.PanicOnFailingTxResultHandler({{0x1051634a0, 0x1400ea9b0e0}, 0x2, {0x1051623e0, 0x14002148720}, {0x105163660, 0x1400060e000}, {0x14000118318, 0x3}, {0x0, ...}, ...}, ...)
	/Users/zmilos/Work/gno/gno.land/pkg/gnoland/app.go:274 +0x94
github.com/gnolang/gno/gno.land/pkg/gnoland.InitChainerConfig.loadAppState({0x10514afe0, {0x14000c0c060, 0x24}, _, _, {_, _}, {_, _}, {_, ...}, ...}, ...)
	/Users/zmilos/Work/gno/gno.land/pkg/gnoland/app.go:431 +0x648
github.com/gnolang/gno/gno.land/pkg/gnoland.InitChainerConfig.InitChainer({_, {_, _}, _, _, {_, _}, {_, _}, {_, ...}, ...}, ...)
	/Users/zmilos/Work/gno/gno.land/pkg/gnoland/app.go:316 +0x26c
github.com/gnolang/gno/tm2/pkg/sdk.(*BaseApp).InitChain(0x14000a54000, {{}, {0x13524de8, 0xedffdb758, 0x0}, {0x14000118318, 0x3}, 0x14002148700, {0x140023825a0, 0x1, ...}, ...})
	/Users/zmilos/Work/gno/tm2/pkg/sdk/baseapp.go:346 +0x290
github.com/gnolang/gno/tm2/pkg/bft/abci/client.(*localClient).InitChainSync(0x1400061a110?, {{}, {0x13524de8, 0xedffdb758, 0x0}, {0x14000118318, 0x3}, 0x14002148700, {0x140023825a0, 0x1, ...}, ...})
	/Users/zmilos/Work/gno/tm2/pkg/bft/abci/client/local_client.go:196 +0x138
github.com/gnolang/gno/tm2/pkg/bft/appconn.(*consensus).InitChainSync(0x0?, {{}, {0x13524de8, 0xedffdb758, 0x0}, {0x14000118318, 0x3}, 0x14002148700, {0x140023825a0, 0x1, ...}, ...})
	/Users/zmilos/Work/gno/tm2/pkg/bft/appconn/app_conn.go:66 +0xc0
github.com/gnolang/gno/tm2/pkg/bft/consensus.(*Handshaker).ReplayBlocks(_, {{0x104bd218a, 0xb}, {0x104bd218a, 0xb}, {0x104e9e420, 0x0}, {0x14000118318, 0x3}, 0x0, ...}, ...)
	/Users/zmilos/Work/gno/tm2/pkg/bft/consensus/replay.go:305 +0xa00
github.com/gnolang/gno/tm2/pkg/bft/consensus.(*Handshaker).Handshake(0x1403230ef28, {0x1051705c0, 0x14000a66d20})
	/Users/zmilos/Work/gno/tm2/pkg/bft/consensus/replay.go:263 +0x378
github.com/gnolang/gno/tm2/pkg/bft/node.doHandshake({_, _}, {{0x104bd218a, 0xb}, {0x104bd218a, 0xb}, {0x104e9e420, 0x0}, {0x14000118318, 0x3}, ...}, ...)
	/Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:239 +0x134
github.com/gnolang/gno/tm2/pkg/bft/node.NewNode(0x14000000ea0, {0x105161120, 0x14000c683c0}, 0x14000b8a850, {0x12d02c598, 0x140001a4390}, 0x14000051938, 0x14000a54000?, {0x1051703c0, 0x14000300070}, ...)
	/Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:392 +0x2a8
github.com/gnolang/gno/tm2/pkg/bft/node.DefaultNewNode(0x14000000ea0, {0x1400037fc20, 0x2c}, {0x1051703c0, 0x14000300070}, 0x1400004db10)
	/Users/zmilos/Work/gno/tm2/pkg/bft/node/node.go:126 +0x2d4
main.execStart({0x1051633c0, 0x1059ede00}, 0x140003b7400, {0x105173d70, 0x14000419ef0})
	/Users/zmilos/Work/gno/gno.land/cmd/gnoland/start.go:259 +0x79c
main.newStartCmd.func1({0x1051633c0?, 0x1059ede00?}, {0x104646260?, 0x14000208360?, 0x1400003a660?})
	/Users/zmilos/Work/gno/gno.land/cmd/gnoland/start.go:79 +0x30
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run(0x8e?, {0x1051633c0?, 0x1059ede00?})
	/Users/zmilos/Work/gno/tm2/pkg/commands/command.go:265 +0x178
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run(0x14000156180?, {0x1051633c0?, 0x1059ede00?})
	/Users/zmilos/Work/gno/tm2/pkg/commands/command.go:269 +0x128
github.com/gnolang/gno/tm2/pkg/commands.(*Command).ParseAndRun(0x14000156180, {0x1051633c0, 0x1059ede00}, {0x14000128430?, 0x10514ac58?, 0x14000122028?})
	/Users/zmilos/Work/gno/tm2/pkg/commands/command.go:150 +0x4c
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Execute(0x105173d70?, {0x1051633c0?, 0x1059ede00?}, {0x14000128430?, 0x105922508?, 0x140000021c0?})
	/Users/zmilos/Work/gno/tm2/pkg/commands/command.go:127 +0x28
main.main()
	/Users/zmilos/Work/gno/gno.land/cmd/gnoland/root.go:13 +0x6c

We probably need to regenerate the genesis_txs.jsonl signatures, or drop them completely @moul (they are useless)

zivkovicmilos avatar Jul 07 '25 12:07 zivkovicmilos

Yes we should skip them.

moul avatar Jul 07 '25 17:07 moul

On related issue #4543, @piux2 confirms that it looks like PR https://github.com/gnolang/gno/pull/4459 introduced the problem.

jefft0 avatar Jul 23 '25 14:07 jefft0

@jefft0

We checked internally, the signature verification on genesis and the custom uploader mechanism don't work together.

You should start the node with --skip-genesis-sig-verification in the meantime 🙏

zivkovicmilos avatar Jul 23 '25 15:07 zivkovicmilos

Here is the root cause.

https://github.com/gnolang/gno/commit/998ee98d2c83d2481c20939bccfdd394f61de444#r162677962

Due to the issue described above, in production, when signature verification is required during genesis, there’s no viable workaround. Each node uses a different key, so the signatures won’t match the uploader account specified in the gnomod.toml files within the example folders.

piux2 avatar Jul 23 '25 15:07 piux2

Mitigated part of this in #4553. Will find a better solution after the betanet launch

zivkovicmilos avatar Sep 02 '25 14:09 zivkovicmilos

This bug happens with gnoland start -lazy . But issue https://github.com/gnolang/gno/issues/1886 proposes to "remove lazy chain initialization for gnoland start." If that is done, then this bug becomes irrelevant.

jefft0 avatar Dec 01 '25 18:12 jefft0