OffchainLabs / nitro

Nitro goes vroom and fixes everything
Other
744 stars 439 forks source link

unable to find validator machine directory for the on-chain WASM module root #2567

Open ThomasBlock opened 1 month ago

ThomasBlock commented 1 month ago

i run binaries without docker. on v3.1 there is an undocumented change?

https://docs.arbitrum.io/run-arbitrum-node/run-full-node

1. apt-get install sysstat -y is now neccessary, otherweise we see ERROR[08-09|18:13:21.175] Failed to start iostat command err="exec: \"iostat\": executable file not found in $PATH"

2.

Started Arbitrum Nitro Service.
INFO [08-09|18:16:21.247] using existing jwt file                  filename=/root/.arbitrum/jwtsecret
INFO [08-09|18:16:21.247] Running Arbitrum nitro node              revision=7d1d84c-modified vcs.time=2024-07-12T21:57:29Z
INFO [08-09|18:16:21.248] connected to l1 chain                    l1url=http://192.168.128.45:8545 l1chainid=1
INFO [08-09|18:16:21.249] Starting metrics server                  addr=http://0.0.0.0:6070/debug/metrics
WARN [08-09|18:16:21.250] Getting file info                        dir= error="stat : no such file or directory"
ERROR[08-09|18:16:21.250] unable to find validator machine directory for the on-chain WASM module root err="stat 0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4: no such file or directory"

How can i fix this? Do i need to create more folders etc?

ThomasBlock commented 1 month ago

okay is guess it has something to do with these new variables, but what do i have to set?

mkdir /root/wasm

--validation.wasm.allowed-wasm-module-roots /root/wasm --validation.wasm.root-path /root/wasm

ERROR[08-10|12:47:22.920] on-chain WASM module root did not match with any of the allowed WASM module roots
ThomasBlock commented 1 month ago

okay i created this manually and now it's booting..

mkdir /root/wasm/0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4

--validation.wasm.root-path /root/wasm

Started Arbitrum Nitro Service.
INFO [08-10|13:11:21.577] using existing jwt file                  filename=/root/.arbitrum/jwtsecret
INFO [08-10|13:11:21.577] Running Arbitrum nitro node              revision=7d1d84c-modified vcs.time=2024-07-12T21:57:29Z
INFO [08-10|13:11:21.578] connected to l1 chain                    l1url=http://192.168.128.45:8545 l1chainid=1
INFO [08-10|13:11:21.579] Starting metrics server                  addr=http://0.0.0.0:6070/debug/metrics
INFO [08-10|13:11:21.580] Defaulting to pebble as the backing database
INFO [08-10|13:11:21.580] Allocated cache and file handles         database=/root/.arbitrum/arb1/nitro/l2chaindata cache=16.00MiB handles=16
INFO [08-10|13:11:21.580] Downloading initial database             url=https://snapshot.arbitrum.foundation/arb1/nitro-pruned.tar
qnduncan commented 2 weeks ago

In my case, I set --validation.wasm.enable-wasmroots-check=false since I don't set --validation.* options.