{"record":{"id":"7a31590a457d307c","repo":"pinpoint-apm/pinpoint","slug":"boot-create-failed-error","errorCode":null,"errorMessage":"boot create failed. Error:","messagePattern":"boot create failed\\. Error:","errorType":"exception","errorClass":"BootStrapException","httpStatus":null,"severity":"critical","filePath":"agent-module/bootstraps/bootstrap/src/main/java/com/navercorp/pinpoint/bootstrap/AgentBootLoader.java","lineNumber":61,"sourceCode":"    }\n\n    public Object boot(final AgentOption agentOption) {\n        final Class<?> agentClazz = getBootStrapClass(\"com.navercorp.pinpoint.profiler.Agent\");\n        final Class<?> bootStrapClazz = getBootStrapClass(bootClass);\n        if (!agentClazz.isAssignableFrom(bootStrapClazz)) {\n            throw new IllegalStateException(\"Invalid AgentClass:\" + bootStrapClazz);\n        }\n        final SystemPropertyManager systemPropertyManager = new SystemPropertyManager();\n\n        return executeTemplate.execute(new Callable<Object>() {\n            @Override\n            public Object call() throws Exception {\n                try {\n                    systemPropertyManager.backup(agentOption);\n                    Constructor<?> constructor = bootStrapClazz.getDeclaredConstructor(Map.class);\n                    return constructor.newInstance(agentOption.toMap());\n                } catch (InstantiationException e) {\n                    throw new BootStrapException(\"boot create failed. Error:\" + e.getMessage(), e);\n                } catch (IllegalAccessException e) {\n                    throw new BootStrapException(\"boot method invoke failed. Error:\" + e.getMessage(), e);\n                } finally {\n                    systemPropertyManager.restore();\n                }\n            }\n        });\n    }\n\n    private Class<?> getBootStrapClass(String clazzName) {\n        try {\n            return this.classLoader.loadClass(clazzName);\n        } catch (ClassNotFoundException e) {\n            throw new BootStrapException(\"boot class not found. bootClass:\" + bootClass + \" Error:\" + e.getMessage(), e);\n        }\n    }\n}\n","sourceCodeStart":43,"sourceCodeEnd":79,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/agent-module/bootstraps/bootstrap/src/main/java/com/navercorp/pinpoint/bootstrap/AgentBootLoader.java#L43-L79","documentation":"Inside AgentBootLoader's executeTemplate callable, after backing up system properties, the bootStrap class constructor (taking a Map) is invoked reflectively. If the class is abstract/interface or instantiation otherwise fails, an InstantiationException is rethrown as BootStrapException('boot create failed. Error: ...').","triggerScenarios":"Boot class is abstract or an interface so newInstance fails; getDeclaredConstructor(Map.class) succeeded but construction threw due to bad agentOption map contents (only for InstantiationException path).","commonSituations":"Pointing bootstrap config at an abstract base Agent class instead of a concrete implementation; version mismatch producing a constructor that cannot instantiate; agent option map missing keys the concrete constructor requires leading to early failure paths.","solutions":["Configure a concrete (non-abstract, non-interface) bootstrap class such as com.navercorp.pinpoint.profiler.DefaultAgent","Read the wrapped BootStrapException cause for the underlying instantiation problem and fix it","Ensure bootstrap and profiler jars are from the same Pinpoint release","Verify agentOption.toMap() supplies all values the boot constructor expects"],"exampleFix":"# before\n-Dpinpoint.bootstrapclass=com.navercorp.pinpoint.profiler.AbstractAgent (abstract)\n# after\n-Dpinpoint.bootstrapclass=com.navercorp.pinpoint.profiler.DefaultAgent","handlingStrategy":"try-catch","validationCode":"Class<?> boot = Class.forName(bootClassName, true, loader);\nif (Modifier.isAbstract(boot.getModifiers()) || boot.isInterface()) {\n    throw new IllegalStateException(\"boot class must be concrete: \" + bootClassName);\n}\nboot.getDeclaredConstructor(Map.class);","typeGuard":null,"tryCatchPattern":"try {\n    return bootLoader.boot(agentOption);\n} catch (BootStrapException e) {\n    if (e.getMessage().startsWith(\"boot create failed. Error:\")) {\n        logger.error(\"could not instantiate boot class \" + bootClassName + \"; check it is concrete and constructor args are valid; cause:\", e.getCause());\n    } else { throw e; }\n}","preventionTips":["Configure a concrete boot class (com.navercorp.pinpoint.profiler.DefaultAgent)","Keep profiler and bootstrap jars version-aligned to avoid constructor signature drift","Log and inspect the wrapped cause — it names the underlying InstantiationException"],"tags":["bootstrap","agent-startup","instantiation"],"backgroundTag":"module-init-failed","analyzedSha":"744c3d3075e595656abb1ae331ad2c0e4c9eb996","analyzedAt":"2026-09-07T18:48:45.289Z","contentChangedAt":"2026-09-07T18:48:45.289Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}