WebAssembly / WebAssembly/wabt

Incorrect Handling of Call Instructions in wasm-interp

Open
#2,524 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
8.1k
Forks
827
Avg merge
4d 6h
Merged PRs (30d)
18

Description

wasm-interp encounters an "Aborted (core dumped)" error when executing a WebAssembly module that contains call instructions. This issue leads to an unexpected termination of the program.

Test case

program.wasm.txt

Environment
  • OS: Ubuntu 20.04
  • CPU: amd64
  • WABT version: 1.0.36
  • Commands:
./wasm-interp --enable-all --run-export=main ./program.wasm
Actual behavior
Aborted (core dumped)
Expected behavior

wasm-interp should execute the call instructions without causing an "Aborted" error. If there is an issue with the module, it should provide a descriptive error message instead of terminating unexpectedly.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the crash with wasm-interp using the attached program.wasm.txt and the documented --enable-all --run-export=main command. Trace the wasm-interp handling of call instructions and determine whether the module executes or receives a descriptive validation or runtime error instead of aborting. Done means the provided case no longer terminates with "Aborted (core dumped)".

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, wasm
Domain
compilers, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.