elfuse stalls at startup under any finite host RLIMIT_CPU
Les mainteneurs répondent en général sous 3 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- c, macos
- Domaine
- backend, operating-systems
Piste de recherche
Start by reproducing with the supplied zsh command and compare behavior with no host CPU limit. The report places the stall in hv_vcpu_run (Hv::Vcpu::run_once in hv_trap), with the vCPU stuck at the same EL1 PC; inspect that execution path and the host RLIMIT_CPU setup. Done means elfuse runs the guest and prints hello under a finite host CPU limit.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Under any finite host RLIMIT_CPU, elfuse stalls before the guest produces output: test-hello prints nothing, and the vCPU watchdog ends elfuse after 10 s with status 124. The limit is nowhere near used up, so the stall comes from a finite limit being set, not from the limit firing.
Reproducer (zsh):
(ulimit -St 1000; build/elfuse build/test-hello; echo "status=$?")
| host limit | result |
|---|---|
| none | prints hello, status 0 |
ulimit -St 1000 |
no output, vCPU execution timed out after 10s, PC=0xfeffdf6000 CPSR=0x3c5, status 124 |
ulimit -St 100000 |
same |
ulimit -Ht 100000 |
same |
ulimit -St 1000, with SIGXCPU ignored in the parent shell (trap '' XCPU) |
same |
The same happens on 3347188 (main), e9fdbbb, and c2785c7^1, from before #448 moved guest limits into the guest table, so it is not caused by the guest table or its enforcement. Ignoring SIGXCPU does not change it, so the host signal is not what stops the guest.
A sample of a stalled process shows the main thread inside hv_vcpu_run (Hv::Vcpu::run_once in hv_trap) for the whole 2 s window, with process CPU time equal to wall time, and the vCPU at EL1 at the same PC on every run. The cause is not traced yet.
Since #448 the guest seeds its RLIMIT_CPU from the host, so a CPU limit inherited from the shell, which the RLIMIT_CPU enforcement in the follow-up PR handles, cannot be exercised until this is fixed.
- Langage dominant
- C
- Étoiles
- 278
- Forks
- 31
- Merge moyen
- 2 j 22 h
- PR mergées (30 j)
- 17
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
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 sysprog21/elfuse
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
Les mainteneurs répondent en général sous 3 jours
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 3 jours
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
sysprog21/elfuse#476 · 1 commentaire ·
Les mainteneurs répondent en général sous 3 jours
Toutes les issues de sysprog21/elfuse
Issues similaires
-
Type: Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
apache/nuttx-apps#3942 ·
Les mainteneurs répondent en général sous 1 jour
-
Add missing unit tests for IsAdmissionPolicyName and IsCertManagerResourceNamePeut-être pris @a1h8 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
kubernetes-sigs/security-profiles-operator#3644 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 70/100
ly05010419/MacNativeGames#1340 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour