HydrologicEngineeringCenter / HydrologicEngineeringCenter/Vortex
`java.awt.HeadlessException` on Linux
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 37
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
bash gradlew build -x test
Build fails with java11, but it builds with java 21.
But running bash gradlew importer:run gives:
Cannot locate tasks that match 'importer:run' as task 'run' not found in project ':importer'.
So, I tried bash gradlew tasks and saw there is "importer" and "run" separately,
Trying bash gradlew importer fails with HeadlessException:
> Task :vortex-ui:importer FAILED
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set,
or no headful library support was found,
but this program performed an operation which requires it,
at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:166)
at java.desktop/java.awt.Window.<init>(Window.java:553)
at java.desktop/java.awt.Frame.<init>(Frame.java:428)
at java.desktop/java.awt.Frame.<init>(Frame.java:393)
at java.desktop/javax.swing.JFrame.<init>(JFrame.java:180)
at mil.army.usace.hec.vortex.ui.VortexWizard.<init>(VortexWizard.java:28)
at mil.army.usace.hec.vortex.ui.ImportMetWizard.<init>(ImportMetWizard.java:47)
at mil.army.usace.hec.vortex.ui.VortexUi.main(VortexUi.java:25)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':vortex-ui:importer'.
> Process 'command '/usr/lib/jvm/java-21-openjdk/bin/java'' finished with non-zero exit value 1
P.S. Results from bash gradlew build -x test
> Task :copyJre
Execution optimizations have been disabled for task ':copyJre' to ensure correctness due to the following reasons:
- Gradle detected a problem with the following location: '/home/gaurav/executables/Vortex-0.11.9/bin/jre'. Reason: Task ':copyJre' uses this output of task ':getNatives' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.6/userguide/validation_problems.html#implicit_dependency for more details about this problem.
> Task :copyNatives
Execution optimizations have been disabled for task ':copyNatives' to ensure correctness due to the following reasons:
- Gradle detected a problem with the following location: '/home/gaurav/executables/Vortex-0.11.9/bin'. Reason: Task ':copyNatives' uses this output of task ':getNatives' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.6/userguide/validation_problems.html#implicit_dependency for more details about this problem.
> Task :zipLinux
Execution optimizations have been disabled for task ':zipLinux' to ensure correctness due to the following reasons:
- Gradle detected a problem with the following location: '/home/gaurav/executables/Vortex-0.11.9/build/distributions/vortex-0.1.0-dev.0.uncommitted'. Reason: Task ':zipLinux' uses this output of task ':copyVortexUi' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.6/userguide/validation_problems.html#implicit_dependency for more details about this problem.
- Gradle detected a problem with the following location: '/home/gaurav/executables/Vortex-0.11.9/build/distributions/vortex-0.1.0-dev.0.uncommitted'. Reason: Task ':zipLinux' uses this output of task ':copyLicense' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.6/userguide/validation_problems.html#implicit_dependency for more details about this problem.
- Gradle detected a problem with the following location: '/home/gaurav/executables/Vortex-0.11.9/build/distributions/vortex-0.1.0-dev.0.uncommitted'. Reason: Task ':zipLinux' uses this output of task ':copyStartScripts' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.6/userguide/validation_problems.html#implicit_dependency for more details about this problem.
- Gradle detected a problem with the following location: '/home/gaurav/executables/Vortex-0.11.9/build/distributions/vortex-0.1.0-dev.0.uncommitted'. Reason: Task ':zipLinux' uses this output of task ':copyNatives' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.6/userguide/validation_problems.html#implicit_dependency for more details about this problem.
- Gradle detected a problem with the following location: '/home/gaurav/executables/Vortex-0.11.9/build/distributions/vortex-0.1.0-dev.0.uncommitted'. Reason: Task ':zipLinux' uses this output of task ':copyJre' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.6/userguide/validation_problems.html#implicit_dependency for more details about this problem.
- Gradle detected a problem with the following location: '/home/gaurav/executables/Vortex-0.11.9/build/distributions/vortex-0.1.0-dev.0.uncommitted'. Reason: Task ':zipLinux' uses this output of task ':copyRuntimeLibs' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.6/userguide/validation_problems.html#implicit_dependency for more details about this problem.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings
Execution optimizations have been disabled for 3 invalid unit(s) of work during this build to ensure correctness.
Please consult deprecation warnings for more details.
BUILD SUCCESSFUL in 15s
17 actionable tasks: 8 executed, 9 up-to-date
I also tried to compile it installing gradle 8.4 but it didn't work. So all of the above is when gradle isn't installed in the system.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing bash gradlew importer and reading the stack-trace entry points VortexUi.java, ImportMetWizard.java, and VortexWizard.java. Compare that behavior with the available Gradle tasks and the Java 11 versus Java 21 build results. Done means the importer behavior on Linux without an X11 DISPLAY is defined and the reported failure is covered by a verified build or test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100