Stream: git-wasmtime

Topic: wasmtime / issue #4010 Register allocation panic in Wasmt...


view this post on Zulip Wasmtime GitHub notifications bot (Apr 11 2022 at 14:16):

ulan opened issue #4010:

After upgrading to version 0.35.2 we are seeing register allocation panics in our integration tests:

thread '<unnamed>' panicked at 'register allocation: Analysis(EntryLiveinValues([v430V]))',
cranelift-codegen-0.82.2/src/machinst/compile.rs:98:10

The panic seems to be fixed on the main branch.

The regression bisects to https://github.com/bytecodealliance/wasmtime/pull/3682 and the fix bisects to https://github.com/bytecodealliance/wasmtime/pull/3934, which looks related because v430V appears in ucomiss instructions:

  Inst 893:   cmovnzq %v588J, %v429J; cmovpq  %v588J, %v429J
  Inst 894:   xorps   %v585V, %v585V
  Inst 895:   ucomiss %v585V, %v430V
  Inst 896:   setp    %v586Jb

I can share the complete output of VCode_ShowWithRRU if that would help.

I don't have a standalone Wasm file that reproduces this panic, but I can try to extract it from the integration test if that would help.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 11 2022 at 14:16):

ulan labeled issue #4010:

After upgrading to version 0.35.2 we are seeing register allocation panics in our integration tests:

thread '<unnamed>' panicked at 'register allocation: Analysis(EntryLiveinValues([v430V]))',
cranelift-codegen-0.82.2/src/machinst/compile.rs:98:10

The panic seems to be fixed on the main branch.

The regression bisects to https://github.com/bytecodealliance/wasmtime/pull/3682 and the fix bisects to https://github.com/bytecodealliance/wasmtime/pull/3934, which looks related because v430V appears in ucomiss instructions:

  Inst 893:   cmovnzq %v588J, %v429J; cmovpq  %v588J, %v429J
  Inst 894:   xorps   %v585V, %v585V
  Inst 895:   ucomiss %v585V, %v430V
  Inst 896:   setp    %v586Jb

I can share the complete output of VCode_ShowWithRRU if that would help.

I don't have a standalone Wasm file that reproduces this panic, but I can try to extract it from the integration test if that would help.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 11 2022 at 14:29):

ulan commented on issue #4010:

@abrown @cfallin: Should https://github.com/bytecodealliance/wasmtime/pull/3934 be cherry-picked to v0.35?

view this post on Zulip Wasmtime GitHub notifications bot (Apr 11 2022 at 17:29):

cfallin commented on issue #4010:

@ulan thanks for this report; it certainly looks like the bug that we fixed in #3934. I'm trying to work out now what happened, and it looks like at the time we made the fix, we missed that the original bug was old enough to have gone out in the 0.35 release. I will go ahead with the patch-release process and prepare 0.35.3 with the fix.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 11 2022 at 17:39):

ulan commented on issue #4010:

Thanks for the fast response and cherry-pick @cfallin!

view this post on Zulip Wasmtime GitHub notifications bot (Apr 11 2022 at 19:22):

cfallin commented on issue #4010:

@ulan this workflow is running now to publish new crates for 0.35.3; please let us know if there are any other issues! I'll go ahead and close this issue now.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 11 2022 at 19:22):

cfallin closed issue #4010:

After upgrading to version 0.35.2 we are seeing register allocation panics in our integration tests:

thread '<unnamed>' panicked at 'register allocation: Analysis(EntryLiveinValues([v430V]))',
cranelift-codegen-0.82.2/src/machinst/compile.rs:98:10

The panic seems to be fixed on the main branch.

The regression bisects to https://github.com/bytecodealliance/wasmtime/pull/3682 and the fix bisects to https://github.com/bytecodealliance/wasmtime/pull/3934, which looks related because v430V appears in ucomiss instructions:

  Inst 893:   cmovnzq %v588J, %v429J; cmovpq  %v588J, %v429J
  Inst 894:   xorps   %v585V, %v585V
  Inst 895:   ucomiss %v585V, %v430V
  Inst 896:   setp    %v586Jb

I can share the complete output of VCode_ShowWithRRU if that would help.

I don't have a standalone Wasm file that reproduces this panic, but I can try to extract it from the integration test if that would help.


Last updated: Oct 23 2024 at 20:03 UTC