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

Error: Rococo development wasm not available #6966

Closed
brunopgalvao opened this issue Dec 19, 2024 · 9 comments · Fixed by #7074
Closed

Error: Rococo development wasm not available #6966

brunopgalvao opened this issue Dec 19, 2024 · 9 comments · Fixed by #7074
Assignees
Labels
I2-bug The node fails to follow expected behavior. T0-node This PR/Issue is related to the topic “node”.

Comments

@brunopgalvao
Copy link
Contributor

When I run:

zombienet --provider native spawn ./zombienet.toml 

according to the README in this repo, I get the following:

╔════════════════════╤════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ 🧟 Zombienet 🧟    │ Initiation                                                                                         ║
╟────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ Provider           │ native                                                                                             ║
╟────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ Namespace          │ zombie-96f8a2c63c3f7edf93981a6408bb1248                                                            ║
╟────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ Temp Dir           │ /var/folders/vl/txnq6gdj22s9rn296z0md27w0000gn/T/zombie-96f8a2c63c3f7edf93981a6408bb1248_-3657-xR… ║
╚════════════════════╧════════════════════════════════════════════════════════════════════════════════════════════════════╝
┌─────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Pod                     │ temp                                                                                               │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Status                  │ Launching                                                                                          │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Command                 │ bash -c polkadot build-spec --chain rococo-local --disable-default-bootnode > /var/fo              │
│                         │ lders/vl/txnq6gdj22s9rn296z0md27w0000gn/T/zombie-96f8a2c63c3f7edf93981a6408bb1248_-3657-xR         │
│                         │ EJet39Ivr3/cfg/rococo-local-plain.json                                                             │
└─────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
Error:  	 Error: Command failed with exit code 1: bash -c polkadot build-spec --chain rococo-local --disable-default-bootnode > /var/folders/vl/txnq6gdj22s9rn296z0md27w0000gn/T/zombie-96f8a2c63c3f7edf93981a6408bb1248_-3657-xREJet39Ivr3/cfg/rococo-local-plain.json
Error: 
   0: Invalid input: Rococo development wasm not available

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
@kianenigma
Copy link
Contributor

Hey, thanks for reporting this!

Since fixes to templates should happen in the polkadot-sdk, I will transfer this issue there + assign it to the right person/project.

So far, it seems like your polkadot binary is not compiled such to have the native --chain rococo-local binary in it.

Where have you donwloaded/build it from?

@kianenigma kianenigma transferred this issue from paritytech/polkadot-sdk-parachain-template Dec 19, 2024
@kianenigma kianenigma moved this to Milestone 2 in Polkadot Omni Node Dec 19, 2024
@kianenigma
Copy link
Contributor

It does seem like that in the released polkadot binary, the development chain-specs such as rococo are not available:

[Parity] ./polkadot-aarch64-apple-darwin build-spec --chain rococo-local
Error:
   0: Invalid input: Rococo development wasm not available

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

@brunopgalvao
Copy link
Contributor Author

brunopgalvao commented Dec 19, 2024

Hey, thanks for reporting this!

Since fixes to templates should happen in the polkadot-sdk, I will transfer this issue there + assign it to the right person/project.

So far, it seems like your polkadot binary is not compiled such to have the native --chain rococo-local binary in it.

Where have you donwloaded/build it from?

Yes I was following the README in this repo and used the polkadot-aarch64-apple-darwin binary from the release.

@kianenigma kianenigma added T0-node This PR/Issue is related to the topic “node”. I2-bug The node fails to follow expected behavior. labels Dec 19, 2024
@kianenigma
Copy link
Contributor

I see that the omni-node package is not enabling these features, which seems to be a mistake.

Bit surprised about Polkadot -- quite likely we do the release builds with --default-features and manually re-enable the important ones.

I can understand that we want the release binary to be lean, but at the same time it is a blow to the DX to not be able to use the released polkadot binaries for testing with ZN. I think we should one defacto testing relay chain spec in the binary, be it rococo or paseo.

@brunopgalvao in the meantime though, you can edit the zombienet config to point to a rococo chain-spec json file path instead of the hardcoded one. cc @pepoviola

@brunopgalvao
Copy link
Contributor Author

brunopgalvao commented Dec 21, 2024

I edited the zombienet.toml file like so:

[relaychain]
default_command = "../polkadot-sdk/target/release/polkadot"
chain = "rococo-local"
chain_spec_path = "./rococo-local-plain.json"

[[relaychain.nodes]]
name = "alice"
validator = true
ws_port = 9944

[[relaychain.nodes]]
name = "bob"
validator = true
ws_port = 9955

[[parachains]]
id = 1000

[parachains.collator]
name = "charlie"
ws_port = 9988
command = "parachain-template-node"

I now get the following error:

zombienet --provider native spawn ./zombienet.toml                                                                                           
╔════════════════════╤════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ 🧟 Zombienet 🧟    │ Initiation                                                                                         ║
╟────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ Provider           │ native                                                                                             ║
╟────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ Namespace          │ zombie-939a79542ac3732612b96ad9c4b6bbd2                                                            ║
╟────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ Temp Dir           │ /var/folders/vl/txnq6gdj22s9rn296z0md27w0000gn/T/zombie-939a79542ac3732612b96ad9c4b6bbd2_-26599-0… ║
╚════════════════════╧════════════════════════════════════════════════════════════════════════════════════════════════════╝
┌─────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Pod                     │ temp                                                                                               │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Status                  │ Launching                                                                                          │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Command                 │ bash -c parachain-template-node build-spec  --disable-default-bootnode > /var/folders              │
│                         │ /vl/txnq6gdj22s9rn296z0md27w0000gn/T/zombie-939a79542ac3732612b96ad9c4b6bbd2_-26599-0eVIKO         │
│                         │ T9dBff/cfg/undefined-plain.json                                                                    │
└─────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
Error:           Error: Command failed with exit code 127: bash -c parachain-template-node build-spec  --disable-default-bootnode > /var/folders/vl/txnq6gdj22s9rn296z0md27w0000gn/T/zombie-939a79542ac3732612b96ad9c4b6bbd2_-26599-0eVIKOT9dBff/cfg/undefined-plain.json
bash: parachain-template-node: command not found

Do I need to manually generate and specify the parachain chain spec as well?

Also, just to note, when I compile the polkadot-sdk repo (cargo build --release) and do not manually specify the chain spec, I get the following output:

zombienet --provider native spawn ./zombienet.toml 
╔════════════════════╤════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ 🧟 Zombienet 🧟    │ Initiation                                                                                         ║
╟────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ Provider           │ native                                                                                             ║
╟────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ Namespace          │ zombie-2497f8ead679cac01db11fa648e66fca                                                            ║
╟────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ Temp Dir           │ /var/folders/vl/txnq6gdj22s9rn296z0md27w0000gn/T/zombie-2497f8ead679cac01db11fa648e66fca_-25690-2… ║
╚════════════════════╧════════════════════════════════════════════════════════════════════════════════════════════════════╝
┌─────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Pod                     │ temp                                                                                               │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Status                  │ Launching                                                                                          │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Command                 │ bash -c ../polkadot-sdk/target/release/polkadot build-spec --chain rococo-local --dis              │
│                         │ able-default-bootnode > /var/folders/vl/txnq6gdj22s9rn296z0md27w0000gn/T/zombie-2497f8ead6         │
│                         │ 79cac01db11fa648e66fca_-25690-21B62f1pwdhn/cfg/rococo-local-plain.json                             │
└─────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────┐
│ Pod                                    │ temp                                                                           │
├────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────┤
│ Status                                 │ Ready                                                                          │
└────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Pod                     │ temp-1                                                                                             │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Status                  │ Launching                                                                                          │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Command                 │ bash -c parachain-template-node build-spec  --disable-default-bootnode > /var/folders              │
│                         │ /vl/txnq6gdj22s9rn296z0md27w0000gn/T/zombie-2497f8ead679cac01db11fa648e66fca_-25690-21B62f         │
│                         │ 1pwdhn/cfg/undefined-plain.json                                                                    │
└─────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
Error:           Error: Command failed with exit code 127: bash -c parachain-template-node build-spec  --disable-default-bootnode > /var/folders/vl/txnq6gdj22s9rn296z0md27w0000gn/T/zombie-2497f8ead679cac01db11fa648e66fca_-25690-21B62f1pwdhn/cfg/undefined-plain.json
bash: parachain-template-node: command not found

Notice how in the temp pod I actually get the rococo-local-plain.json chain spec but then in temp-1 I get undefined.

@kianenigma kianenigma moved this from Milestone 2 to Milestone 1 in Polkadot Omni Node Dec 23, 2024
@iulianbarbu
Copy link
Contributor

hey @brunopgalvao ! Not sure if your problem still persists, but the errors in the previous comment are most likely PATH related:

Error:           Error: Command failed with exit code 127: bash -c parachain-template-node build-spec  --disable-default-bootnode > /var/folders/vl/txnq6gdj22s9rn296z0md27w0000gn/T/zombie-2497f8ead679cac01db11fa648e66fca_-25690-21B62f1pwdhn/cfg/undefined-plain.json
bash: parachain-template-node: command not found

Can you ensure parachain-template-node binary is on the PATH? (if you use the aarch64-darwin binary a rename might be needed).

Also, parachain-template dedicated repo (https://github.com/paritytech/polkadot-sdk-parachain-template) is mirroring stable2409. We'll update it to reflect stable2412 soon. We track this here for now: #6329. Not sure if it will change anything around your issue, but just in case, you can consider this README too for parachain-template, if you're experimenting with stable2412 binaries.

I will investigate the initial reported issue in the meantime as well.

@iulianbarbu
Copy link
Contributor

I will investigate the initial reported issue in the meantime as well.

Seems like aarch64 binaries are built with SKIP_WASM_BUILD=1, which is something I introduced (probably to speed up testing) and slipped through. Opened #7074 to unset the variable and we should follow up soon with releasing fixed binaries. Sorry for the trouble 🙏

@iulianbarbu
Copy link
Contributor

I see that the omni-node package is not enabling these features, which seems to be a mistake.

Do you suggest adding more features for the polkadot-cli dependency of polkadot-omni-node-lib, like rococo-native and westend-native, besides default-features? These are the only ones missing when compared to polkadot binary. ZN sets the relaychain --chain accordingly for parachain nodes. It might come in handy for manual usage in non-ZN setups, but I would do it after we see it asked, based on developers usage.

Bit surprised about Polkadot -- quite likely we do the release builds with --default-features and manually re-enable the important ones.

I can understand that we want the release binary to be lean, but at the same time it is a blow to the DX to not be able to use the released polkadot binaries for testing with ZN. I think we should one defacto testing relay chain spec in the binary, be it rococo or paseo.

The WASM binaries are present in the Linux polkadot binary (at least for rococo-local, which I tried). The missing wasm binaries happen for aarch64 only, given the SKIP_WASM_BUILD=1 which I am trying to remove now 🙈.

github-merge-queue bot pushed a commit that referenced this issue Jan 7, 2025
# Description

Seems like I added `SKIP_WASM_BUILD=1` 💀 for arch64 binaries, which
results in various errors like:
#6966. This PR unsets
the variable.

Closes #6966.

## Integration

People who found workarounds as in #6966 can consume the fixed binaries
again.

## Review Notes

I introduced SKIP_WASM_BUILD=1 for some reason for aarch64 (probably to
speed up testing) and forgot to remove it. It slipped through and
interfered with `stable2412` release artifacts. Needs backporting to
`stable2412` and then rebuilding/overwriting the aarch64 artifacts.

---------

Signed-off-by: Iulian Barbu <[email protected]>
@brunopgalvao
Copy link
Contributor Author

Thanks @iulianbarbu :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I2-bug The node fails to follow expected behavior. T0-node This PR/Issue is related to the topic “node”.
Projects
Status: Milestone 1
3 participants