subprocess.communicate with timeout 0 and already terminated process generates TimeoutExpired on Linux

Aberta
#73,658 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
python

Direção de pesquisa

Comece executando a reprodução mínima em test.py no Linux e inspecione como subprocess.communicate trata timeout=0 para um processo que já foi encerrado. Considera-se concluído quando esse caso não gerar mais TimeoutExpired, preservando o comportamento esperado de timeout para processos que ainda não foram encerrados.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

stdlib topic-subprocess type-bug
BPO 29472
Nosy @Griffon26, @spoorcc
Files
  • test.py: A minimal example that shows the problem
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2017-02-07.11:57:14.624>
    labels = ['type-bug', 'library']
    title = 'subprocess.communicate with timeout 0 and already terminated process generates TimeoutExpired on Linux'
    updated_at = <Date 2017-02-07.12:36:53.465>
    user = 'https://github.com/Griffon26'
    

    bugs.python.org fields:

    activity = <Date 2017-02-07.12:36:53.465>
    actor = 'spoorcc'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Library (Lib)']
    creation = <Date 2017-02-07.11:57:14.624>
    creator = 'Griffon26'
    dependencies = []
    files = ['46557']
    hgrepos = []
    issue_num = 29472
    keywords = []
    message_count = 1.0
    messages = ['287230']
    nosy_count = 2.0
    nosy_names = ['Griffon26', 'spoorcc']
    pr_nums = []
    priority = 'normal'
    resolution = None
    stage = None
    status = 'open'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue29472'
    versions = ['Python 3.6']
    

    Linguagem predominante
    Python
    Estrelas
    77.2k
    Forks
    36k
    Merge médio
    1d 9h
    PRs com merge (30d)
    558

    Guia de contribuição

    Abrir o guia de contribuição

    Primeiros passos

    1. Leia a issue inteira e depois o guia de contribuição do projeto.
    2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
    3. Faça um fork do repositório e trabalhe em uma branch.
    4. Abra um pull request que referencie o número da issue.

    Mais de python/cpython

    Todas as issues de python/cpython

    Issues semelhantes

    Mais issues de Python

    Receba novas issues na sua caixa de entrada

    Um resumo curto de issues do GitHub para quem está começando.