wasm-opt --flatten fails with exceptions or GC
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- wasm
- Domain
- compilers
Research direction
Start by reproducing the failure with demo.wasm and the provided wasm-opt command, then inspect Flatten.cpp around line 231. Compare behavior with exception-handling and GC-related inputs or flags. Done means wasm-opt completes without the unexpected expr type or UNREACHABLE failure on the supplied file.
Written by the indexing model from the issue text.
Description
When running wasm-opt on the following WASM file demo.wasm.zip, using -O4 or --flatten, the following exception is raised (tested in v124 and v125):
unexpected expr type
UNREACHABLE executed at /nix/var/nix/builds/nix-29457-2897100894/source/src/passes/Flatten.cpp:231
My complete command is
"wasm-opt" \
"--enable-sign-ext" "--disable-threads" "--enable-mutable-globals" \
"--enable-nontrapping-float-to-int" "--enable-simd" "--enable-bulk-memory" \
"--enable-exception-handling" "--disable-tail-call" "--enable-reference-types" \
"--enable-multivalue" "--disable-gc" "--disable-memory64" \
"--disable-relaxed-simd" "--disable-extended-const" "--disable-strings" \
"--disable-multimemory" "--strip-debug" "-O0" "--flatten" \
"-o" "demo.opt.wasm" "demo.wasm"
- Dominant language
- WebAssembly
- Stars
- 8.6k
- Forks
- 885
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 64
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from WebAssembly/binaryen
-
Difficulty 2/5 Half a day Newbie friendliness 76/100
WebAssembly/binaryen#9018 · 3 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
WebAssembly/binaryen#9123 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
WebAssembly/binaryen#9122 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
WebAssembly/binaryen#9086 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
WebAssembly/binaryen#9038 · 5 comments ·
All issues in WebAssembly/binaryen
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
objectionary/eo#8869 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
EricSpencer00/Resilient#4824 · 1 comment ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
objectionary/jeo-maven-plugin#1758 ·
-
generics
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
mlir
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
llvm/llvm-project#224908 · 1 comment ·