Stream: git-wasmtime

Topic: wasmtime / issue #8919 Cranelift: Doesn't compile anymore...


view this post on Zulip Wasmtime GitHub notifications bot (Jul 08 2024 at 21:35):

CryZe added the bug label to Issue #8919.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 08 2024 at 21:35):

CryZe added the cranelift label to Issue #8919.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 08 2024 at 21:35):

CryZe opened issue #8919:

error: failed to run custom build command for `cranelift-codegen v0.104.3`

Caused by:
  process didn't exit successfully: `D:\a\livesplit-core\livesplit-core\target\debug\build\cranelift-codegen-7ec6ae33f1c78f92\build-script-build` (exit code: 0xc00000fd, STATUS_STACK_OVERFLOW)
  --- stdout
  cargo:rustc-cfg=feature="x86"
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-changed=src\prelude.isle
  cargo:rerun-if-changed=src\prelude_opt.isle
  cargo:rerun-if-changed=src\opts\arithmetic.isle
  cargo:rerun-if-changed=src\opts\bitops.isle
  cargo:rerun-if-changed=src\opts\cprop.isle
  cargo:rerun-if-changed=src\opts\extends.isle
  cargo:rerun-if-changed=src\opts\icmp.isle
  cargo:rerun-if-changed=src\opts\remat.isle
  cargo:rerun-if-changed=src\opts\selects.isle
  cargo:rerun-if-changed=src\opts\spaceship.isle
  cargo:rerun-if-changed=src\opts\shifts.isle
  cargo:rerun-if-changed=src\opts\vector.isle

  --- stderr
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-4cec5ccbdc351b99\out\settings.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-4cec5ccbdc351b99\out\types.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-4cec5ccbdc351b99\out\opcodes.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-4cec5ccbdc351b99\out\clif_opt.isle
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-4cec5ccbdc351b99\out\clif_lower.isle
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-4cec5ccbdc351b99\out\inst_builder.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-4cec5ccbdc351b99\out\settings-x86.rs
  Rebuilding D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-4cec5ccbdc351b99\out\isle_opt.rs

  thread 'main' has overflowed its stack

Versions and Environment

Cranelift version or commit: cranelift-codegen v0.104.3

Operating system: Windows

Architecture: x86_64

Rust: latest update on 2024-07-08, rust version 1.81.0-nightly (20ae37c18 2024-07-07)

Extra Info

view this post on Zulip Wasmtime GitHub notifications bot (Jul 08 2024 at 21:36):

CryZe commented on issue #8919:

This might just be a temporary / general issue with the latest Windows nightly compiler. This does not reproduce on any other target.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 08 2024 at 21:39):

CryZe edited a comment on issue #8919:

This might just be a temporary / general issue with the latest Windows nightly compiler. This does not reproduce on any other target, not even the GNU variant.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 08 2024 at 21:42):

CryZe edited issue #8919:

error: failed to run custom build command for `cranelift-codegen v0.109.0`

Caused by:
  process didn't exit successfully: `D:\a\livesplit-core\livesplit-core\target\debug\build\cranelift-codegen-16ee0d76fd74ed56\build-script-build` (exit code: 0xc00000fd, STATUS_STACK_OVERFLOW)
  --- stdout
  cargo:rustc-cfg=feature="x86"
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-changed=src\prelude.isle
  cargo:rerun-if-changed=src\prelude_opt.isle
  cargo:rerun-if-changed=src\opts\arithmetic.isle
  cargo:rerun-if-changed=src\opts\bitops.isle
  cargo:rerun-if-changed=src\opts\cprop.isle
  cargo:rerun-if-changed=src\opts\extends.isle
  cargo:rerun-if-changed=src\opts\icmp.isle
  cargo:rerun-if-changed=src\opts\remat.isle
  cargo:rerun-if-changed=src\opts\selects.isle
  cargo:rerun-if-changed=src\opts\shifts.isle
  cargo:rerun-if-changed=src\opts\spaceship.isle
  cargo:rerun-if-changed=src\opts\spectre.isle
  cargo:rerun-if-changed=src\opts\vector.isle

  --- stderr
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\settings.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\types.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\opcodes.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\inst_builder.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\settings-x86.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\clif_opt.isle
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\clif_lower.isle
  Rebuilding D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\isle_opt.rs

  thread 'main' has overflowed its stack

Versions and Environment

Cranelift version or commit: cranelift-codegen v0.104.3 as well as cranelift-codegen v0.109.0

Operating system: Windows

Architecture: x86_64

Rust: x86_64-pc-windows-msvc, latest update on 2024-07-08, rust version 1.81.0-nightly (20ae37c18 2024-07-07)

Extra Info

view this post on Zulip Wasmtime GitHub notifications bot (Jul 08 2024 at 21:47):

CryZe edited issue #8919:

error: failed to run custom build command for `cranelift-codegen v0.109.0`

Caused by:
  process didn't exit successfully: `D:\a\livesplit-core\livesplit-core\target\debug\build\cranelift-codegen-16ee0d76fd74ed56\build-script-build` (exit code: 0xc00000fd, STATUS_STACK_OVERFLOW)
  --- stdout
  cargo:rustc-cfg=feature="x86"
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-changed=src\prelude.isle
  cargo:rerun-if-changed=src\prelude_opt.isle
  cargo:rerun-if-changed=src\opts\arithmetic.isle
  cargo:rerun-if-changed=src\opts\bitops.isle
  cargo:rerun-if-changed=src\opts\cprop.isle
  cargo:rerun-if-changed=src\opts\extends.isle
  cargo:rerun-if-changed=src\opts\icmp.isle
  cargo:rerun-if-changed=src\opts\remat.isle
  cargo:rerun-if-changed=src\opts\selects.isle
  cargo:rerun-if-changed=src\opts\shifts.isle
  cargo:rerun-if-changed=src\opts\spaceship.isle
  cargo:rerun-if-changed=src\opts\spectre.isle
  cargo:rerun-if-changed=src\opts\vector.isle

  --- stderr
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\settings.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\types.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\opcodes.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\inst_builder.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\settings-x86.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\clif_opt.isle
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\clif_lower.isle
  Rebuilding D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\isle_opt.rs

  thread 'main' has overflowed its stack

Versions and Environment

Cranelift version or commit: cranelift-codegen v0.104.3 as well as cranelift-codegen v0.109.0

Operating system: Windows

Architecture: x86_64

Rust: x86_64-pc-windows-msvc
latest update on 2024-07-08, rust version 1.81.0-nightly (20ae37c18 2024-07-07)

Actually seems to have been happening since at least:
latest update on 2024-06-30, rust version 1.81.0-nightly (ba1d7f4a0 2024-06-29)
Last time I saw it working was:
latest update on 2024-06-24, rust version 1.81.0-nightly (bcf94dec5 2024-06-23)

Extra Info

view this post on Zulip Wasmtime GitHub notifications bot (Jul 08 2024 at 21:51):

alexcrichton commented on issue #8919:

Would you be able to run a bisection to determine what caused this? The cargo bisect-rustc subcommand I believe is the go-to tool for this.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 08 2024 at 21:56):

CryZe commented on issue #8919:

It's pretty late here, I'll look into it tomorrow.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 18:49):

CryZe commented on issue #8919:

I was not able to reproduce it outside of the Github Actions, so I'll bisect it there manually now.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 19:15):

CryZe commented on issue #8919:

The regression happened between nightly-2024-06-28 (working) and nightly-2024-06-29 (broken), which puts the regression in the following range:
https://github.com/rust-lang/rust/compare/9c3bc805d...e9e6e2e44

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 19:21):

CryZe commented on issue #8919:

The only thing that stands out to me is some changes to LLD.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 19:44):

CryZe edited a comment on issue #8919:

The only thing that stands out to me is some changes to LLD and the patchable function entries.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 20:03):

CryZe commented on issue #8919:

I was able to reproduce it locally and run cargo bisect-rustc on it. The regression is in https://github.com/rust-lang/rust/commit/99f77a2eda555b50b518f74823ab636a20efb87f which is https://github.com/rust-lang/rust/pull/127076

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 20:09):

alexcrichton commented on issue #8919:

Thanks for investigating! Nothing obvious there and my hunch would be https://github.com/rust-lang/rust/pull/126970 but even then it's probably a case where we had a really deep stack before and just happened to overflow now.

Since you're able to reproduce locally are you able to capture a backtrace to see where the stack overflow is coming from?

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 20:13):

CryZe commented on issue #8919:

This is how you can reproduce it (with a sufficiently up to date Windows MSVC nightly toolchain):

cargo +nightly build -p cranelift-codegen --target x86_64-pc-windows-msvc

what's interesting is that this does NOT reproduce it:

cargo +nightly build -p cranelift-codegen

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 20:20):

CryZe commented on issue #8919:

RtlTryEnterCriticalSection (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
RtlRegisterSecureMemoryCacheCallback (Unbekannte Quelle:0)
EtwLogTraceEvent (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
void alloc::fmt::format::format_inner() (Unbekannte Quelle:0)
struct alloc::string::String alloc::fmt::format::closure$0(struct alloc::fmt::format::closure_env$0) (Unbekannte Quelle:0)
struct alloc::string::String enum2$<core::option::Option<ref$<str$> > >::map_or_else<ref$<str$>,alloc::string::String,alloc::fmt::format::closure_env$0,alloc::string::String (*)(ref$<str$>)>(union enum2$<core::option::Option<ref$<str$> > >, struct alloc::fmt::format::closure_env$0,  *) (Unbekannte Quelle:0)
struct alloc::string::String alloc::fmt::format(struct core::fmt::Arguments) (Unbekannte Quelle:0)
union enum2$<core::option::Option<cranelift_isle::sema::ExternalSig> > cranelift_isle::sema::Term::extractor_sig(struct cranelift_isle::sema::TypeEnv *) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\sema.rs:419)
static union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::impl$1::emit_expr::closure$0<alloc::string::String>(struct cranelift_isle::codegen::impl$1::emit_expr::closure_env$0<alloc::string::String> *, struct cranelift_isle::sema::TermId, struct ref$<slice2$<cranelift_isle::trie_again::BindingId> >,  *) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:679)
static union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_expr<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::trie_again::BindingId) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:712)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:545)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:601)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core:
[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 20:21):

CryZe edited a comment on issue #8919:

RtlTryEnterCriticalSection (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
RtlRegisterSecureMemoryCacheCallback (Unbekannte Quelle:0)
EtwLogTraceEvent (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
void alloc::fmt::format::format_inner() (Unbekannte Quelle:0)
struct alloc::string::String alloc::fmt::format::closure$0(struct alloc::fmt::format::closure_env$0) (Unbekannte Quelle:0)
struct alloc::string::String enum2$<core::option::Option<ref$<str$> > >::map_or_else<ref$<str$>,alloc::string::String,alloc::fmt::format::closure_env$0,alloc::string::String (*)(ref$<str$>)>(union enum2$<core::option::Option<ref$<str$> > >, struct alloc::fmt::format::closure_env$0,  *) (Unbekannte Quelle:0)
struct alloc::string::String alloc::fmt::format(struct core::fmt::Arguments) (Unbekannte Quelle:0)
union enum2$<core::option::Option<cranelift_isle::sema::ExternalSig> > cranelift_isle::sema::Term::extractor_sig(struct cranelift_isle::sema::TypeEnv *) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\sema.rs:419)
static union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::impl$1::emit_expr::closure$0<alloc::string::String>(struct cranelift_isle::codegen::impl$1::emit_expr::closure_env$0<alloc::string::String> *, struct cranelift_isle::sema::TermId, struct ref$<slice2$<cranelift_isle::trie_again::BindingId> >,  *) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:679)
static union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_expr<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::trie_again::BindingId) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:712)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:545)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:601)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2
[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 20:23):

CryZe edited a comment on issue #8919:

This is how you can reproduce it (with a sufficiently up to date Windows MSVC nightly toolchain):

cargo +nightly build -p cranelift-codegen --target x86_64-pc-windows-msvc

what's interesting is that this does NOT reproduce it (which is slightly different for cargo in how it's able to reuse dependencies of the host vs. the targe):

cargo +nightly build -p cranelift-codegen

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 20:24):

CryZe edited a comment on issue #8919:

This is how you can reproduce it (with a sufficiently up to date Windows MSVC nightly toolchain):

cargo +nightly build -p cranelift-codegen --target x86_64-pc-windows-msvc

what's interesting is that this does NOT reproduce it (which is slightly different for cargo in how it's able to reuse dependencies of the host vs. the target):

cargo +nightly build -p cranelift-codegen

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 20:32):

CryZe edited a comment on issue #8919:

RtlTryEnterCriticalSection (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
RtlRegisterSecureMemoryCacheCallback (Unbekannte Quelle:0)
EtwLogTraceEvent (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
void alloc::fmt::format::format_inner() (Unbekannte Quelle:0)
struct alloc::string::String alloc::fmt::format::closure$0(struct alloc::fmt::format::closure_env$0) (Unbekannte Quelle:0)
struct alloc::string::String enum2$<core::option::Option<ref$<str$> > >::map_or_else<ref$<str$>,alloc::string::String,alloc::fmt::format::closure_env$0,alloc::string::String (*)(ref$<str$>)>(union enum2$<core::option::Option<ref$<str$> > >, struct alloc::fmt::format::closure_env$0,  *) (Unbekannte Quelle:0)
struct alloc::string::String alloc::fmt::format(struct core::fmt::Arguments) (Unbekannte Quelle:0)
union enum2$<core::option::Option<cranelift_isle::sema::ExternalSig> > cranelift_isle::sema::Term::extractor_sig(struct cranelift_isle::sema::TypeEnv *) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\sema.rs:419)
static union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::impl$1::emit_expr::closure$0<alloc::string::String>(struct cranelift_isle::codegen::impl$1::emit_expr::closure_env$0<alloc::string::String> *, struct cranelift_isle::sema::TermId, struct ref$<slice2$<cranelift_isle::trie_again::BindingId> >,  *) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:679)
static union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_expr<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::trie_again::BindingId) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:712)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:545)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:601)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2
[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 20:32):

CryZe edited a comment on issue #8919:

RtlTryEnterCriticalSection (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
RtlRegisterSecureMemoryCacheCallback (Unbekannte Quelle:0)
EtwLogTraceEvent (Unbekannte Quelle:0)
RtlAllocateHeap (Unbekannte Quelle:0)
void alloc::fmt::format::format_inner() (Unbekannte Quelle:0)
struct alloc::string::String alloc::fmt::format::closure$0(struct alloc::fmt::format::closure_env$0) (Unbekannte Quelle:0)
struct alloc::string::String enum2$<core::option::Option<ref$<str$> > >::map_or_else<ref$<str$>,alloc::string::String,alloc::fmt::format::closure_env$0,alloc::string::String (*)(ref$<str$>)>(union enum2$<core::option::Option<ref$<str$> > >, struct alloc::fmt::format::closure_env$0,  *) (Unbekannte Quelle:0)
struct alloc::string::String alloc::fmt::format(struct core::fmt::Arguments) (Unbekannte Quelle:0)
union enum2$<core::option::Option<cranelift_isle::sema::ExternalSig> > cranelift_isle::sema::Term::extractor_sig(struct cranelift_isle::sema::TypeEnv *) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\sema.rs:419)
static union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::impl$1::emit_expr::closure$0<alloc::string::String>(struct cranelift_isle::codegen::impl$1::emit_expr::closure_env$0<alloc::string::String> *, struct cranelift_isle::sema::TermId, struct ref$<slice2$<cranelift_isle::trie_again::BindingId> >,  *) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:679)
static union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_expr<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::trie_again::BindingId) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:712)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:545)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:601)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:629)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2$<core::result::Result<tuple$<>,core::fmt::Error> > cranelift_isle::codegen::Codegen::emit_block<alloc::string::String>(struct cranelift_isle::codegen::BodyContext<alloc::string::String> *, struct cranelift_isle::serialize::Block *, cranelift_isle::sema::ReturnKind) (p:\pull-requests\wasmtime\cranelift\isle\isle\src\codegen.rs:570)
union enum2
[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 20:47):

alexcrichton commented on issue #8919:

For ISLE-related folks, does anyone know if this is a bug to have this much recursion between here and here? If so is it possible to somewhat easily make this a loop rather than recursive? If not is there a way to reduce the size of functions to avoid having such a large stack frame?

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 22:26):

fitzgen commented on issue #8919:

cc @jameysharp

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2024 at 22:44):

jameysharp commented on issue #8919:

This recursion certainly could be rewritten to use an explicit stack. Its depth is proportional to the number of constraints in the left-hand side of a rule, so I didn't expect it to be a problem.

It would be nice to figure out which rule it was generating code for at the time. (It must be a mid-end optimization rule if Loop is involved.) But I suppose we don't really need to know; presumably we consider all the rules to be of reasonable size so we need ISLE to just handle them.

It's also worth noting that since build scripts are compiled in debug mode, rustc is building this without optimization.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 10 2024 at 21:35):

jameysharp commented on issue #8919:

@CryZe, could you test whether #8935 fixes this issue for you?

There are several other parts of ISLE which also recurse over the structure of a user-provided rule, so I'm concerned that we may have this problem again in the future. But emit_block is one of the last things to run so I believe all the other recursive functions are currently succeeding. As a result I don't want to change them right now.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 10 2024 at 22:50):

CryZe commented on issue #8919:

The PR does indeed seem to fix the issue. Thanks for working on it :)

view this post on Zulip Wasmtime GitHub notifications bot (Jul 11 2024 at 21:00):

jameysharp closed issue #8919:

error: failed to run custom build command for `cranelift-codegen v0.109.0`

Caused by:
  process didn't exit successfully: `D:\a\livesplit-core\livesplit-core\target\debug\build\cranelift-codegen-16ee0d76fd74ed56\build-script-build` (exit code: 0xc00000fd, STATUS_STACK_OVERFLOW)
  --- stdout
  cargo:rustc-cfg=feature="x86"
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-changed=src\prelude.isle
  cargo:rerun-if-changed=src\prelude_opt.isle
  cargo:rerun-if-changed=src\opts\arithmetic.isle
  cargo:rerun-if-changed=src\opts\bitops.isle
  cargo:rerun-if-changed=src\opts\cprop.isle
  cargo:rerun-if-changed=src\opts\extends.isle
  cargo:rerun-if-changed=src\opts\icmp.isle
  cargo:rerun-if-changed=src\opts\remat.isle
  cargo:rerun-if-changed=src\opts\selects.isle
  cargo:rerun-if-changed=src\opts\shifts.isle
  cargo:rerun-if-changed=src\opts\spaceship.isle
  cargo:rerun-if-changed=src\opts\spectre.isle
  cargo:rerun-if-changed=src\opts\vector.isle

  --- stderr
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\settings.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\types.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\opcodes.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\inst_builder.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\settings-x86.rs
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\clif_opt.isle
  Writing generated file: D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\clif_lower.isle
  Rebuilding D:\a\livesplit-core\livesplit-core\target\x86_64-pc-windows-msvc\debug\build\cranelift-codegen-e0c1105143d63b20\out\isle_opt.rs

  thread 'main' has overflowed its stack

Versions and Environment

Cranelift version or commit: cranelift-codegen v0.104.3 as well as cranelift-codegen v0.109.0

Operating system: Windows

Architecture: x86_64

Rust: x86_64-pc-windows-msvc
latest update on 2024-07-08, rust version 1.81.0-nightly (20ae37c18 2024-07-07)

Actually seems to have been happening since at least:
latest update on 2024-06-30, rust version 1.81.0-nightly (ba1d7f4a0 2024-06-29)
Last time I saw it working was:
latest update on 2024-06-24, rust version 1.81.0-nightly (bcf94dec5 2024-06-23)

Extra Info

view this post on Zulip Wasmtime GitHub notifications bot (Jul 11 2024 at 21:00):

jameysharp commented on issue #8919:

I forgot to mark that PR as fixing this, so now that it's merged I'll close this issue.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 04 2024 at 22:47):

sunshowers commented on issue #8919:

Quite likely related: https://github.com/rust-lang/rust/issues/128422

That's fundamentally a rustc issue, but would this fix work around that?

view this post on Zulip Wasmtime GitHub notifications bot (Aug 05 2024 at 02:43):

cfallin commented on issue #8919:

@sunshowers I don't think the fix above would address that issue unfortunately -- Jamey's change removes recursion (in favor of iteration with an explicit stack) in the ISLE DSL-to-Rust compiler, but the generated Rust code that causes rust-lang/rust#128422 will be exactly the same. (They're certainly related in the sense that the matcher decision tree gets quite deep!)

view this post on Zulip Wasmtime GitHub notifications bot (Aug 05 2024 at 03:04):

sunshowers commented on issue #8919:

That makes sense! Thanks @cfallin.


Last updated: Oct 23 2024 at 20:03 UTC