Skip to content

ruby.wasm doesn't work on Wasmer 3.0 #116

@koduki

Description

@koduki

Summary

I tried to execute ruby.wasm via below commands on wasmer 3.0.1, but it doesn't work.

$ wasmer --version
wasmer 3.0.1
$ wasmer run ./ruby.wasm -- --version
thread 'main' panicked at 'not yet implemented: could not serialize number 2 to enum Clockid', lib/wasi-types/src/wasi/extra.rs:2725:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

It worked on wasmer 2.3.0 and wasmtime 3.0.0.

$ curl https://get.wasmer.io -sSfL | sh -s "2.3.0"
$ wasmer --version
wasmer 2.3.0
$ wasmer run ./ruby.wasm -- --version
ruby 3.2.0dev (2022-11-11T22:40:31Z master 0a9d51ee9d) [wasm32-wasi]
$ wasmtime --version
wasmtime-cli 3.0.0
$ wasmtime run ./ruby.wasm -- --version
ruby 3.2.0dev (2022-11-11T22:40:31Z master 0a9d51ee9d) [wasm32-wasi]

I don't have confidence this issue is ruby problem or wasmer problem, but wasmer 3.0.2 can execute some WASM which are created by Rust. So, I report it here.

Environments and install

OS

3.2.0-preview3-bullseye(Docker)

ruby.wasm

$ curl -LO https://github.com/ruby/ruby.wasm/releases/latest/download/ruby-head-wasm32-unknown-wasi-full.tar.gz
$ tar xfz ruby-head-wasm32-unknown-wasi-full.tar.gz
$ mv head-wasm32-unknown-wasi-full/usr/local/bin/ruby ruby.wasm

wasmer

$ curl https://get.wasmer.io -sSfL | sh
$ wasmer --version
wasmer 3.0.1

Expectation

success to run ruby.wasm

$ wasmer run ./ruby.wasm -- --version
ruby 3.2.0dev (2022-11-11T22:40:31Z master 0a9d51ee9d) [wasm32-wasi]

Actual Error

$ wasmer run ./ruby.wasm -- --version
thread 'main' panicked at 'not yet implemented: could not serialize number 2 to enum Clockid', lib/wasi-types/src/wasi/extra.rs:2725:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions