{"record":{"id":"739bf3ccf97284ea","repo":"pinpoint-apm/pinpoint","slug":"classno-class-classname-with-classloader-clas","errorCode":null,"errorMessage":"ClassNo class ${className} with classLoader ${classLoader}","messagePattern":"ClassNo class (.+?) with classLoader (.+?)","errorType":"exception","errorClass":"PinpointException","httpStatus":null,"severity":"error","filePath":"agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/DebugTransformerClassInjector.java","lineNumber":44,"sourceCode":"public class DebugTransformerClassInjector implements ClassInjector {\n\n    private static final BootstrapPackage bootstrapPackage = new BootstrapPackage();\n\n    public DebugTransformerClassInjector() {\n    }\n\n    @Override\n    @SuppressWarnings(\"unchecked\")\n    public <T> Class<? extends T> injectClass(ClassLoader classLoader, String className) {\n        ClassLoader targetClassLoader = classLoader;\n        if (bootstrapPackage.isBootstrapPackage(className)) {\n            targetClassLoader = Object.class.getClassLoader();\n        }\n\n        try {\n            return (Class<? extends T>) Class.forName(className, false, targetClassLoader);\n        } catch (ClassNotFoundException e) {\n            throw new PinpointException(\"ClassNo class \" + className + \" with classLoader \" + classLoader, e);\n        }\n    }\n\n\n    @Override\n    public InputStream getResourceAsStream(ClassLoader classLoader, String internalName) {\n        ClassLoader targetClassLoader = getClassLoader(classLoader);\n\n        targetClassLoader = filterBootstrapPackage(targetClassLoader, internalName);\n\n        return targetClassLoader.getResourceAsStream(internalName);\n    }\n\n    private static ClassLoader getClassLoader(ClassLoader classLoader) {\n        if (classLoader == null) {\n            return ClassLoader.getSystemClassLoader();\n        }\n        return classLoader;","sourceCodeStart":26,"sourceCodeEnd":62,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/DebugTransformerClassInjector.java#L26-L62","documentation":"Guard in DebugTransformerClassInjector.injectClass: Class.forName on the requested className (redirected to the bootstrap loader for bootstrap packages) failed with a ClassNotFoundException-like error; the message names the class and classloader that could not supply it.","triggerScenarios":"Thrown at agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/DebugTransformerClassInjector.java:44 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the class name string is correct and present in the agent or bootstrap classpath","Ensure debug transformer injection targets a loadable class","Check classloader delegation and agent jar packaging"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"744c3d3075e595656abb1ae331ad2c0e4c9eb996","analyzedAt":"2026-09-07T18:48:45.289Z","contentChangedAt":"2026-09-07T18:48:45.289Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}