[jdk21u-dev] RFR: 8375080: The tools/jpackage/windows/Win8365790Test.java may fail with ClassNotFoundException: jtreg.SkippedException

Min Choi duke at openjdk.org
Wed Feb 11 09:56:11 UTC 2026


`Win8365790Test` calls `TKit.throwSkippedException()` when the test environment doesn't support Ctrl+C signal delivery.

In JDK 17/21, `TKit.throwSkippedException()` uses reflection (`Class.forName("jtreg.SkippedException")`) to load the exception class, which requires `jtreg.SkippedException` to be on the classpath.

public static RuntimeException throwSkippedException(String reason) {
    trace("Skip the test: " + reason);
    RuntimeException ex = ThrowingSupplier.toSupplier(
            () -> (RuntimeException) Class.forName("jtreg.SkippedException").getConstructor(
                    String.class).newInstance(reason)).get();
    currentTest.notifySkipped(ex);
    throw ex;
}


The test was missing the jtreg directives to build this class:

@library /test/lib
@build jtreg.SkippedException


This pattern is already used by other jpackage tests that call `throwSkippedException()` (e.g., `SigningAppImageTest.java`).

Note: JDK 25+ has this fixed differently via [JDK-8352419](https://bugs.openjdk.org/browse/JDK-8352419) which [hardcodes](https://github.com/openjdk/jdk/commit/70e325004536eb9b79f4943f27eed4ac6cec8bd5#diff-409e0d5eb5d024e7613e041c416fe862752cce72f19c80bb585511239fab9399R1144-R1170) `SkippedException` directly in `TKit.java`.

-------------

Commit messages:
 - 8375080: tools/jpackage/windows/Win8365790Test.java may fail with ClassNotFoundException: jtreg.SkippedException

Changes: https://git.openjdk.org/jdk21u-dev/pull/2606/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk21u-dev&pr=2606&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8375080
  Stats: 2 lines in 1 file changed: 2 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk21u-dev/pull/2606.diff
  Fetch: git fetch https://git.openjdk.org/jdk21u-dev.git pull/2606/head:pull/2606

PR: https://git.openjdk.org/jdk21u-dev/pull/2606


More information about the jdk-updates-dev mailing list