pactus-project / pactus

Pactus blockchain
https://pactus.org
MIT License
210 stars 140 forks source link

raspberry pi runtime error #1565

Open Fabryprog opened 1 week ago

Fabryprog commented 1 week ago

Description

I compiled a docker file image (v1.5.0) for my raspberry pi (Linux raspberrypi 5.10.63-v7+ #1459 SMP Wed Oct 6 16:41:10 BST 2021 armv7l GNU/Linux) but pactus daemon exit with the following error:

panic: runtime error: index out of range [4] with length 4

goroutine 1 [running]:
github.com/kilic/bls12-381.(*Fr).fromBig(0x3d19ad4, 0x3d194fc)
    github.com/kilic/bls12-381@v0.1.0/fr.go:84 +0x274
github.com/kilic/bls12-381.(*Fr).fromBytes(0x3d19ad4, {0x4086480, 0x20, 0x40})
    github.com/kilic/bls12-381@v0.1.0/fr.go:69 +0x88
github.com/kilic/bls12-381.(*Fr).FromBytes(...)
    github.com/kilic/bls12-381@v0.1.0/fr.go:57
github.com/pactus-project/pactus/crypto/bls/hdkeychain.(*ExtendedKey).Derive(0x3ff06c0, 0x8000305d)
    github.com/pactus-project/pactus/crypto/bls/hdkeychain/extendedkey.go:232 +0x7b8
github.com/pactus-project/pactus/crypto/bls/hdkeychain.(*ExtendedKey).DerivePath(0x3ff06c0, {0x40441b0, 0x4, 0x4})
    github.com/pactus-project/pactus/crypto/bls/hdkeychain/extendedkey.go:107 +0x4c
github.com/pactus-project/pactus/wallet/vault.(*Vault).deriveBLSPrivateKey(0x3f4e040, {0x4086200, 0x40, 0x40}, {0x40441b0, 0x4, 0x4})
    github.com/pactus-project/pactus/wallet/vault/vault.go:623 +0x64
github.com/pactus-project/pactus/wallet/vault.(*Vault).PrivateKeys(0x3f4e040, {0x7ee70f5a, 0x8}, {0x3f4e0c0, 0x7, 0x7})
    github.com/pactus-project/pactus/wallet/vault/vault.go:425 +0x3d4
github.com/pactus-project/pactus/wallet.(*Wallet).PrivateKeys(...)
    github.com/pactus-project/pactus/wallet/wallet.go:406
github.com/pactus-project/pactus/cmd.MakeValidatorKey(0x4116420, {0x3ef20f8, 0x7, 0x7}, 0x410fe2c)
    github.com/pactus-project/pactus/cmd/cmd.go:625 +0x290
github.com/pactus-project/pactus/cmd.StartNode({0x408ec40, 0xc}, 0x410fe2c)
    github.com/pactus-project/pactus/cmd/cmd.go:406 +0x204
main.buildStartCmd.func1(0x3fccc08, {0x4084fb0, 0x0, 0x2})
    github.com/pactus-project/pactus/cmd/daemon/start.go:60 +0x1b0
github.com/spf13/cobra.(*Command).execute(0x3fccc08, {0x4084f90, 0x2, 0x2})
    github.com/spf13/cobra@v1.8.1/command.go:989 +0x9b0
github.com/spf13/cobra.(*Command).ExecuteC(0x3fcc608)
    github.com/spf13/cobra@v1.8.1/command.go:1117 +0x44c
github.com/spf13/cobra.(*Command).Execute(...)
    github.com/spf13/cobra@v1.8.1/command.go:1041
main.main()
    github.com/pactus-project/pactus/cmd/daemon/main.go:29 +0xd8

How To Reproduce

docker build -t pactus:rasp .
docker run -it -d -v ~/pactus:/root/pactus -p 21888:21888 -p 21888:21888/udp -p 50051:50051 -p 8080:8080 --name pactus pactus:rasp pactus-daemon start --password <password>
b00f commented 4 days ago

@Fabryprog Is this issue reproducible, or does it happen only once?

Fabryprog commented 4 days ago

it is reproducible every time you start with docker