{"record":{"id":"7f1c657b81304377","repo":"pinpoint-apm/pinpoint","slug":"dump-jdk-info-java-vm-name-java-version","errorCode":null,"errorMessage":"Dump JDK info java.vm.name:{} java.version:{}","messagePattern":"Dump JDK info java\\.vm\\.name:(.+?) java\\.version:(.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"agent-module/profiler-optional/profiler-optional-jdk9/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/JavaLangAccessHelper.java","lineNumber":47,"sourceCode":"    // Java 9 version over and after\n    private static final String MISC_SHARED_SECRETS_CLASS_NAME = \"jdk.internal.misc.SharedSecrets\";\n    private static final String MISC_JAVA_LANG_ACCESS_CLASS_NAME = \"jdk.internal.misc.JavaLangAccess\";\n    // Java 12 version over and after\n    private static final String ACCESS_SHARED_SECRETS_CLASS_NAME = \"jdk.internal.access.SharedSecrets\";\n    private static final String ACCESS_JAVA_LANG_ACCESS_CLASS_NAME = \"jdk.internal.access.JavaLangAccess\";\n\n    private static final JavaLangAccess JAVA_LANG_ACCESS = newJavaLangAccessor();\n\n    private JavaLangAccessHelper() {\n    }\n\n    public static JavaLangAccess getJavaLangAccess() {\n        return JAVA_LANG_ACCESS;\n    }\n\n    // for debugging\n    private static void dumpJdkInfo() {\n        logger.warn(\"Dump JDK info java.vm.name:{} java.version:{}\", JvmUtils.getSystemProperty(SystemPropertyKey.JAVA_VM_NAME), JvmUtils.getSystemProperty(SystemPropertyKey.JAVA_VM_VERSION));\n    }\n\n\n    private static JavaLangAccess newJavaLangAccessor()  {\n        try {\n            Class.forName(MISC_JAVA_LANG_ACCESS_CLASS_NAME, false, JavaLangAccess.class.getClassLoader());\n            return new JavaLangAccess9();\n        } catch (ClassNotFoundException ignored) {\n            // ignore\n        }\n        try {\n            // https://github.com/naver/pinpoint/issues/6752\n            // Oracle JDK11 : jdk.internal.access\n            // openJDK11 =  jdk.internal.misc\n            Class.forName(ACCESS_SHARED_SECRETS_CLASS_NAME, false, JavaLangAccess.class.getClassLoader());\n            return new JavaLangAccess11();\n        } catch (ClassNotFoundException ignored) {\n            // ignore","sourceCodeStart":29,"sourceCodeEnd":65,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/agent-module/profiler-optional/profiler-optional-jdk9/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/JavaLangAccessHelper.java#L29-L65","documentation":"This is a diagnostic warning dumped by JavaLangAccessHelper when it cannot resolve or load the internal jdk.internal.misc.JavaLangAccess accessor on the current JDK. It logs the JVM name and version so maintainers can identify an unsupported JDK build. The agent's JDK9 class-definition feature may be disabled or non-functional as a result.","triggerScenarios":"newJavaLangAccessor() failing Class.forName(\"jdk.internal.misc.JavaLangAccess\") or its setup, which triggers dumpJdkInfo to record java.vm.name and java.version before falling back.","commonSituations":"Running the Pinpoint agent on a JDK 9+ build where jdk.internal.misc was moved/renamed (e.g. newer JDK using jdk.internal.access.JavaLangAccess); unsupported vendor JVM; missing --add-exports for internal packages.","solutions":["Compare the dumped java.vm.name/java.version with the JDK compatibility matrix of your Pinpoint agent version and upgrade the agent","For JDK 15+, the class moved to jdk.internal.access.JavaLangAccess; use a Pinpoint agent version that supports it","Add the required --add-exports/--add-opens JVM flags for internal JDK packages","Run the agent on a JDK version officially supported by the agent build"],"exampleFix":"// before: running on JDK 16 with an agent built for JDK 9-11\n// after: pin JVM or agent\n// JAVA_OPTS=\"$JAVA_OPTS -Djava.version-compatible\" -> use pinpoint-agent supporting your JDK\n// e.g. agent 2.4.x+ for JDK 17, or run on JDK 11","handlingStrategy":"validation","validationCode":"String ver = System.getProperty(\"java.version\");\nboolean supported = ver.startsWith(\"1.8\") || ver.startsWith(\"9.\") || ver.startsWith(\"11.\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Verify your JDK version against Pinpoint's supported list before deploying the agent","Read the dumped java.vm.name/java.version to identify unsupported builds","Add required --add-exports flags for JDK internal packages when applicable"],"tags":["jdk9","internal-api","diagnostics","classloading"],"backgroundTag":"unsupported-platform","analyzedSha":"744c3d3075e595656abb1ae331ad2c0e4c9eb996","analyzedAt":"2026-09-07T18:48:45.289Z","contentChangedAt":"2026-09-07T18:48:45.289Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}