MagicStack / MagicStack/uvloop

Empty output when calling Snap command

Ouverte
#457 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Cython
Étoiles
11.9k
Forks
616
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

  • uvloop version: 0.16.0
  • Python version: 3.8.10
  • Platform: Ubuntu 20.04.3
  • Helm version: v3.7.0
  • Can you reproduce the bug with PYTHONASYNCIODEBUG in env?: Yes
  • Does uvloop behave differently from vanilla asyncio? How?: When calling helm version via asyncio.create_subprocess_exec, vanilla asyncio displays the correct result, while uvloop returns empty stdout.

Steps to reproduce:

Download Helm CLI

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh --version v3.7.0

Run the following Python script

import uvloop

async def _async_helm():
    proc = await asyncio.create_subprocess_exec('helm', 'version', stdout=asyncio.subprocess.PIPE)
    stdout, _ = await proc.communicate()
    print(stdout)

asyncio.run(_async_helm())
# Prints b'version.BuildInfo{Version:"v3.7.0", GitCommit:"eeac83883cb4014fe60267ec6373570374ce770b", GitTreeState:"clean", GoVersion:"go1.16.8"}\n'

uvloop.install()

asyncio.run(_async_helm())
# Prints b''

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez avec le reproducteur Python fourni utilisant asyncio.create_subprocess_exec et comparez sa sortie avec et sans uvloop.install() sur Ubuntu 20.04. Étudiez le chemin du sous-processus responsable de la capture de stdout ; le travail est terminé lorsque l’appel de helm version via uvloop renvoie le même stdout non vide que vanilla asyncio.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
helm, python
Domaine
backend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.