pinpoint-apm/pinpoint · error · PinpointException
ClassNo class with classLoader
Error message
ClassNo class ${className} with classLoader ${classLoader} What it means
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.
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
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/DebugTransformerClassInjector.java:44 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of pinpoint-apm/pinpoint@744c3d3075 (2026-09-07).
Data as JSON: /api/errors/739bf3ccf97284ea.
Report an issue: GitHub.
Appendix: source
Thrown at agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/DebugTransformerClassInjector.java:44
public class DebugTransformerClassInjector implements ClassInjector {
private static final BootstrapPackage bootstrapPackage = new BootstrapPackage();
public DebugTransformerClassInjector() {
}
@Override
@SuppressWarnings("unchecked")
public <T> Class<? extends T> injectClass(ClassLoader classLoader, String className) {
ClassLoader targetClassLoader = classLoader;
if (bootstrapPackage.isBootstrapPackage(className)) {
targetClassLoader = Object.class.getClassLoader();
}
try {
return (Class<? extends T>) Class.forName(className, false, targetClassLoader);
} catch (ClassNotFoundException e) {
throw new PinpointException("ClassNo class " + className + " with classLoader " + classLoader, e);
}
}
@Override
public InputStream getResourceAsStream(ClassLoader classLoader, String internalName) {
ClassLoader targetClassLoader = getClassLoader(classLoader);
targetClassLoader = filterBootstrapPackage(targetClassLoader, internalName);
return targetClassLoader.getResourceAsStream(internalName);
}
private static ClassLoader getClassLoader(ClassLoader classLoader) {
if (classLoader == null) {
return ClassLoader.getSystemClassLoader();
}
return classLoader;View on GitHub (pinned to 744c3d3075)