bytecodealliance / bytecodealliance/wasmtime

Cranelift: Stack-Switching support - GC types are not supported with contref fields

Open
#12,941 1 comment 0 reactions 0 assignees View on GitHub
bug cranelift wasm-proposal:stack-switching
Dominant language
Rust
Stars
18.6k
Forks
1.8k
Avg merge
1d 19h
Merged PRs (30d)
121

Description

### Steps to Reproduce

[index.zip](https://github.com/user-attachments/files/26439262/index.zip)

Run on the attached `index.wasm`
`wasmtime -W gc,function-references,exceptions,stack-switching index.wasm`

### Expected Results

print `test passed`

### Actual Results

`
thread '' (40796) panicked at /home/Aleksandr.Shefer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmtime-internal-cranelift-43.0.0/src/func_environ/gc/enabled.rs:1534:9:
assertion `left == right` failed
left: types::I128
right: types::I32
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
`

Presumably, that happens because in Kotlin we are using `contref` typed variabled inside gc structs

### Versions and Environment

wasmtime 43.0.0

Operating system: Ubuntu 24.04.4

Architecture: x86_64

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.