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

Update wasmer #2042

Merged
merged 7 commits into from
Mar 7, 2024
Merged

Update wasmer #2042

merged 7 commits into from
Mar 7, 2024

Conversation

chipshort
Copy link
Collaborator

Also had to ./devtools/update_crate.sh tracing because of some incompatibility between wasmer and the tracing version we were using before.
As well as bumping the minimum Rust version to 1.73

It seems we currently allow some simd float operations in the Gatekeeper. Those should be caught by the Validator in the ParsedWasm, but I moved them to the simd section of the Gatekeeper anyways (so they are now forbidden in the Gatekeeper too).

I'm also wondering if we could streamline the Gatekeeper changes a bit by using the wasmparser::for_each_operator! macro for matching whole proposals of operators. That would make it much easier to update in the future.

@chipshort chipshort requested a review from webmaster128 March 6, 2024 16:14
@webmaster128
Copy link
Member

I'm also wondering if we could streamline the Gatekeeper changes a bit by using the wasmparser::for_each_operator! macro for matching whole proposals of operators. That would make it much easier to update in the future.

If it helps, sure. I don't this. I think the important thing is to ensure we do exhaustive matching.

Copy link
Member

@webmaster128 webmaster128 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice.

Rust 1.73.0 is currently the highest version we can use (see CosmWasm/wasmvm#513). But that version seems to be fine.

packages/vm/src/parsed_wasm.rs Outdated Show resolved Hide resolved
Copy link
Member

@webmaster128 webmaster128 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Diff LGTM. Could we get a CHANGELOG entry and update this comment:

/// - **v9**:<br>
///   New version because of Wasmer 4.2.2 -> 4.2.5 upgrade.
///   Module compatibility between Wasmer versions is not guaranteed.

@chipshort
Copy link
Collaborator Author

update this comment

This version number wasn't bumped because the current_wasmer_module_version increased, so the cache gets invalidated already by that

@webmaster128
Copy link
Member

I was thinking about the comment for "v9" which becomes "Wasmer 4.2.2 -> 4.2.6 upgrade". v9 is currently not yet deployed and just the dev version on main as far as I can tell.

@chipshort
Copy link
Collaborator Author

Ah, that makes sense then. I didn't notice that v9 was not deployed yet

- cosmwasm-vm: Upgrade Wasmer to 4.2.5; Bump `MODULE_SERIALIZATION_VERSION` to
"v9". ([#1992])
- cosmwasm-vm: Upgrade Wasmer to 4.2.6; Bump `MODULE_SERIALIZATION_VERSION` to
"v9". ([#1992], [#2042])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is good, but under the ## [2.0.0-rc.1] - 2023-02-09 header. Do we remove the pre-release headers when we get the full release (I perfer so)?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that's what I did in the past. I think it makes the most sense since people who upgrade are probably most interested in the difference between 1.5 and 2.0.

@chipshort chipshort merged commit 9a23983 into main Mar 7, 2024
28 of 29 checks passed
@chipshort chipshort deleted the update-wasmer branch March 7, 2024 13:35
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

Successfully merging this pull request may close these issues.

2 participants