Skip to content

assertion when using cargo run with wasm32-unknown-emscripten #4689

Open
@japaric

Description

@japaric

STR

$ rustup default nightly-2017-10-28

$ cargo install cross --vers 0.1.12

$ cargo new --bin hello && cd $_

$ cross run --target wasm32-unknown-emscripten
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `2`,
 right: `1`', /checkout/src/tools/cargo/src/cargo/ops/cargo_run.rs:54:4
stack backtrace:
   0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
             at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::_print
             at /checkout/src/libstd/sys_common/backtrace.rs:69
   2: std::panicking::default_hook::{{closure}}
             at /checkout/src/libstd/sys_common/backtrace.rs:58
             at /checkout/src/libstd/panicking.rs:381
   3: std::panicking::default_hook
             at /checkout/src/libstd/panicking.rs:397
   4: std::panicking::rust_panic_with_hook
             at /checkout/src/libstd/panicking.rs:577
   5: std::panicking::begin_panic
             at /checkout/src/libstd/panicking.rs:538
   6: std::panicking::begin_panic_fmt
             at /checkout/src/libstd/panicking.rs:522
   7: cargo::ops::cargo_run::run
   8: cargo::run::execute
   9: _ZN5cargo27try_execute_builtin_command17h01b8ca659cc53ea7E.llvm.40E9B093
  10: _ZN5cargo7execute17h4a8d8dd20dfaa5afE.llvm.40E9B093
  11: _ZN5cargo23call_main_without_stdin17h8b50800c4cb9e0c3E.llvm.40E9B093
  12: _ZN5cargo4main17h20b4285ce6c0c7edE.llvm.40E9B093
  13: __rust_maybe_catch_panic
             at /checkout/src/libpanic_unwind/lib.rs:99
  14: std::rt::lang_start
             at /checkout/src/libstd/panicking.rs:459
             at /checkout/src/libstd/panic.rs:361
             at /checkout/src/libstd/rt.rs:59
  15: __libc_start_main
  16: <unknown>

nightly-2017-10-24 works fine. You get Hello, world!.

It seems that the difference is that with nightly-2017-10-24 Cargo produces a single .js file:

$ ls target/wasm32-unknown-emscripten/debug/hello*
target/wasm32-unknown-emscripten/debug/hello.d  target/wasm32-unknown-emscripten/debug/hello.js

But with nightly-2017-10-28 Cargo produces a .js and a .wasm file.

$ ls target/wasm32-unknown-emscripten/debug/hello*
target/wasm32-unknown-emscripten/debug/hello.d   target/wasm32-unknown-emscripten/debug/hello.wasm
target/wasm32-unknown-emscripten/debug/hello.js

Cross is using the Cargo runner feature under the hood (set to node-wasm) so that could be related.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Command-runO-wasmOS: WASM target released issuesS-needs-infoStatus: Needs more info, such as a reproduction or more background for a feature request.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions