WASM components: add a wall-clock cutoff (Wasmtime epoch interruption) next to fuel and memory limits
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 39/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- rust
- Domaine
- backend, performance
Piste de recherche
Start with elastos/crates/elastos-compute/src/providers/component.rs and trace how component calls configure fuel and memory limits. Read the Wasmtime 36.0.19 epoch interruption APIs, then identify the Runtime ticker and per-capsule configuration entry points. Done means deadline errors stop overdue calls while keeping the Runtime responsive, configurable limits and coverage for all three call scenarios, plus Jetson overhead measurements.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Today: component capsules run with a fuel limit and a memory limit (elastos/crates/elastos-compute/src/providers/component.rs: consume_fuel, set_fuel(COMPONENT_FUEL), StoreLimitsBuilder::memory_size). They have no time-based limit.
Proposal (Sash, 22 Oct): enable Wasmtime epoch interruption (Config::epoch_interruption), with a Runtime ticker and a per-call deadline, so a call also ends after a set wall-clock time. That covers time spent outside fuel accounting.
Done means:
- a component call that exceeds its deadline is stopped with a clear error, and the Runtime stays responsive;
- the deadline is configurable per capsule class;
- tests cover a busy loop, a long host-call wait and a normal call under the limit;
- the overhead is measured on the Jetson.
Not in 0.8.0. The Wasmtime 36.0.19 security update is already on the 0.8.0 train.
- Langage dominant
- Rust
- Étoiles
- 6
- Forks
- 2
- Merge moyen
- 1 j 3 h
- PR mergées (30 j)
- 42
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de elastos/elastos-runtime
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
elastos/elastos-runtime#563 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
elastos/elastos-runtime#508 ·
Les mainteneurs répondent en général sous 1 jour
-
Documents: Markdown preview web links go through Home's confirmed link flow (#430 follow-up)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
elastos/elastos-runtime#436 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
elastos/elastos-runtime#427 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
elastos/elastos-runtime#405 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de elastos/elastos-runtime
Issues similaires
-
good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
servo/rust-smallvec#873 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 3 jours
-
Panic on live viewport resize when unstyled elements exist in display: none subtreePeut-être pris @GoCoder7 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
DioxusLabs/blitz#1488 ·
Les mainteneurs répondent en général sous 1 jour
-
🏷️ good first issue enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
S-Needs triage
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 2 jours