-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Not reading complete output from child process on windows. #11017
Comments
Thanks for opening (I should've just done it myself, sorry for the trouble) Here's some local results from your branch
|
Actually I'm interested to see if the problem is still there if the child process (which generate the warning) is not spawn by julia or if the |
Useful to note, when run from cmd.exe instead of cygwin mintty, the first test outputs On your branch, in cmd, I get this for running at the repl instead of a spawned process:
in mintty, it looks a little different
|
Is that the same if not run from REPL? I guess a missing flush can only (or at least more likely to) happen when running non-interactively? |
from cmd, your branch:
from mintty, your branch:
|
The redirection probably has something to do with this
|
|
It was under cmd. Under mintty, I get
|
Updated the title since IMHO this issue is on the reading side but not the writing side. |
I think we might be mixing up streams somewhere, or redirection isn't entirely working. There are well-known redirection quirks with mintty that we've mostly been working around okay, and the necessary changes have largely been upstreamed to libuv by now. This might be something else, but it could just as easily be a bug in Julia's code somewhere. |
No such thing as glibc on Windows, we don't link to any posix layer with Windows Julia - cygwin and msys-1.0.dll and msys-2.0.dll don't support asynchronous IO so libuv doesn't work there. We use a posix build environment for bash and make, and the mintty terminal emulator needs one of those posix layers, but the compiled julia exe is using mingw-w64 which links against the non-posix msvcrt.dll C runtime. |
it looks like redirect_std••• on windows is having trouble with ordering of the output. are the various parts of that warning's outputs going to the same uv_handle_t? |
@vtjnash I guess you are talking about my pull request. They are AFAIK. 1) they works on linux. 2) the Edit; didn't realize you meant |
yes, i thought it had been merged. although it is also worth comparing to the old code, although it seems from this thread that the issue is not new. the linux design is arguably somewhat more reliable, since it is significantly simpler while providing more functionality. |
@Keno could this be related to #12144? (ref #11017 (comment)) |
i think this may be (partially) fixed by JuliaLang/libuv@0ada24a |
See some discussion in #10984 and CI result for (32bit and 64bit).
The symptom is that the output captured from a child with redirected
STDERR
is truncated. Since I don't have a machine to reproduce it locally, I don't know if the problem is in the child process or in the parent.The text was updated successfully, but these errors were encountered: