pinpoint-apm/pinpoint · error · NotFoundInstrumentException
not found.
Error message
${adviceClassName} not found. What it means
Thrown by ASMClass.weave: the advice/aspect class named by the plugin could not be loaded as bytecode via ASMClassNodeAdapter (null result), so the class cannot be woven with that aspect. The input at fault is the adviceClassName configured in the plugin's transformer.
Solutions
- Verify the advice class name is correct and ships inside the agent/plugin jar
- Check the plugin's class injector can load the advice class in the target classloader
- Upgrade the plugin version matching the agent version
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/ASMClass.java:230 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/ba65f615f6ba441c.
Report an issue: GitHub.
Appendix: source
Thrown at agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/ASMClass.java:230
final String desc = type == null ? null : JavaAssistUtils.toJvmSignature(type);
return this.classNode.getField(fieldName, desc) != null;
}
@Override
public boolean hasField(String name) {
return hasField(name, null);
}
@Override
public void weave(final String adviceClassName) throws InstrumentException {
Objects.requireNonNull(adviceClassName, "adviceClassName");
final String classInternalName = JavaAssistUtils.javaNameToJvmName(adviceClassName);
final ClassLoader classLoader = classNode.getClassLoader();
final ProtectionDomain protectionDomain = classNode.getProtectionDomain();
final ASMClassNodeAdapter adviceClassNode = ASMClassNodeAdapter.get(this.pluginContext, classLoader, protectionDomain, classInternalName);
if (adviceClassNode == null) {
throw new NotFoundInstrumentException(adviceClassName + " not found.");
}
final ASMAspectWeaver aspectWeaver = new ASMAspectWeaver();
aspectWeaver.weaving(this.classNode, adviceClassNode);
setModified(true);
}
@Override
public InstrumentMethod addDelegatorMethod(final String methodName, final String... paramTypes) throws InstrumentException {
Objects.requireNonNull(methodName, "methodName");
// check duplicated method.
if (getDeclaredMethod(methodName, paramTypes) != null) {
throw new InstrumentException(getName() + " already have method(" + methodName + ").");
}
final ASMClassNodeAdapter superClassNode = ASMClassNodeAdapter.get(this.pluginContext, classNode.getClassLoader(), classNode.getProtectionDomain(), this.classNode.getSuperClassInternalName());
if (superClassNode == null) {View on GitHub (pinned to 744c3d3075)