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

CommandLineToolVersionLocator fails with an NPE on (broken visual studio) in Windows #21993

Open
dweiss opened this issue Sep 13, 2022 · 1 comment
Labels
a:bug in:native-platform c, cpp, swift and other native languages support, etc

Comments

@dweiss
Copy link

dweiss commented Sep 13, 2022

This has been reported to Apache Lucene mailing list - a stack trace like this one when firing up gradle on Windows:

Caused by: java.lang.NullPointerException
        at org.gradle.nativeplatform.toolchain.internal.msvcpp.version.CommandLineToolVersionLocator.parseJson(CommandLineToolVersionLocator.java:94)
        at org.gradle.nativeplatform.toolchain.internal.msvcpp.version.CommandLineToolVersionLocator.locateInstalls(CommandLineToolVersionLocator.java:60)

If you look at that stack trace (the bug is still present on master), gradle clearly just happily logs a missing output from vswhere and returns null:

https://github.com/gradle/gradle/blob/v7.3.3/subprojects/platform-native/src/main/java/org/gradle/nativeplatform/toolchain/internal/msvcpp/version/CommandLineToolVersionLocator.java#L86-L89

which then propagates up as NPE in parseJson:

https://github.com/gradle/gradle/blob/v7.3.3/subprojects/platform-native/src/main/java/org/gradle/nativeplatform/toolchain/internal/msvcpp/version/CommandLineToolVersionLocator.java#L59-L60

The returned null value should be guarded with an if in locateInstalls and ignored:

https://github.com/gradle/gradle/blob/v7.3.3/subprojects/platform-native/src/main/java/org/gradle/nativeplatform/toolchain/internal/msvcpp/version/CommandLineToolVersionLocator.java#L59-L60

@jbartok jbartok added in:native-platform c, cpp, swift and other native languages support, etc and removed to-triage labels Sep 14, 2022
@ghidra1
Copy link

ghidra1 commented Dec 6, 2022

This may be related to #20968

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:bug in:native-platform c, cpp, swift and other native languages support, etc
Projects
None yet
Development

No branches or pull requests

3 participants