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

[BUG] Continuously changing the configuration and restarting the node causes it to panic during runtime. #2012

Closed
sdjasj opened this issue Dec 29, 2024 · 1 comment
Labels
bug Something isn't working linear Created by Linear-GitHub Sync

Comments

@sdjasj
Copy link

sdjasj commented Dec 29, 2024

Seid version
name: sei
server_name:
version: v4.1.7-evm-devnet
commit: 6e0c934
build_tags: netgo ledger,
go: go version go1.22.4 linux/amd64
build_deps:

  • cosmossdk.io/errors@v1.0.0
  • filippo.io/edwards25519@v1.0.0-rc.1
  • github.com/99designs/keyring@v1.2.1

Chain ID
Local 4-docker-node chain

Describe the bug
I continuously changed the node configuration and restarted the node. During one of the restarts, the node panicked with the error: panic: runtime error: invalid memory address or nil pointer dereference. However, I am unsure which configuration change caused this issue. Below are the detailed node logs and the configuration file at the time of the error for debugging purposes.

To Reproduce
Steps to reproduce the behavior:

  1. Continuously change the node config and restart the node
  2. The node panic in runtime

Expected behavior
The node should not panic, or if it does, it should provide a friendly error message to the user when the panic occurs.

Screenshots
Here is the code snippet with the bug:
image-1

Additional context
Here is the panic log.
seid-3.log

Here is the config file

proxy-app = "tcp://127.0.0.1:26658"
moniker = "sei-node-0"
mode = "validator"
db-backend = "goleveldb"
db-dir = "data"
log-level = "info"
log-format = "plain"
genesis-file = "config/genesis.json"
node-key-file = "config/node_key.json"
abci = "socket"
filter-peers = false

[priv-validator]
key-file = "config/priv_validator_key.json"
state-file = "data/priv_validator_state.json"
laddr = ""
client-certificate-file = ""
client-key-file = ""
root-ca-file = ""

[rpc]
laddr = "tcp://0.0.0.0:26657"
cors-allowed-origins = []
cors-allowed-methods = [ "HEAD", "GET", "POST",]
cors-allowed-headers = [ "Origin", "Accept", "Content-Type", "X-Requested-With", "X-Server-Time",]
unsafe = false
max-open-connections = 900
max-subscriptions-per-client = 5
experimental-disable-websocket = false
event-log-window-size = "30s"
event-log-max-items = 0
timeout-broadcast-tx-commit = "10s"
max-body-bytes = 1000000
max-header-bytes = 1048576
tls-cert-file = ""
tls-key-file = ""
pprof-laddr = "localhost:6060"

[p2p]
queue-type = "priority"
laddr = "tcp://0.0.0.0:26656"
external-address = ""
bootstrap-peers = ""
persistent-peers = "582dbc29aacc541d7ba0c065407828ffd056bac4@192.168.10.10:26656,142a465030daffdf1796db53f2e8fdaaa3ad80e8@192.168.10.11:26656,711ebb64062b61f3b8d4594bc61ccb677cadbda9@192.168.10.12:26656"
upnp = false
max-connections = 200
max-incoming-connection-attempts = 100
pex = true
private-peer-ids = ""
allow-duplicate-ip = false
handshake-timeout = "20s"
dial-timeout = "3s"
flush-throttle-timeout = "10ms"
max-packet-msg-payload-size = 102400
send-rate = 204800000
recv-rate = 204800000

[mempool]
broadcast = true
size = 5000
max-txs-bytes = 107374182400
cache-size = 50000
keep-invalid-txs-in-cache = false
max-tx-bytes = 20485760
max-batch-bytes = 0
ttl-duration = "0s"
ttl-num-blocks = 0

[statesync]
enable = false
rpc-servers = ""
trust-height = 0
trust-hash = ""
trust-period = "168h0m0s"
discovery-time = "15s"
temp-dir = ""
chunk-request-timeout = "15s"
fetchers = "4"

[consensus]
wal-file = "data/cs.wal/wal"
unsafe-propose-timeout-override = "3s"
unsafe-propose-timeout-delta-override = "500ms"
unsafe-vote-timeout-override = "50ms"
unsafe-vote-timeout-delta-override = "500ms"
unsafe-commit-timeout-override = "50ms"
double-sign-check-height = 0
unsafe-bypass-commit-timeout-override = false
create-empty-blocks = true
create-empty-blocks-interval = "0s"
peer-gossip-sleep-duration = "100ms"
peer-query-maj23-sleep-duration = "2s"
gossip-tx-key-only = true

[tx-index]
indexer = [ "kv",]
psql-conn = ""

[instrumentation]
prometheus = true
prometheus-listen-addr = ":26660"
max-open-connections = 3
namespace = "tendermint"
@sdjasj sdjasj added bug Something isn't working linear Created by Linear-GitHub Sync labels Dec 29, 2024
@cordt-sei
Copy link
Contributor

You're missing a significant portion of the config entirely. This is not a bug. It is sort of like taking the top half of your engine off then complaining to the manufacturer that the car no longer works.

Missing parameterss
max-subscription-clients = 100

timeout-read = "10s"

blocksync-peers = ""

tx-notify-threshold = 0

check-tx-error-blacklist-enabled = false

check-tx-error-threshold = 0

pending-size = 5000

max-pending-txs-bytes = 1073741824

pending-ttl-duration = "3s"

pending-ttl-num-blocks = 5

use-p2p = true

backfill-blocks = "0"

backfill-duration = "0s"

verify-light-block-timeout = "1m0s"

blacklist-ttl = "5m0s"

p2p-no-peers-available-window-seconds = 0

statesync-no-peers-available-window-seconds = 0

blocks-behind-threshold = 0

blocks-behind-check-interval = 60

restart-cooldown-seconds = 600

db-sync-enable = "false"

snapshot-interval = "0"

snapshot-directory = ""

snapshot-worker-count = "16"

timeout-in-seconds = "1200"

no-file-sleep-in-seconds = "1"

file-worker-count = "32"

file-worker-timeout = "30"

trust-height = 1

trust-hash = ""

trust-period = "24h0m0s"

verify-light-block-timeout = "1m0s"

blacklist-ttl = "5m0s"

I'm not sure this one is valid either:

# Select the p2p internal queue
queue-type = "priority"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working linear Created by Linear-GitHub Sync
Projects
None yet
Development

No branches or pull requests

2 participants