{"record":{"id":"8dc4c763ad0ec499","repo":"pinpoint-apm/pinpoint","slug":"unknown-instrumentengine","errorCode":null,"errorMessage":"Unknown InstrumentEngine:{}","messagePattern":"Unknown InstrumentEngine:(.+?)","errorType":"console","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/InstrumentEngineProvider.java","lineNumber":80,"sourceCode":"        this.apiMetaDataServiceProvider = Objects.requireNonNull(apiMetaDataServiceProvider, \"apiMetaDataServiceProvider\");\n        this.interceptorHolderIdGenerator = Objects.requireNonNull(interceptorHolderIdGenerator, \"interceptorHolderIdGenerator\");\n    }\n\n    public InstrumentEngine get() {\n        final String instrumentEngine = instrumentConfig.getProfileInstrumentEngine().toUpperCase();\n        if (InstrumentConfig.INSTRUMENT_ENGINE_ASM.equals(instrumentEngine)) {\n            logger.info(\"ASM InstrumentEngine\");\n\n            // WARNING must be singleton\n            final InterceptorDefinitionFactory interceptorDefinitionFactory = new InterceptorDefinitionFactory();\n            // WARNING must be singleton\n            final ScopeFactory scopeFactory = new ScopeFactory();\n            EngineComponent engineComponent = new DefaultEngineComponent(objectBinderFactory, interceptorDefinitionFactory, apiMetaDataServiceProvider, scopeFactory, interceptorHolderIdGenerator);\n            DefineClass defineClass = DefineClassFactory.getDefineClass();\n            return new ASMEngine(instrumentation, engineComponent, defineClass);\n\n        } else {\n            logger.warn(\"Unknown InstrumentEngine:{}\", instrumentEngine);\n\n            throw new IllegalArgumentException(\"Unknown InstrumentEngine:\" + instrumentEngine);\n        }\n    }\n}\n","sourceCodeStart":62,"sourceCodeEnd":86,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/InstrumentEngineProvider.java#L62-L86","documentation":"WARN in InstrumentEngineProvider.get: the configured instrumentation engine name matches neither the supported engines (e.g. BYTECODE/ASM, JAVASSIST), so the provider logs and throws IllegalArgumentException(\"Unknown InstrumentEngine:...\"). This aborts agent initialization of the instrumentation engine.","triggerScenarios":"Setting profiler.instrument.engine (instrumentEngine config value) to an unsupported string; passing an arbitrary engine name to the provider's get().","commonSituations":"Misspelled engine value in pinpoint.config (e.g. 'asm2', 'bytecode'); config copied from a different Pinpoint version where engine names differ; case mismatch.","solutions":["Set profiler.instrument.engine to a supported value (e.g. ASM or JAVASSIST, per your Pinpoint version's accepted constants).","Check the exact string comparison in InstrumentEngineProvider.get() for case/synonym handling.","Remove the override to use the default engine."],"exampleFix":"// before (pinpoint.config)\nprofiler.instrument.engine=ByteBuddy\n// after\nprofiler.instrument.engine=ASM","handlingStrategy":"validation","validationCode":"String engine = props.getProperty(\"profiler.instrument.engine\");\nif (engine != null && !Set.of(\"ASM\", \"JAVASSIST\").contains(engine.toUpperCase())) {\n    throw new IllegalArgumentException(\"Unsupported profiler.instrument.engine: \" + engine);\n}","typeGuard":null,"tryCatchPattern":"try {\n    engineProvider.get();\n} catch (IllegalArgumentException e) {\n    logger.error(\"Bad profiler.instrument.engine value; check pinpoint.config\", e);\n    throw e;\n}","preventionTips":["Use only documented engine values for your Pinpoint version.","Validate config keys with a schema/lint step in deployment pipelines.","Don't copy instrumentation engine settings between Pinpoint versions blindly."],"tags":["configuration","instrumentation","invalid-enum"],"backgroundTag":"invalid-enum-value","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"}