{"record":{"id":"ba65f615f6ba441c","repo":"pinpoint-apm/pinpoint","slug":"adviceclassname-not-found","errorCode":null,"errorMessage":"${adviceClassName} not found.","messagePattern":"(.+?) not found\\.","errorType":"exception","errorClass":"NotFoundInstrumentException","httpStatus":null,"severity":"error","filePath":"agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/ASMClass.java","lineNumber":230,"sourceCode":"        final String desc = type == null ? null : JavaAssistUtils.toJvmSignature(type);\n        return this.classNode.getField(fieldName, desc) != null;\n    }\n\n    @Override\n    public boolean hasField(String name) {\n        return hasField(name, null);\n    }\n\n    @Override\n    public void weave(final String adviceClassName) throws InstrumentException {\n        Objects.requireNonNull(adviceClassName, \"adviceClassName\");\n\n        final String classInternalName = JavaAssistUtils.javaNameToJvmName(adviceClassName);\n        final ClassLoader classLoader = classNode.getClassLoader();\n        final ProtectionDomain protectionDomain = classNode.getProtectionDomain();\n        final ASMClassNodeAdapter adviceClassNode = ASMClassNodeAdapter.get(this.pluginContext, classLoader, protectionDomain, classInternalName);\n        if (adviceClassNode == null) {\n            throw new NotFoundInstrumentException(adviceClassName + \" not found.\");\n        }\n\n        final ASMAspectWeaver aspectWeaver = new ASMAspectWeaver();\n        aspectWeaver.weaving(this.classNode, adviceClassNode);\n        setModified(true);\n    }\n\n    @Override\n    public InstrumentMethod addDelegatorMethod(final String methodName, final String... paramTypes) throws InstrumentException {\n        Objects.requireNonNull(methodName, \"methodName\");\n\n        // check duplicated method.\n        if (getDeclaredMethod(methodName, paramTypes) != null) {\n            throw new InstrumentException(getName() + \" already have method(\" + methodName + \").\");\n        }\n\n        final ASMClassNodeAdapter superClassNode = ASMClassNodeAdapter.get(this.pluginContext, classNode.getClassLoader(), classNode.getProtectionDomain(), this.classNode.getSuperClassInternalName());\n        if (superClassNode == null) {","sourceCodeStart":212,"sourceCodeEnd":248,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/ASMClass.java#L212-L248","documentation":"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.","triggerScenarios":"Thrown at agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/ASMClass.java:230 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","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"],"exampleFix":null,"handlingStrategy":"validation","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"}