Skip to content

ci(java): retry JDK 10 test suite once on transient fork startup crash - #198

Merged
shps951023 merged 1 commit into
mainfrom
fix/java-ci-jdk10-fork-retry
Sep 21, 2026
Merged

shps951023 merged 1 commit into
mainfrom
fix/java-ci-jdk10-fork-retry

Conversation

@shps951023

@shps951023 shps951023 commented Sep 21, 2026

Copy link
Copy Markdown
Member

Problem

Java CI's JDK 10 matrix entry failed on main (run 35563074234): the forked test JVM (Zulu 10.0.2) terminated at startup with exit code 1 and zero tests run ("The forked VM terminated without properly saying goodbye. VM crash or System.exit called?").

Analysis

  • A rerun of the identical job passed with no changes, and all other matrix entries (JDK 8-25, including JDK 9 on the same runner image) pass.
  • The crash happens before any test class loads (Tests run: 0), so it is not caused by library code.
  • The same runner image version (20260907.292.1) was used for the last passing and the failing run, so the environment did not change.

Conclusion: an intermittent native startup crash of the ancient Zulu 10.0.2 forked JVM on ubuntu-22.04 runners.

Change

Retry the JDK 10 verify once before failing the step, with a warning logged between attempts, so a transient fork crash does not fail CI.

Summary by CodeRabbit

  • Bug Fixes
    • Improved test reliability on Ubuntu 22.04 by automatically retrying failed verification once under JDK 10.
    • Preserves the final failure result if both attempts fail.

Zulu 10.0.2's forked test JVM intermittently crashes while starting on
ubuntu-22.04 runners (surefire reports "The forked VM terminated without
properly saying goodbye" with zero tests run). The failure reproduces on
neither a rerun nor any other matrix entry and happens before any test
class loads, so retry the suite once before failing the step.
@coderabbitai

coderabbitai Bot commented Sep 21, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Understand this PR’s impact

Explore downstream dependencies and potential security impact with Blast Radius.

View blast radius →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 96405060-04b1-4cd2-a49d-57e7c969f45d

📥 Commits

Reviewing files that changed from the base of the PR and between 8abc958 and d479a95.

📒 Files selected for processing (1)
  • .github/workflows/java-ci.yml

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

The JDK 10 GitHub Actions test step now retries Maven verification once after failure. It exits immediately after success and returns the final failure status when both attempts fail.

Changes

JDK 10 CI execution

Layer / File(s) Summary
Maven verification retry loop
.github/workflows/java-ci.yml
The JDK 10 test step runs Maven verification up to two times, stops after a successful attempt, warns before retrying, and preserves the final exit status.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding one retry for the JDK 10 test suite after a transient fork startup crash.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@shps951023
shps951023 merged commit 6017f9b into main Sep 21, 2026
21 checks passed
@shps951023
shps951023 deleted the fix/java-ci-jdk10-fork-retry branch September 21, 2026 05:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant