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

amino.Unmarshal doesn't work without unused import #1197

Open
zivkovicmilos opened this issue Oct 5, 2023 · 3 comments · Fixed by #1178
Open

amino.Unmarshal doesn't work without unused import #1197

zivkovicmilos opened this issue Oct 5, 2023 · 3 comments · Fixed by #1178
Labels
🐞 bug Something isn't working

Comments

@zivkovicmilos
Copy link
Member

zivkovicmilos commented Oct 5, 2023

amino.Unmarshal doesn't work without unused import

Description

For some reason, calling amino.Unmarhsal without importing an unused package _ "github.com/gnolang/gno/gno.land/pkg/sdk/vm" causes a stack overflow exception.

Your environment

Steps to reproduce

Create a test file:

package dummy

import (
	"fmt"
	"testing"

	"github.com/gnolang/gno/tm2/pkg/amino"
	rpcClient "github.com/gnolang/gno/tm2/pkg/bft/rpc/client"
	"github.com/gnolang/gno/tm2/pkg/std"
)

func TestAminoIssue(t *testing.T) {
	blockHeight := int64(67110) // block on test3 that has 1 tx
	client := rpcClient.NewHTTP("http://test3.gno.land:36657", "")

	// Fetch the block
	block, err := client.Block(&blockHeight)
	if err != nil {
		t.Fatalf("unable to fetch block, %v", err)
	}

	// This block has 1 transaction
	blockTx := block.Block.Data.Txs[0]

	var tx std.Tx

	if unmarshalErr := amino.Unmarshal(blockTx, &tx); unmarshalErr != nil {
		t.Fatalf("unable to unmarshal with amino, %v", unmarshalErr)
	}

	fmt.Println(tx)
}

Running this test should produce a stack overflow error:

=== RUN   TestAminoIssue
runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0xc020606340 stack=[0xc020606000, 0xc040606000]
fatal error: stack overflow

Now, add the unused import:

import (
	"fmt"
	"testing"

	"github.com/gnolang/gno/tm2/pkg/amino"
	rpcClient "github.com/gnolang/gno/tm2/pkg/bft/rpc/client"
	"github.com/gnolang/gno/tm2/pkg/std"

	_ "github.com/gnolang/gno/gno.land/pkg/sdk/vm" // <---- Unused import added
)

Running the test now should be good, with the transaction being printed:

{[{g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5  gno.land/r/demo/tong Transfer [g1kcdd3n0d472g2p5l8svyg9t0wq6h5857nq992f 13]}] {1000000 1ugnot} [{gpub1pgfj7ard9eg82cjtv4u4xetrwqer2dntxyfzxz3pq0skzdkmzu0r9h6gny6eg8c9dc303xrrudee6z4he4y7cs5rnjwmyf40yaj [108 231 52 139 24 4 162 123 89 163 111 88 164 209 58 79 111 179 128 214 157 12 22 176 87 167 33 4 185 231 216 30 61 228 170 124 160 17 123 109 5 80 169 25 15 163 86 137 107 53 42 77 40 178 22 155 122 80 241 85 226 50 161 238]}] }

Expected behaviour

Calling amino.Unmarshal should work with just the base import "github.com/gnolang/gno/tm2/pkg/amino".

Actual behaviour

Calling amino.Unmarshal without the unused import (_ "github.com/gnolang/gno/gno.land/pkg/sdk/vm") causes a stack overflow exception.

Logs

runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0xc02050c458 stack=[0xc02050c000, 0xc04050c000]
fatal error: stack overflow

runtime stack:
runtime.throw({0x15df071?, 0x700006bb6dd8?})
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/panic.go:1077 +0x5c fp=0x700006bb6d88 sp=0x700006bb6d58 pc=0x103a63c
runtime.newstack()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/stack.go:1107 +0x5ac fp=0x700006bb6f38 sp=0x700006bb6d88 pc=0x10548ec
runtime.morestack()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:593 +0x8f fp=0x700006bb6f40 sp=0x700006bb6f38 pc=0x106e42f

goroutine 1 [running]:
github.com/gnolang/gno/tm2/pkg/amino.(*TypeInfo).String(0xc0000a8b00)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:110 +0x488 fp=0xc02050c468 sp=0xc02050c460 pc=0x11f8d28
fmt.(*pp).handleMethods(0xc01025b450, 0xbda50?)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:673 +0x2b2 fp=0xc02050c6c0 sp=0xc02050c468 pc=0x10ed552
fmt.(*pp).printValue(0xc01025b450, {0x1561420?, 0xc0000bda50?, 0x0?}, 0x76, 0x2)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:770 +0xca fp=0xc02050c8a0 sp=0xc02050c6c0 pc=0x10ee16a
fmt.(*pp).printValue(0xc01025b450, {0x15aa220?, 0xc0000bda40?, 0x0?}, 0x76, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:853 +0x1231 fp=0xc02050ca80 sp=0xc02050c8a0 pc=0x10ef2d1
fmt.(*pp).printValue(0xc01025b450, {0x15052c0?, 0xc01021bf80?, 0x0?}, 0x76, 0x0)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:912 +0x1605 fp=0xc02050cc60 sp=0xc02050ca80 pc=0x10ef6a5
fmt.(*pp).printArg(0xc01025b450, {0x15052c0?, 0xc01021bf80}, 0x76)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:759 +0x6a5 fp=0xc02050cd00 sp=0xc02050cc60 pc=0x10ee025
fmt.(*pp).doPrintf(0xc01025b450, {0x15dd1e1, 0xa}, {0xc02050cf68?, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:1077 +0x39e fp=0xc02050cdf8 sp=0xc02050cd00 pc=0x10f0ade
fmt.Sprintf({0x15dd1e1, 0xa}, {0xc02050cf68, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:239 +0x53 fp=0xc02050ce50 sp=0xc02050cdf8 pc=0x10eac53
github.com/gnolang/gno/tm2/pkg/amino.(*TypeInfo).String(0xc0001a6e70)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:132 +0x3d0 fp=0xc02050cfb0 sp=0xc02050ce50 pc=0x11f8c70
fmt.(*pp).handleMethods(0xc01025b380, 0xbdac0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:673 +0x2b2 fp=0xc02050d208 sp=0xc02050cfb0 pc=0x10ed552
fmt.(*pp).printValue(0xc01025b380, {0x1561420?, 0xc0000bdac0?, 0x0?}, 0x76, 0x2)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:770 +0xca fp=0xc02050d3e8 sp=0xc02050d208 pc=0x10ee16a
fmt.(*pp).printValue(0xc01025b380, {0x15aa220?, 0xc0000bdab0?, 0x0?}, 0x76, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:853 +0x1231 fp=0xc02050d5c8 sp=0xc02050d3e8 pc=0x10ef2d1
fmt.(*pp).printValue(0xc01025b380, {0x15052c0?, 0xc01021bf50?, 0x0?}, 0x76, 0x0)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:912 +0x1605 fp=0xc02050d7a8 sp=0xc02050d5c8 pc=0x10ef6a5
fmt.(*pp).printArg(0xc01025b380, {0x15052c0?, 0xc01021bf50}, 0x76)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:759 +0x6a5 fp=0xc02050d848 sp=0xc02050d7a8 pc=0x10ee025
fmt.(*pp).doPrintf(0xc01025b380, {0x15dd1e1, 0xa}, {0xc02050dab0?, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:1077 +0x39e fp=0xc02050d940 sp=0xc02050d848 pc=0x10f0ade
fmt.Sprintf({0x15dd1e1, 0xa}, {0xc02050dab0, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:239 +0x53 fp=0xc02050d998 sp=0xc02050d940 pc=0x10eac53
github.com/gnolang/gno/tm2/pkg/amino.(*TypeInfo).String(0xc0001a6e70)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:132 +0x3d0 fp=0xc02050daf8 sp=0xc02050d998 pc=0x11f8c70
fmt.(*pp).handleMethods(0xc01025b2b0, 0xbdac0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:673 +0x2b2 fp=0xc02050dd50 sp=0xc02050daf8 pc=0x10ed552
fmt.(*pp).printValue(0xc01025b2b0, {0x1561420?, 0xc0000bdac0?, 0x0?}, 0x76, 0x2)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:770 +0xca fp=0xc02050df30 sp=0xc02050dd50 pc=0x10ee16a
fmt.(*pp).printValue(0xc01025b2b0, {0x15aa220?, 0xc0000bdab0?, 0x0?}, 0x76, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:853 +0x1231 fp=0xc02050e110 sp=0xc02050df30 pc=0x10ef2d1
fmt.(*pp).printValue(0xc01025b2b0, {0x15052c0?, 0xc01021bf20?, 0x0?}, 0x76, 0x0)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:912 +0x1605 fp=0xc02050e2f0 sp=0xc02050e110 pc=0x10ef6a5
fmt.(*pp).printArg(0xc01025b2b0, {0x15052c0?, 0xc01021bf20}, 0x76)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:759 +0x6a5 fp=0xc02050e390 sp=0xc02050e2f0 pc=0x10ee025
fmt.(*pp).doPrintf(0xc01025b2b0, {0x15dd1e1, 0xa}, {0xc02050e5f8?, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:1077 +0x39e fp=0xc02050e488 sp=0xc02050e390 pc=0x10f0ade
fmt.Sprintf({0x15dd1e1, 0xa}, {0xc02050e5f8, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:239 +0x53 fp=0xc02050e4e0 sp=0xc02050e488 pc=0x10eac53
github.com/gnolang/gno/tm2/pkg/amino.(*TypeInfo).String(0xc0001a6e70)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:132 +0x3d0 fp=0xc02050e640 sp=0xc02050e4e0 pc=0x11f8c70
fmt.(*pp).handleMethods(0xc01025b1e0, 0xbdac0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:673 +0x2b2 fp=0xc02050e898 sp=0xc02050e640 pc=0x10ed552
fmt.(*pp).printValue(0xc01025b1e0, {0x1561420?, 0xc0000bdac0?, 0x0?}, 0x76, 0x2)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:770 +0xca fp=0xc02050ea78 sp=0xc02050e898 pc=0x10ee16a
fmt.(*pp).printValue(0xc01025b1e0, {0x15aa220?, 0xc0000bdab0?, 0x0?}, 0x76, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:853 +0x1231 fp=0xc02050ec58 sp=0xc02050ea78 pc=0x10ef2d1
fmt.(*pp).printValue(0xc01025b1e0, {0x15052c0?, 0xc01021bef0?, 0xc02050ee60?}, 0x76, 0x0)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:912 +0x1605 fp=0xc02050ee38 sp=0xc02050ec58 pc=0x10ef6a5
fmt.(*pp).printArg(0xc01025b1e0, {0x15052c0?, 0xc01021bef0}, 0x76)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:759 +0x6a5 fp=0xc02050eed8 sp=0xc02050ee38 pc=0x10ee025
fmt.(*pp).doPrintf(0xc01025b1e0, {0x15dd1e1, 0xa}, {0xc02050f140?, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:1077 +0x39e fp=0xc02050efd0 sp=0xc02050eed8 pc=0x10f0ade
fmt.Sprintf({0x15dd1e1, 0xa}, {0xc02050f140, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:239 +0x53 fp=0xc02050f028 sp=0xc02050efd0 pc=0x10eac53
github.com/gnolang/gno/tm2/pkg/amino.(*TypeInfo).String(0xc0001a6e70)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:132 +0x3d0 fp=0xc02050f188 sp=0xc02050f028 pc=0x11f8c70
fmt.(*pp).handleMethods(0xc01025b110, 0xbdac0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:673 +0x2b2 fp=0xc02050f3e0 sp=0xc02050f188 pc=0x10ed552
fmt.(*pp).printValue(0xc01025b110, {0x1561420?, 0xc0000bdac0?, 0x0?}, 0x76, 0x2)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:770 +0xca fp=0xc02050f5c0 sp=0xc02050f3e0 pc=0x10ee16a
fmt.(*pp).printValue(0xc01025b110, {0x15aa220?, 0xc0000bdab0?, 0x0?}, 0x76, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:853 +0x1231 fp=0xc02050f7a0 sp=0xc02050f5c0 pc=0x10ef2d1
fmt.(*pp).printValue(0xc01025b110, {0x15052c0?, 0xc01021bec0?, 0x0?}, 0x76, 0x0)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:912 +0x1605 fp=0xc02050f980 sp=0xc02050f7a0 pc=0x10ef6a5
fmt.(*pp).printArg(0xc01025b110, {0x15052c0?, 0xc01021bec0}, 0x76)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:759 +0x6a5 fp=0xc02050fa20 sp=0xc02050f980 pc=0x10ee025
fmt.(*pp).doPrintf(0xc01025b110, {0x15dd1e1, 0xa}, {0xc02050fc88?, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:1077 +0x39e fp=0xc02050fb18 sp=0xc02050fa20 pc=0x10f0ade
fmt.Sprintf({0x15dd1e1, 0xa}, {0xc02050fc88, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:239 +0x53 fp=0xc02050fb70 sp=0xc02050fb18 pc=0x10eac53
github.com/gnolang/gno/tm2/pkg/amino.(*TypeInfo).String(0xc0001a6e70)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:132 +0x3d0 fp=0xc02050fcd0 sp=0xc02050fb70 pc=0x11f8c70
fmt.(*pp).handleMethods(0xc01025b040, 0xbdac0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:673 +0x2b2 fp=0xc02050ff28 sp=0xc02050fcd0 pc=0x10ed552
fmt.(*pp).printValue(0xc01025b040, {0x1561420?, 0xc0000bdac0?, 0x0?}, 0x76, 0x2)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:770 +0xca fp=0xc020510108 sp=0xc02050ff28 pc=0x10ee16a
fmt.(*pp).printValue(0xc01025b040, {0x15aa220?, 0xc0000bdab0?, 0x0?}, 0x76, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:853 +0x1231 fp=0xc0205102e8 sp=0xc020510108 pc=0x10ef2d1
fmt.(*pp).printValue(0xc01025b040, {0x15052c0?, 0xc01021be90?, 0x0?}, 0x76, 0x0)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:912 +0x1605 fp=0xc0205104c8 sp=0xc0205102e8 pc=0x10ef6a5
fmt.(*pp).printArg(0xc01025b040, {0x15052c0?, 0xc01021be90}, 0x76)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:759 +0x6a5 fp=0xc020510568 sp=0xc0205104c8 pc=0x10ee025
fmt.(*pp).doPrintf(0xc01025b040, {0x15dd1e1, 0xa}, {0xc0205107d0?, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:1077 +0x39e fp=0xc020510660 sp=0xc020510568 pc=0x10f0ade
fmt.Sprintf({0x15dd1e1, 0xa}, {0xc0205107d0, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:239 +0x53 fp=0xc0205106b8 sp=0xc020510660 pc=0x10eac53
github.com/gnolang/gno/tm2/pkg/amino.(*TypeInfo).String(0xc0001a6e70)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:132 +0x3d0 fp=0xc020510818 sp=0xc0205106b8 pc=0x11f8c70
fmt.(*pp).handleMethods(0xc01025af70, 0xbdac0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:673 +0x2b2 fp=0xc020510a70 sp=0xc020510818 pc=0x10ed552
...1487081 frames elided...
fmt.(*pp).printValue(0xc000282680, {0x15aa220?, 0xc0000bdab0?, 0x0?}, 0x76, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:853 +0x1231 fp=0xc040508558 sp=0xc040508378 pc=0x10ef2d1
fmt.(*pp).printValue(0xc000282680, {0x15052c0?, 0xc0000124c8?, 0xc000190730?}, 0x76, 0x0)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:912 +0x1605 fp=0xc040508738 sp=0xc040508558 pc=0x10ef6a5
fmt.(*pp).printArg(0xc000282680, {0x15052c0?, 0xc0000124c8}, 0x76)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:759 +0x6a5 fp=0xc0405087d8 sp=0xc040508738 pc=0x10ee025
fmt.(*pp).doPrintf(0xc000282680, {0x15dd1e1, 0xa}, {0xc040508a40?, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:1077 +0x39e fp=0xc0405088d0 sp=0xc0405087d8 pc=0x10f0ade
fmt.Sprintf({0x15dd1e1, 0xa}, {0xc000190a40, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:239 +0x53 fp=0xc040508928 sp=0xc0405088d0 pc=0x10eac53
github.com/gnolang/gno/tm2/pkg/amino.(*TypeInfo).String(0xc0001a6e70)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:132 +0x3d0 fp=0xc040508a88 sp=0xc040508928 pc=0x11f8c70
fmt.(*pp).handleMethods(0xc000282410, 0xbdac0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:673 +0x2b2 fp=0xc040508ce0 sp=0xc040508a88 pc=0x10ed552
fmt.(*pp).printValue(0xc000282410, {0x1561420?, 0xc0000bdac0?, 0x74?}, 0x76, 0x2)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:770 +0xca fp=0xc040508ec0 sp=0xc040508ce0 pc=0x10ee16a
fmt.(*pp).printValue(0xc000282410, {0x15aa220?, 0xc0000bdab0?, 0x0?}, 0x76, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:853 +0x1231 fp=0xc0405090a0 sp=0xc040508ec0 pc=0x10ef2d1
fmt.(*pp).printValue(0xc000282410, {0x15052c0?, 0xc000012468?, 0x1a7aa80?}, 0x76, 0x0)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:912 +0x1605 fp=0xc040509280 sp=0xc0405090a0 pc=0x10ef6a5
fmt.(*pp).printArg(0xc000282410, {0x15052c0?, 0xc000012468}, 0x76)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:759 +0x6a5 fp=0xc040509320 sp=0xc040509280 pc=0x10ee025
fmt.(*pp).doPrintf(0xc000282410, {0x15dd1e1, 0xa}, {0xc040509588?, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:1077 +0x39e fp=0xc040509418 sp=0xc040509320 pc=0x10f0ade
fmt.Sprintf({0x15dd1e1, 0xa}, {0xc000191588, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:239 +0x53 fp=0xc040509470 sp=0xc040509418 pc=0x10eac53
github.com/gnolang/gno/tm2/pkg/amino.(*TypeInfo).String(0xc0001a6e70)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:132 +0x3d0 fp=0xc0405095d0 sp=0xc040509470 pc=0x11f8c70
fmt.(*pp).handleMethods(0xc0002824e0, 0xbdac0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:673 +0x2b2 fp=0xc040509828 sp=0xc0405095d0 pc=0x10ed552
fmt.(*pp).printValue(0xc0002824e0, {0x1561420?, 0xc0000bdac0?, 0xc00021a840?}, 0x76, 0x2)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:770 +0xca fp=0xc040509a08 sp=0xc040509828 pc=0x10ee16a
fmt.(*pp).printValue(0xc0002824e0, {0x15aa220?, 0xc0000bdab0?, 0x0?}, 0x76, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:853 +0x1231 fp=0xc040509be8 sp=0xc040509a08 pc=0x10ef2d1
fmt.(*pp).printValue(0xc0002824e0, {0x15052c0?, 0xc000012438?, 0x1a7aa80?}, 0x76, 0x0)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:912 +0x1605 fp=0xc040509dc8 sp=0xc040509be8 pc=0x10ef6a5
fmt.(*pp).printArg(0xc0002824e0, {0x15052c0?, 0xc000012438}, 0x76)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:759 +0x6a5 fp=0xc040509e68 sp=0xc040509dc8 pc=0x10ee025
fmt.(*pp).doPrintf(0xc0002824e0, {0x15dd1e1, 0xa}, {0xc04050a0d0?, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:1077 +0x39e fp=0xc040509f60 sp=0xc040509e68 pc=0x10f0ade
fmt.Sprintf({0x15dd1e1, 0xa}, {0xc0001920d0, 0x1, 0x1})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:239 +0x53 fp=0xc040509fb8 sp=0xc040509f60 pc=0x10eac53
github.com/gnolang/gno/tm2/pkg/amino.(*TypeInfo).String(0xc0001a6e70)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:132 +0x3d0 fp=0xc04050a118 sp=0xc040509fb8 pc=0x11f8c70
fmt.(*pp).handleMethods(0xc000282000, 0x1a6e70?)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:673 +0x2b2 fp=0xc04050a370 sp=0xc04050a118 pc=0x10ed552
fmt.(*pp).printValue(0xc000282000, {0x1561420?, 0xc0001a6e70?, 0xc000034d80?}, 0x76, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:770 +0xca fp=0xc04050a550 sp=0xc04050a370 pc=0x10ee16a
fmt.(*pp).printValue(0xc000282000, {0x153a4a0?, 0xc000025590?, 0xc0001927c0?}, 0x76, 0x0)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:827 +0x1b6f fp=0xc04050a730 sp=0xc04050a550 pc=0x10efc0f
fmt.(*pp).printArg(0xc000282000, {0x153a4a0?, 0xc000025590}, 0x76)
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:759 +0x6a5 fp=0xc04050a7d0 sp=0xc04050a730 pc=0x10ee025
fmt.(*pp).doPrintf(0xc000282000, {0x15f3b04, 0x2d}, {0xc04050a9d0?, 0x2, 0x2})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/print.go:1077 +0x39e fp=0xc04050a8c8 sp=0xc04050a7d0 pc=0x10f0ade
fmt.Errorf({0x15f3b04, 0x2d}, {0xc04050a9d0?, 0x2, 0x2})
	/usr/local/Cellar/go/1.21.1/libexec/src/fmt/errors.go:25 +0x8b fp=0xc04050a990 sp=0xc04050a8c8 pc=0x10e7dcb
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).getTypeInfoFromFullnameRLock(0xc000038780, {0xc000284d81, 0xb}, {{0x14eb043, 0x3}, 0x0, 0x0, 0x0, 0x1, 0x0, ...})
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:535 +0x231 fp=0xc04050aa00 sp=0xc04050a990 pc=0x11fa671
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).getTypeInfoFromTypeURLRLock(0xc0002d812b?, {0xc000284d80?, 0x60?}, {{0x14eb043, 0x3}, 0x0, 0x0, 0x0, 0x1, 0x0, ...})
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/codec.go:512 +0x48 fp=0xc04050aa50 sp=0xc04050aa00 pc=0x11fa408
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).decodeReflectBinaryAny(0x1010ca5?, {0xc000284d80?, 0x6?}, {0xc00039c160, 0x14b, 0x14b}, {0x15614c0?, 0xc000280ec0?, 0x1010ca5?}, {{0x14eb043, ...}, ...})
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/binary_decode.go:420 +0x129 fp=0xc04050abd8 sp=0xc04050aa50 pc=0x11f10a9
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).decodeReflectBinaryInterface(0x1007c98?, {0xc00039c00f, 0x0, 0x0}, 0xc0002e4210, {0x15614c0?, 0xc000280ec0?, 0x10129b5?}, {{0x14eb043, 0x3}, ...}, ...)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/binary_decode.go:399 +0x616 fp=0xc04050ad58 sp=0xc04050abd8 pc=0x11f0cf6
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).decodeReflectBinary(0x15614c0?, {0xc0002a4801, 0x1ec, 0x1ee}, 0xc0002e4210, {0x15614c0?, 0xc000280ec0?, 0x200000000?}, {{0x14eb043, 0x3}, ...}, ...)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/binary_decode.go:94 +0x1425 fp=0xc04050afa8 sp=0xc04050ad58 pc=0x11f00e5
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).decodeReflectBinarySlice(0xc00039a000?, {0xc0002a4801, 0x1ec, 0x1ee}, 0xc0001932d8?, {0x1505580?, 0xc0002942a0?, 0x100010100188090?}, {{0x14eb043, 0x3}, ...}, ...)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/binary_decode.go:881 +0x871 fp=0xc04050b1e0 sp=0xc04050afa8 pc=0x11f3651
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).decodeReflectBinary(0x16b71a8?, {0xc0002a4800, 0x1ed, 0x1ef}, 0xc0002e4160, {0x1505580?, 0xc0002942a0?, 0x1?}, {{0x14eb043, 0x3}, ...}, ...)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/binary_decode.go:115 +0x1533 fp=0xc04050b430 sp=0xc04050b1e0 pc=0x11f01f3
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).decodeReflectBinaryStruct(0x150bec0?, {0xc0002a4800, 0x1ed, 0x1ef}, 0xc0002e40b0, {0x15af9e0?, 0xc0002942a0?, 0x98?}, {{0x0, 0x0}, ...}, ...)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/binary_decode.go:944 +0x505 fp=0xc04050b680 sp=0xc04050b430 pc=0x11f43e5
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).decodeReflectBinary(0xc000396000?, {0xc0002a4800, 0x1ed, 0x1ef}, 0xc0002e40b0, {0x15af9e0?, 0xc0002942a0?, 0x6?}, {{0x0, 0x0}, ...}, ...)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/binary_decode.go:121 +0x1697 fp=0xc04050b8d0 sp=0xc04050b680 pc=0x11f0357
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).unmarshalReflect(0xc000038780?, {0xc0002a4800, 0x1ed, 0x1ef}, {0x15794e0?, 0xc0002942a0?})
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/amino.go:658 +0x3ed fp=0xc04050ba10 sp=0xc04050b8d0 pc=0x11edbad
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).Unmarshal(0xc000038780, {0xc0002a4800, 0x1ed, 0x1ef}, {0x15794e0, 0xc0002942a0})
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/amino.go:604 +0x85 fp=0xc04050ba50 sp=0xc04050ba10 pc=0x11ed745
github.com/gnolang/gno/tm2/pkg/amino.Unmarshal(...)
	/Users/zmilos/go/pkg/mod/github.com/gnolang/[email protected]/tm2/pkg/amino/amino.go:96
github.com/gnolang/tx-archive/backup/client/http.(*Client).GetBlockTransactions(0xc00020b980, 0x5)
	/Users/zmilos/Work/tx-archive/backup/client/http/http.go:55 +0x245 fp=0xc04050bb48 sp=0xc04050ba50 pc=0x1492b25
github.com/gnolang/tx-archive/backup.(*Service).ExecuteBackup(0xc00021a1b0, {0x16aee00, 0x1a79680}, {0x0?, 0xc000193cb8?})
	/Users/zmilos/Work/tx-archive/backup/backup.go:58 +0x1ac fp=0xc04050bc30 sp=0xc04050bb48 pc=0x123eb2c
main.(*backupCfg).exec(0xc0001fed00, {0x16aee00, 0x1a79680}, {0x0?, 0xc000193e08?, 0x14940d6?})
	/Users/zmilos/Work/tx-archive/cmd/backup.go:173 +0x3e5 fp=0xc04050bd68 sp=0xc04050bc30 pc=0x14c9b25
main.(*backupCfg).exec-fm({0x16aee00?, 0x1a79680?}, {0xc000024230?, 0x0?, 0x0?})
	<autogenerated>:1 +0x45 fp=0xc04050bda8 sp=0xc04050bd68 pc=0x14ca785
github.com/peterbourgon/ff/v3/ffcli.(*Command).Run(0xc000024230?, {0x16aee00?, 0x1a79680?})
	/Users/zmilos/go/pkg/mod/github.com/peterbourgon/ff/[email protected]/ffcli/command.go:153 +0x15a fp=0xc04050be20 sp=0xc04050bda8 pc=0x14944ba
github.com/peterbourgon/ff/v3/ffcli.(*Command).Run(0xc0001e93f0?, {0x16aee00?, 0x1a79680?})
	/Users/zmilos/go/pkg/mod/github.com/peterbourgon/ff/[email protected]/ffcli/command.go:157 +0x106 fp=0xc04050be98 sp=0xc04050be20 pc=0x1494466
github.com/peterbourgon/ff/v3/ffcli.(*Command).ParseAndRun(0xc0000061a0?, {0x16aee00, 0x1a79680}, {0xc000024220?, 0x106ff5a?, 0x0?})
	/Users/zmilos/go/pkg/mod/github.com/peterbourgon/ff/[email protected]/ffcli/command.go:169 +0x49 fp=0xc04050bed0 sp=0xc04050be98 pc=0x1494609
main.main()
	/Users/zmilos/Work/tx-archive/cmd/main.go:31 +0x1a6 fp=0xc04050bf40 sp=0xc04050bed0 pc=0x14ca6a6
runtime.main()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:267 +0x2bb fp=0xc04050bfe0 sp=0xc04050bf40 pc=0x103cfbb
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc04050bfe8 sp=0xc04050bfe0 pc=0x10702e1

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc00005afa8 sp=0xc00005af88 pc=0x103d42e
runtime.goparkunlock(...)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:404
runtime.forcegchelper()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:322 +0xb3 fp=0xc00005afe0 sp=0xc00005afa8 pc=0x103d293
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00005afe8 sp=0xc00005afe0 pc=0x10702e1
created by runtime.init.6 in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:310 +0x1a

goroutine 3 [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc00005b778 sp=0xc00005b758 pc=0x103d42e
runtime.goparkunlock(...)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:404
runtime.bgsweep(0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgcsweep.go:321 +0xdf fp=0xc00005b7c8 sp=0xc00005b778 pc=0x10282df
runtime.gcenable.func1()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:200 +0x25 fp=0xc00005b7e0 sp=0xc00005b7c8 pc=0x101d425
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00005b7e8 sp=0xc00005b7e0 pc=0x10702e1
created by runtime.gcenable in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:200 +0x66

goroutine 4 [GC scavenge wait]:
runtime.gopark(0x1d2b15f5?, 0x690f91a0?, 0x0?, 0x0?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc00005bf70 sp=0xc00005bf50 pc=0x103d42e
runtime.goparkunlock(...)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:404
runtime.(*scavengerState).park(0x1a4a3c0)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc00005bfa0 sp=0xc00005bf70 pc=0x1025b29
runtime.bgscavenge(0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgcscavenge.go:658 +0x59 fp=0xc00005bfc8 sp=0xc00005bfa0 pc=0x10260d9
runtime.gcenable.func2()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:201 +0x25 fp=0xc00005bfe0 sp=0xc00005bfc8 pc=0x101d3c5
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00005bfe8 sp=0xc00005bfe0 pc=0x10702e1
created by runtime.gcenable in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:201 +0xa5

goroutine 5 [finalizer wait]:
runtime.gopark(0x15d8f40?, 0x10103e501?, 0x0?, 0x0?, 0x1045585?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc00005a628 sp=0xc00005a608 pc=0x103d42e
runtime.runfinq()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mfinal.go:193 +0x107 fp=0xc00005a7e0 sp=0xc00005a628 pc=0x101c4a7
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00005a7e8 sp=0xc00005a7e0 pc=0x10702e1
created by runtime.createfing in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mfinal.go:163 +0x3d

goroutine 9 [GC worker (idle)]:
runtime.gopark(0x21bffa1bbd22?, 0x3?, 0x6e?, 0x8?, 0x487f0000?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc00005c750 sp=0xc00005c730 pc=0x103d42e
runtime.gcBgMarkWorker()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1293 +0xe5 fp=0xc00005c7e0 sp=0xc00005c750 pc=0x101efa5
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00005c7e8 sp=0xc00005c7e0 pc=0x10702e1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1217 +0x1c

goroutine 7 [IO wait]:
runtime.gopark(0x7?, 0xc0000eb000?, 0x0?, 0x10?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc00006fab8 sp=0xc00006fa98 pc=0x103d42e
runtime.netpollblock(0x1081e45?, 0x1008326?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/netpoll.go:564 +0xf7 fp=0xc00006faf0 sp=0xc00006fab8 pc=0x10366f7
internal/poll.runtime_pollWait(0x487f26e8, 0x72)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/netpoll.go:343 +0x85 fp=0xc00006fb10 sp=0xc00006faf0 pc=0x106a5a5
internal/poll.(*pollDesc).wait(0xc0000d7f00?, 0xc0000eb000?, 0x0)
	/usr/local/Cellar/go/1.21.1/libexec/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc00006fb38 sp=0xc00006fb10 pc=0x10d83e7
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.21.1/libexec/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0000d7f00, {0xc0000eb000, 0x1000, 0x1000})
	/usr/local/Cellar/go/1.21.1/libexec/src/internal/poll/fd_unix.go:164 +0x27a fp=0xc00006fbd0 sp=0xc00006fb38 pc=0x10d96da
net.(*netFD).Read(0xc0000d7f00, {0xc0000eb000?, 0x1391580?, 0xc000182d00?})
	/usr/local/Cellar/go/1.21.1/libexec/src/net/fd_posix.go:55 +0x25 fp=0xc00006fc18 sp=0xc00006fbd0 pc=0x12b47c5
net.(*conn).Read(0xc00005e720, {0xc0000eb000?, 0x0?, 0xc0000061a0?})
	/usr/local/Cellar/go/1.21.1/libexec/src/net/net.go:179 +0x45 fp=0xc00006fc60 sp=0xc00006fc18 pc=0x12c0de5
net.(*TCPConn).Read(0x4?, {0xc0000eb000?, 0x100957a?, 0xf?})
	<autogenerated>:1 +0x25 fp=0xc00006fc90 sp=0xc00006fc60 pc=0x12d08c5
net/http.(*persistConn).Read(0xc0000c8900, {0xc0000eb000?, 0xc000034b40?, 0xc00006fd38?})
	/usr/local/Cellar/go/1.21.1/libexec/src/net/http/transport.go:1954 +0x4a fp=0xc00006fcf0 sp=0xc00006fc90 pc=0x139784a
bufio.(*Reader).fill(0xc000208420)
	/usr/local/Cellar/go/1.21.1/libexec/src/bufio/bufio.go:113 +0x103 fp=0xc00006fd28 sp=0xc00006fcf0 pc=0x1187ac3
bufio.(*Reader).Peek(0xc000208420, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/bufio/bufio.go:151 +0x53 fp=0xc00006fd48 sp=0xc00006fd28 pc=0x1187bf3
net/http.(*persistConn).readLoop(0xc0000c8900)
	/usr/local/Cellar/go/1.21.1/libexec/src/net/http/transport.go:2118 +0x1b9 fp=0xc00006ffc8 sp=0xc00006fd48 pc=0x1398639
net/http.(*Transport).dialConn.func5()
	/usr/local/Cellar/go/1.21.1/libexec/src/net/http/transport.go:1776 +0x25 fp=0xc00006ffe0 sp=0xc00006ffc8 pc=0x1396e65
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00006ffe8 sp=0xc00006ffe0 pc=0x10702e1
created by net/http.(*Transport).dialConn in goroutine 6
	/usr/local/Cellar/go/1.21.1/libexec/src/net/http/transport.go:1776 +0x169f

goroutine 8 [select]:
runtime.gopark(0xc00006af90?, 0x2?, 0xe0?, 0xad?, 0xc00006af1c?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc00006adb8 sp=0xc00006ad98 pc=0x103d42e
runtime.selectgo(0xc00006af90, 0xc00006af18, 0xc0001ff000?, 0x0, 0x0?, 0x1)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/select.go:327 +0x725 fp=0xc00006aed8 sp=0xc00006adb8 pc=0x104d7a5
net/http.(*persistConn).writeLoop(0xc0000c8900)
	/usr/local/Cellar/go/1.21.1/libexec/src/net/http/transport.go:2421 +0xe5 fp=0xc00006afc8 sp=0xc00006aed8 pc=0x139a005
net/http.(*Transport).dialConn.func6()
	/usr/local/Cellar/go/1.21.1/libexec/src/net/http/transport.go:1777 +0x25 fp=0xc00006afe0 sp=0xc00006afc8 pc=0x1396e05
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00006afe8 sp=0xc00006afe0 pc=0x10702e1
created by net/http.(*Transport).dialConn in goroutine 6
	/usr/local/Cellar/go/1.21.1/libexec/src/net/http/transport.go:1777 +0x16f1

goroutine 18 [GC worker (idle)]:
runtime.gopark(0x21bfef2d92ed?, 0x3?, 0xfb?, 0xc4?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc00005cf50 sp=0xc00005cf30 pc=0x103d42e
runtime.gcBgMarkWorker()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1293 +0xe5 fp=0xc00005cfe0 sp=0xc00005cf50 pc=0x101efa5
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00005cfe8 sp=0xc00005cfe0 pc=0x10702e1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1217 +0x1c

goroutine 19 [GC worker (idle)]:
runtime.gopark(0x21bffa1bbf0a?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc000056750 sp=0xc000056730 pc=0x103d42e
runtime.gcBgMarkWorker()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1293 +0xe5 fp=0xc0000567e0 sp=0xc000056750 pc=0x101efa5
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000567e8 sp=0xc0000567e0 pc=0x10702e1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1217 +0x1c

goroutine 34 [GC worker (idle)]:
runtime.gopark(0x21bffa1bbcfa?, 0x1?, 0x3b?, 0xfb?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc00014a750 sp=0xc00014a730 pc=0x103d42e
runtime.gcBgMarkWorker()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1293 +0xe5 fp=0xc00014a7e0 sp=0xc00014a750 pc=0x101efa5
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00014a7e8 sp=0xc00014a7e0 pc=0x10702e1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1217 +0x1c

goroutine 20 [GC worker (idle)]:
runtime.gopark(0x21bffa1bbd36?, 0x1?, 0x9f?, 0xe5?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc000056f50 sp=0xc000056f30 pc=0x103d42e
runtime.gcBgMarkWorker()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1293 +0xe5 fp=0xc000056fe0 sp=0xc000056f50 pc=0x101efa5
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000056fe8 sp=0xc000056fe0 pc=0x10702e1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1217 +0x1c

goroutine 10 [GC worker (idle)]:
runtime.gopark(0x1a7aa80?, 0x1?, 0x47?, 0xcd?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc00005d750 sp=0xc00005d730 pc=0x103d42e
runtime.gcBgMarkWorker()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1293 +0xe5 fp=0xc00005d7e0 sp=0xc00005d750 pc=0x101efa5
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00005d7e8 sp=0xc00005d7e0 pc=0x10702e1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1217 +0x1c

goroutine 21 [GC worker (idle)]:
runtime.gopark(0x21bffa1bbcfd?, 0x3?, 0xfa?, 0x1d?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc000057750 sp=0xc000057730 pc=0x103d42e
runtime.gcBgMarkWorker()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1293 +0xe5 fp=0xc0000577e0 sp=0xc000057750 pc=0x101efa5
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000577e8 sp=0xc0000577e0 pc=0x10702e1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1217 +0x1c

goroutine 35 [GC worker (idle)]:
runtime.gopark(0x1a7aa80?, 0x3?, 0xd?, 0xe6?, 0x0?)
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/proc.go:398 +0xce fp=0xc00014af50 sp=0xc00014af30 pc=0x103d42e
runtime.gcBgMarkWorker()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1293 +0xe5 fp=0xc00014afe0 sp=0xc00014af50 pc=0x101efa5
runtime.goexit()
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00014afe8 sp=0xc00014afe0 pc=0x10702e1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/usr/local/Cellar/go/1.21.1/libexec/src/runtime/mgc.go:1217 +0x1c

Proposed solution

No proposed solution as of now.

@zivkovicmilos zivkovicmilos added the 🐞 bug Something isn't working label Oct 5, 2023
@zivkovicmilos
Copy link
Member Author

Might be related:

cc @albttx

#1178

@moul moul linked a pull request Oct 5, 2023 that will close this issue
7 tasks
@piux2
Copy link
Contributor

piux2 commented Oct 10, 2023

There are two issues.

  • Issue 1: Missing Import for Amino Message Package
    The amino message package registered for vm.m_call and vm.m_addpkg must be imported into the global codec register. There are two potential solutions:

    • Import "github.com/gnolang/gno/gno.land/pkg/sdk/vm" directly here.
    • Move this file to a package that's already imported above.
  • Issue 2: Stack Overflow Panic in Error Formatting
    When executing the line:

    err = fmt.Errorf("unrecognized concrete type full name %s of %v", fullname, cdc.fullnameToTypeInfo)
    

    a stack overflow panic occurs after vm.m_call is not found in the cdc.fullnameToTypeInfo map. PR chore(amino): improve error readability #1179 removed the print out from fmt.Errorf("%v", fullname, cdc.fullnameToTypeInfo). While this addresses the immediate problem of the panic, it doesn't resolve the underlying issue causing the stack overflow.

    Further investigation revealed that the attempt to print m["tm.SimpleProofNode"].StructInfo.Fields[1].TypeInfo leads to an infinite recursive loop.

    Will provide a fix for this issue shortly

piux2 added a commit to piux2/gno that referenced this issue Oct 10, 2023
Fix the second issue in gnolang#1197

- Before fix, if a Amino type was not imported as registered Amino package, we got stack overflow 

runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0xc02050c458 stack=[0xc02050c000, 0xc04050c000]
fatal error: stack overflow

- After fix, if a Amino type was not imported as registered Amino package, we could print the message to verify what has been imported for debugging purpose

Error: unable to unmarshal with amino, unmarshal to std.Tx failed after 17 bytes (error reading slice contents: unrecognized concrete type full name vm.m_call of map[abci.BlockParams:TypeInfo{Type:abci.BlockParams,Registered:true,PointerPreferred:false,TypeURL:"/abci.BlockParams",ReprType:,Fields:[]amino.FieldInfo{amino.FieldInfo{Type:(*reflect.rtype)(0x104cfc920), TypeInfo:(*amino.TypeInfo)(0x1400011c6e0), Name:"MaxTxBytes", Index:0, ........
@zivkovicmilos
Copy link
Member Author

@piux2

This issue is still not resolved, please don't close it until we find a solution to the problem

@zivkovicmilos zivkovicmilos reopened this Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 bug Something isn't working
Projects
Status: 🚀 Needed for Launch
Development

Successfully merging a pull request may close this issue.

2 participants