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

panic: invalid Go type math.LegacyDec for field cosmos.mint.v1beta1.QueryInflationResponse.inflation #655

Open
civet148 opened this issue Sep 23, 2023 · 3 comments
Assignees

Comments

@civet148
Copy link

civet148 commented Sep 23, 2023

Bug description

Hi, I just using the bdjuno (branch v0.47.x) to sync my test net in local (5 nodes 5 machines) , I added the mint module to config file, very day 12 PM, there was a panic when sync the infaltion from my node (Cosmos SDK v0.47.3) , I tried to downgrade the grpc/protobuf version, still has this problem.

above is the bug log


11:59PM DBG processing block height=104200
11:59PM DBG updating validators height=104200 module=staking
11:59PM DBG updating signing info height=104200 module=slashing
11:59PM DBG updating validators voting powers height=104200 module=staking
11:59PM DBG updating validators statuses height=104200 module=staking
11:59PM DBG updating double sign evidence height=104200 module=staking
11:59PM DBG enqueueing new block height=104201
11:59PM DBG processing block height=104201
11:59PM DBG updating validators height=104201 module=staking
11:59PM DBG updating signing info height=104201 module=slashing
11:59PM DBG updating double sign evidence height=104201 module=staking
11:59PM DBG updating validators statuses height=104201 module=staking
11:59PM DBG updating validators voting powers height=104201 module=staking
11:59PM DBG enqueueing new block height=104202
11:59PM DBG processing block height=104202
11:59PM DBG updating validators height=104202 module=staking
11:59PM DBG updating signing info height=104202 module=slashing
11:59PM DBG updating validators voting powers height=104202 module=staking
11:59PM DBG updating double sign evidence height=104202 module=staking
11:59PM DBG updating validators statuses height=104202 module=staking
12:00AM DBG getting inflation data module=mint operation=inflation
panic: invalid Go type math.LegacyDec for field cosmos.mint.v1beta1.QueryInflationResponse.inflation

goroutine 38856 [running]:
google.golang.org/protobuf/internal/impl.newSingularConverter({0x306d510?, 0x24a7fa0}, {0x306e948, 0xc000381770})
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/internal/impl/convert.go:142 +0xaa8
google.golang.org/protobuf/internal/impl.NewConverter({0x306d510, 0x24a7fa0}, {0x306e948?, 0xc000381770?})
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/internal/impl/convert.go:60 +0x9d
google.golang.org/protobuf/internal/impl.fieldInfoForScalar({0x306e948, 0xc000381770}, {{0x21e0dbe, 0x9}, {0x0, 0x0}, {0x306d510, 0x24a7fa0}, {0x21e0dc8, 0x6f}, ...}, ...)
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/internal/impl/message_reflect_field.go:270 +0x17c
google.golang.org/protobuf/internal/impl.(*MessageInfo).makeKnownFieldsFunc(0xc000d586e0, {0xffffffffffffffff, {0x0, 0x0}, 0xffffffffffffffff, {0x0, 0x0}, 0xffffffffffffffff, {0x0, 0x0}, ...})
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/internal/impl/message_reflect.go:80 +0x78a
google.golang.org/protobuf/internal/impl.(*MessageInfo).makeReflectFuncs(0xc000d586e0, {0x306d510, 0x21a9c80}, {0xffffffffffffffff, {0x0, 0x0}, 0xffffffffffffffff, {0x0, 0x0}, 0xffffffffffffffff, ...}
)
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/internal/impl/message_reflect.go:42 +0x58
google.golang.org/protobuf/internal/impl.(*MessageInfo).initOnce(0xc000d586e0)
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/internal/impl/message.go:90 +0x1b0
google.golang.org/protobuf/internal/impl.(*MessageInfo).init(...)
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/internal/impl/message.go:72
google.golang.org/protobuf/internal/impl.(*messageReflectWrapper).ProtoMethods(0xc000b70a40)
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/internal/impl/message_reflect_gen.go:150 +0x28
google.golang.org/protobuf/proto.protoMethods(...)
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/proto/proto_methods.go:19
google.golang.org/protobuf/proto.UnmarshalOptions.unmarshal({{}, 0x1, 0x1, 0x0, {0x3023938, 0xc000119b30}, 0x2710}, {0xc00097fdd0, 0x14, 0x14}, ...)
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/proto/decode.go:93 +0xe8
google.golang.org/protobuf/proto.UnmarshalOptions.UnmarshalState({{}, 0x1, 0x1, 0x0, {0x0, 0x0}, 0x2710}, {{}, {0x3061418, 0xc000b70a40}, ...})
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/proto/decode.go:77 +0xa8
github.com/golang/protobuf/proto.UnmarshalMerge({0xc00097fdd0, 0x14, 0x14}, {0x30301e0?, 0xc000eacd60?})
/mnt/e/code/pkg/mod/github.com/golang/[email protected]/proto/wire.go:67 +0x12b
github.com/golang/protobuf/proto.Unmarshal({0xc00097fdd0, 0x14, 0x14}, {0x30301e0, 0xc000eacd60?})
/mnt/e/code/pkg/mod/github.com/golang/[email protected]/proto/wire.go:58 +0x53
google.golang.org/grpc/encoding/proto.codec.Unmarshal({}, {0xc00097fdd0, 0x14, 0x14}, {0x23a6040, 0xc000eacd60})
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/encoding/proto/proto.go:53 +0x5f
google.golang.org/grpc.recv(0xc000571d40, {0x7fe0681e9a68, 0x4538c00}, 0xc000eacd70?, {0x0, 0x0}, {0x23a6040, 0xc000eacd60}, 0x23a62c0?, 0x0, ...)
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/rpc_util.go:800 +0x10a
google.golang.org/grpc.(*csAttempt).recvMsg(0xc000df1450, {0x23a6040?, 0xc000eacd60}, 0x4538c00?)
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/stream.go:1079 +0x27d
google.golang.org/grpc.(*clientStream).RecvMsg.func1(0x0?)
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/stream.go:922 +0x1f
google.golang.org/grpc.(*clientStream).withRetry(0xc000de0360, 0xc000b63cc8, 0xc000b63cb8)
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/stream.go:771 +0x13a
google.golang.org/grpc.(*clientStream).RecvMsg(0xc000de0360, {0x23a6040?, 0xc000eacd60?})
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/stream.go:921 +0x113
google.golang.org/grpc.invoke({0x3040448?, 0xc000571bc0?}, {0x2512e7a?, 0x4123a5?}, {0x23a62c0, 0x4538c00}, {0x23a6040, 0xc000eacd60}, 0x0?, {0x0, ...})
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/call.go:78 +0xcb
google.golang.org/grpc.(*ClientConn).Invoke(0xc000b5cc00, {0x3040448, 0xc000571bc0}, {0x2512e7a, 0x24}, {0x23a62c0, 0x4538c00}, {0x23a6040, 0xc000eacd60}, {0x0, ...})
/mnt/e/code/pkg/mod/google.golang.org/[email protected]/call.go:42 +0x2cb
github.com/cosmos/cosmos-sdk/x/mint/types.(*queryClient).Inflation(0xc000b714e0, {0x3040448, 0xc000571bc0}, 0xc000b63f40?, {0x0, 0x0, 0x0})
/mnt/e/code/pkg/mod/github.com/cosmos/[email protected]/x/mint/types/query.pb.go:356 +0xcb
github.com/forbole/bdjuno/v4/modules/mint/source/remote.Source.GetInflation({0xc0007ed260?, {0x3030240?, 0xc000b714e0?}}, 0xc000dadb18?)
/home/libin/coeus-labs/cosmos-explorer/bdjuno/modules/mint/source/remote/source.go:31 +0x62
github.com/forbole/bdjuno/v4/modules/mint.(*Module).UpdateInflation(0xc0005d3980)
/home/libin/coeus-labs/cosmos-explorer/bdjuno/modules/mint/handle_periodic_operations.go:38 +0xad
github.com/forbole/bdjuno/v4/modules/utils.WatchMethod.func1()
/home/libin/coeus-labs/cosmos-explorer/bdjuno/modules/utils/errors.go:11 +0x17
created by github.com/forbole/bdjuno/v4/modules/utils.WatchMethod in goroutine 38855
/home/libin/coeus-labs/cosmos-explorer/bdjuno/modules/utils/errors.go:10 +0x4f

@vladimir-trifonov
Copy link

@civet148
Copy link
Author

civet148 commented Oct 9, 2023

fyi: the error is thrown in here: https://github.com/protocolbuffers/protobuf-go/blob/master/internal/impl/convert.go#L142

yes, I tried cosmos-sdk simd in command line

# It's crashed
simd query mint inflation --grpc-addr 192.168.1.26:9090 --grpc-insecure
# It's works
simd query mint inflation --node tcp://192.168.1.26:26657

@MonikaCat
Copy link
Contributor

Hey yes I believe this is a bug inside the cosmos-sdk and it actually occurs in several chains we support. Until this is fixed you can try to query API endpoint instead to get the latest inflation value, here is an example thanks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants