WebAssembly / WebAssembly/tool-conventions

Coredumps: how to represent process/posix-y info like executable name, arguments, and environment

Open
#209 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
WebAssembly
Stars
372
Forks
75
PR merge metrics
No merged PRs in 30d

Description

Wasm itself doesn't have these concepts. The closest thing it has to a process is the store.

This impedance mismatch is visible when looking at a collection of Wasm instances running in a Web browser:

  • Which instance is "the" executable and therefore its module name should be used as the executable name?
  • What are the process arguments? This concept doesn't exist except in tools that layer a posix-y facade on top of the Web, like (IIUC) Emscripten can.
  • Ditto for environment variables.

WASI, however, does have these concepts, so it makes sense that a WASI-specific coredump section (or sections) add this information. But I don't think it makes sense to put this info in the fully-general, core-Wasm part of the coredump spec.

@xtuc, what do you think of splitting this info out to an optional WASI-specific coredump section(s)?

Contributor guide

No contributing guide indexed for this repository

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 with the linked WebAssembly store specification and the issue's discussion of WASI process metadata. Determine the agreed scope for representing executable names, arguments, and environment variables, including whether they belong in core coredumps or optional WASI-specific section(s); no implementation files or tests are named.

Written by the indexing model from the issue text.

Assessment

Tech stack
wasm
Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.