-
-
Notifications
You must be signed in to change notification settings - Fork 230
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
0.9.24-beta.2: Infinite new-process recursion using dub decribe within preGenerateCommands #616
Comments
For me it hangs in the pre-generate command of "gen-package-version". I have a lot of "bootstrap.exe" processes visible in task manager. The only thing that happens within DUB is a |
I've dug a little more and it turns out that it's hanging inside a nested invocation of dub. But we didn't notice that because one of my tools is capturing the stdout for that invocation instead of being forwarding it through to the console. Go into auto rawJson = runCollect("dub describe"); to: auto rawJson = run("dub describe --vverbose"); Then try again and you'll notice that invocation of dub is hanging right after several lines of |
Figured out what's happening: Due to On one hand, it does make some sense that |
Oh, that makes sense. One trivial possibility, which I actually almost had implemented because I already stumbled over something similar, would be to add a But that IMO wouldn't be completely satisfying, because it's opt-in and thus will still be easy to get wrong. At least it would require an additional warning/error message in case of recursive invocations. But if we have that logic, we can as well replace the proposed switch by that automated logic. So... any idea for the recursion detection other than creating a temporary PS: Another idea: add a |
Actually, I was just about to suggest the reverse: But My only (small) concern with the envvar approach is possible confusion when querying sourceFiles yields different results (fewer files) inside of pre/postGenerateCommands than outside. But that does actually make sense too though, and it'd probably be easier for users than needing to choose "Do I want --run-generate-commands or not"? |
Fix #616: Infinite new-process recursion using dub decribe within…
$ git clone https://github.com/Abscissa/safeArg.git $ cd safeArg $ dub describe
Works on DUB 0.9.23. Hangs on DUB 0.9.24-beta.2. Same thing for
dub run
.The text was updated successfully, but these errors were encountered: