Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

process.wait() does not seem to wait enough #419

Open
1 task
TC-FF opened this issue Nov 29, 2024 · 3 comments
Open
1 task

process.wait() does not seem to wait enough #419

TC-FF opened this issue Nov 29, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@TC-FF
Copy link

TC-FF commented Nov 29, 2024

Setup Information

  • ravenpy version: 0.16.0
  • Python version: 3.12.7
  • Operating System: Windows

Description

in ravenpy.py,

      process = subprocess.Popen(  # noqa: S603
        cmd,
        cwd=configdir,
        stdin=subprocess.PIPE,
        stdout=subprocess.PIPE,
        universal_newlines=True,
    )`

       stdout, stderr = process.communicate(input="\n")
       returncode = process.wait()

This part of code does not seem to wait enough, it keeps crashing semi-randomly. If I put a breakpoint and wait or resend the lines, it does not crash.

Steps To Reproduce

No response

Additional context

No response

Contribution

  • I would be willing/able to open a Pull Request to address this bug.
@TC-FF TC-FF added the bug Something isn't working label Nov 29, 2024
@huard
Copy link
Collaborator

huard commented Nov 29, 2024

Salut T-C,
Merci pour le rapport. RavenPy n'a pas été beaucoup utilisé sur windows, donc pas tellement surpris qu'il y ait des accrocs.

Je n'ai pas vraiment d'idée sur la cause du problème. Peut-être qu'il y a des pistes ici: https://docs.python.org/3/library/subprocess.html#windows-popen-helpers

@TC-FF
Copy link
Author

TC-FF commented Nov 29, 2024

Ce matin on a aussi fait des tests, avec Charles, étrangement, ça passe le premier coup, mais pas par la suite. J'avais eu ça de mon côté, mais croyais avoir été chanceux. Ça semble au contraire faire parti du patern. Je vais regarder ton lien et voir ce qu'on peut faire. Si je trouve, est ce qu'un truc genre if os.name == 'nt' est correct ou ce n'est pas assez robuste ?

@huard
Copy link
Collaborator

huard commented Nov 29, 2024

Intéressant, peut-être que RavenPy ne "ferme" pas proprement un processus ou un PIPE.

Si ça règle le problème, ça me va.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants