From d53190ac4485e535f0a603036ecf47d4ff6e4178 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Mon, 29 Sep 2025 05:36:18 +0000 Subject: [PATCH] 8366582: Test jdk/jshell/ToolSimpleTest.java failed: provider not found Reviewed-by: asotona --- .../share/classes/jdk/jshell/SourceCodeAnalysisImpl.java | 7 ++++++- test/langtools/ProblemList.txt | 2 -- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java b/src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java index 045734d9f55..f27441b7262 100644 --- a/src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java +++ b/src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java @@ -2303,7 +2303,8 @@ class SourceCodeAnalysisImpl extends SourceCodeAnalysis { //if an index exists for the given entry, the existing index is kept unless the timestamp is modified private ClassIndex indexForPath(Path path) { if (!Files.isDirectory(path)) { - if (Files.exists(path)) { + if (Files.exists(path) && + !isJRTMarkerFile(path)) { //don't directly index lib/modules return PATH_TO_INDEX.compute(path, (p, index) -> { try { long lastModified = Files.getLastModifiedTime(p).toMillis(); @@ -2334,6 +2335,10 @@ class SourceCodeAnalysisImpl extends SourceCodeAnalysis { } } + private static boolean isJRTMarkerFile(Path path) { + return path.equals(Paths.get(System.getProperty("java.home"), "lib", "modules")); + } + //create an index based on the content of the given dirs; the original JavaFileManager entry is originalPath. private ClassIndex doIndex(long timestamp, Path originalPath, Iterable dirs) { Set packages = new HashSet<>(); diff --git a/test/langtools/ProblemList.txt b/test/langtools/ProblemList.txt index 59b5b240a29..9d61a20663d 100644 --- a/test/langtools/ProblemList.txt +++ b/test/langtools/ProblemList.txt @@ -52,8 +52,6 @@ jdk/jshell/UserJdiUserRemoteTest.java jdk/jshell/UserInputTest.java 8169536 generic-all jdk/jshell/ToolBasicTest.java 8265357 macosx-aarch64 jdk/jshell/HighlightUITest.java 8284144 generic-all -jdk/jshell/ToolSimpleTest.java 8366582 generic-all -jdk/jshell/ToolLocalSimpleTest.java 8366582 generic-all ########################################################################### #