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

exec hangs for hours after msbuild completes #72

Open
jr4 opened this issue Nov 18, 2016 · 4 comments
Open

exec hangs for hours after msbuild completes #72

jr4 opened this issue Nov 18, 2016 · 4 comments
Labels

Comments

@jr4
Copy link

jr4 commented Nov 18, 2016

After the msbuild process ends (verified in task manager), the gradle process continues to hang. Windows 7, VS 2013 or 2015, Java 8, Gradle 3.0 or 3.2. No issues on Linux.

This is effectively a blocker for any nontrivial build.

Attaching jstack output.

Looks similar to a complaint about gradle here: https://discuss.gradle.org/t/weirdness-in-gradle-exec-on-windows/13660/6

gradledaemonstack.txt

@gluck
Copy link
Contributor

gluck commented Nov 21, 2016

I verified and the build of il-repack doesn't exhibit this behavior (feel free to confirm).
It's using gradle 2.9, JDK 8 and VS 2015.

If it's indeed related to msbuild passing its FD out to child processes, maybe it has something to do with your build env ?

@gluck gluck added the bug label Nov 21, 2016
@jr4
Copy link
Author

jr4 commented Nov 21, 2016

Thanks for testing that, you're right, gradle 2.x seems to be ok. I just tested my build using gradle 2.14.1 and had no problem. But gradle 3.0 and 3.2 both hang consistently.

I see that the plugin uses project.exec for the build but not for the ProjectFileParser. I changed the plugin code to avoid project.exec and use similar code in both cases. It resolves this issue, so I'm confident there's something weird going on with gradle 3's exec. I don't know for a fact that it's related to FDs and child processes, but it's possible and does have the same symptoms. What we do know is gradle3+the plugin will consistently hang for certain msbuild projects, on multiple versions of VS.

So although the problem is not in the plugin, would you be willing to include this code so that builds don't hang on gradle 3? https://github.com/jr4/gradle-msbuild-plugin/commit/6efbe1d2aa07ccae1065e8c7fa53ebe103661a5c

@gluck
Copy link
Contributor

gluck commented Nov 22, 2016

I tested 3.1 (with daemon) on il-repack, no issue, also tested 3.2 with --no-daemon, same.
Can you confirm ?

Using 3.2 with daemon is messy, lots of popups from each task exec, I suspect that's related to the recent changes to DaemonMain.

@gluck
Copy link
Contributor

gluck commented Nov 22, 2016

Note that even though the behavior with Gradle 3.2 + daemon is a mess, I do not reproduce your issue, as the stackdump of the daemon after the build is clean of any msbuild ref.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants