Skip to content

wasm32-unknown-unknown compiling panics intermittently #46443

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

Closed
daboross opened this issue Dec 2, 2017 · 3 comments
Closed

wasm32-unknown-unknown compiling panics intermittently #46443

daboross opened this issue Dec 2, 2017 · 3 comments
Labels
O-wasm Target: WASM (WebAssembly), http://webassembly.org/

Comments

@daboross
Copy link
Contributor

daboross commented Dec 2, 2017

This doesn't occur on every build, but it's happened twice so far. I'm not the one personally experiencing it, but I can get any diagnostic information needed.

Build log:

O:\Code\PrimalFury\Machiavellian> $env:RUST_BACKTRACE=1 ; cargo build
  Compiling machiavellian v0.1.0 (file:///O:/Code/PrimalFury/Machiavellian)
warning: Hard linking files in the incremental compilation cache failed. Copying files instead. Consider moving the cache directory to a file system which supports hard linking in session dir `\\?\O:\Code\PrimalFury\Machiavellian\target\wasm32-unknown-unknown\debug\incremental\machiavellian-2jdc269m535ub\s-ew19ggigy3-1nx6tpl-working`

warning: unused import: `std::option`
// ... various style warnings ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

thread '<unnamed>' panicked at 'must be trans'ing at least one module', src\libcore\option.rs:874:4
stack backtrace:
  0: <std::thread::ThreadId as core::fmt::Debug>::fmt
  1: <std::sync::condvar::Condvar as core::fmt::Debug>::fmt
  2: std::panicking::Location::column
  3: std::panicking::Location::column
  4: std::panicking::rust_panic_with_hook
  5: std::panicking::begin_panic_fmt
  6: std::panicking::begin_panic_fmt
  7: rust_begin_unwind
  8: core::panicking::panic_fmt
  9: core::option::expect_failed
 10: <rustc_trans::back::lto::ThinData as core::ops::drop::Drop>::drop
 11: <rustc_trans::ModuleLlvm as core::fmt::Debug>::fmt
 12: <rustc_trans::ModuleLlvm as core::fmt::Debug>::fmt
 13: _rust_maybe_catch_panic
 14: <rustc_trans::back::lto::ThinBuffer as core::ops::drop::Drop>::drop
 15: <std::sync::condvar::Condvar as core::fmt::Debug>::fmt
 16: std::sys::windows::thread::Thread::new
 17: BaseThreadInitThunk
error: Error during translation/LLVM phase.

error: Could not compile `machiavellian`.

To learn more, run the command again with --verbose.
@alexcrichton
Copy link
Member

I think the LLVM backend currently has a number of deficiencies at opt-level=0 in that if you turn asserts on then asserts will probably get tripped all over the place. Does this work if you crank up the opt-level? If so this may just be blocked on upgrading LLVM.

@alexcrichton
Copy link
Member

(tracking issue for that)

@alexcrichton alexcrichton added the O-wasm Target: WASM (WebAssembly), http://webassembly.org/ label Dec 2, 2017
@alexcrichton
Copy link
Member

I'm gonna close this in favor of #46367 which I believe is the same iss as this, in general wasm at opt-level=0 isn't working right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-wasm Target: WASM (WebAssembly), http://webassembly.org/
Projects
None yet
Development

No branches or pull requests

2 participants