{"record":{"id":"563159da4a24c27a","repo":"pinpoint-apm/pinpoint","slug":"io-error-error","errorCode":null,"errorMessage":"IO error. Error:","messagePattern":"IO error\\. Error:","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/config/ProfilerConfigLoader.java","lineNumber":39,"sourceCode":"import com.navercorp.pinpoint.common.config.util.ValueAnnotationProcessor;\nimport com.navercorp.pinpoint.common.util.PropertyUtils;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.Properties;\n\npublic class ProfilerConfigLoader {\n\n    public static ProfilerConfig load(InputStream inputStream) {\n        Properties properties = loadProperties(inputStream);\n        return load(properties);\n    }\n\n    public static Properties loadProperties(InputStream inputStream) {\n        try {\n            return PropertyUtils.loadProperty(inputStream);\n        } catch (IOException ex) {\n            throw new RuntimeException(\"IO error. Error:\" + ex.getMessage(), ex);\n        }\n    }\n\n    public static ProfilerConfig load(Properties properties) {\n        ValueAnnotationProcessor processor = new ValueAnnotationProcessor();\n\n        JdbcOption jdbcOption = new DefaultJdbcOption();\n        processor.process(jdbcOption, properties::getProperty);\n\n        ProfilerConfig profilerConfig = new DefaultProfilerConfig(properties, jdbcOption);\n        processor.process(profilerConfig, properties::getProperty);\n\n        return profilerConfig;\n    }\n}\n","sourceCodeStart":21,"sourceCodeEnd":55,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/config/ProfilerConfigLoader.java#L21-L55","documentation":"Guard in ProfilerConfigLoader.loadProperties: reading the agent configuration InputStream via PropertyUtils.loadProperty threw IOException; the message prefixes the underlying I/O error text. Fires when the profiler config stream (e.g. pinpoint.config) cannot be read.","triggerScenarios":"Thrown at agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/config/ProfilerConfigLoader.java:39 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the appended Error: text for the real IOException cause (missing file, closed stream, permission)","Verify pinpoint.config path and readability in the agent directory","Ensure the InputStream passed in is open and non-null"],"exampleFix":null,"handlingStrategy":"try-catch","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"}