dart-archive/wasm

CI failures

liamappelbe opened this issue · 3 comments

https://github.com/dart-lang/wasm/actions/runs/2178344056

Started out with just mac failing, but now linux is failing too. So far I am unable to reproduce any of the linux or mac failures locally.

https://github.com/dart-lang/wasm/runs/6082080368?check_suite_focus=true

Looks like this is a bug in a newer version of one of the internal wasmer libraries. Wasn't reproing on my machine because cargo was just happily using an older version of that lib.

thread '<unnamed>' panicked at 'range end index 3416 out of range for slice of length 3415', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/wasmer-engine-universal-2.2.1/src/artifact.rs:169:38
stack backtrace:
   0: rust_begin_unwind
             at /rustc/7737e0b5c4103[21](https://github.com/dart-lang/wasm/runs/6082080368?check_suite_focus=true#step:7:21)6d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/7737e0b5c410[32](https://github.com/dart-lang/wasm/runs/6082080368?check_suite_focus=true#step:7:32)16d6fd8cf941b7ab9bdbaace7c/library/core/src/panicking.rs:143:14
   2: core::slice::index::slice_end_index_len_fail
             at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/slice/index.rs:43:5
   3: wasmer_engine_universal::artifact::UniversalArtifact::deserialize
   4: <wasmer_engine_universal::engine::UniversalEngine as wasmer_engine::engine::Engine>::deserialize
   5: wasmer::sys::module::Module::deserialize
   6: wasm_module_deserialize
   7: <unknown>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
fatal runtime error: failed to initiate panic, error 5

Nope, that's not the issue. Cleared all my caches and updated everything, and it still passes on my machine

It's only the deserialization test that's failing. I've been planning to remove the serialization/deserialization feature, because the serialized format is not cross platform, which defeats the purpose (this is probably why CI is failing, because the serialized module was generated on my machine). This issue is a good catalyst to do that work.