{"record":{"id":"274ceccfa95f9adf","repo":"flowable/flowable-engine","slug":"error-retrieving-process-info","errorCode":null,"errorMessage":"Error retrieving process info","messagePattern":"Error retrieving process info","errorType":"http","errorClass":"FlowableException","httpStatus":500,"severity":"error","filePath":"modules/flowable-rest/src/main/java/org/flowable/rest/service/api/management/ProcessEngineResource.java","lineNumber":70,"sourceCode":"    public EngineInfoResponse getEngineInfo() {\n        if (restApiInterceptor != null) {\n            restApiInterceptor.accessManagementInfo();\n        }\n        \n        EngineInfoResponse response = new EngineInfoResponse();\n\n        try {\n            EngineInfo engineInfo = ProcessEngines.getProcessEngineInfo(engine.getName());\n            if (engineInfo != null) {\n                response.setName(engineInfo.getName());\n                response.setResourceUrl(engineInfo.getResourceUrl());\n                response.setException(engineInfo.getException());\n            } else {\n                // Revert to using process-engine directly\n                response.setName(engine.getName());\n            }\n        } catch (Exception e) {\n            throw new FlowableException(\"Error retrieving process info\", e);\n        }\n\n        response.setVersion(ProcessEngine.class.getPackage().getImplementationVersion());\n        return response;\n    }\n}","sourceCodeStart":52,"sourceCodeEnd":76,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-rest/src/main/java/org/flowable/rest/service/api/management/ProcessEngineResource.java#L52-L76","documentation":"ProcessEngineResource.getEngineInfo wraps any exception thrown while building the engine info response in a FlowableException with message 'Error retrieving process info'. It signals that querying the process engine's metadata/state (including any stored engine exception info) failed unexpectedly, with the root cause attached as the cause.","triggerScenarios":"GET /management/engine (getEngineInfo) when the underlying ProcessEngine/ManagementService call throws — e.g. engine not properly initialized, database unreachable while resolving engine info, or engineInfo retrieval failing.","commonSituations":"Flowable engine misconfiguration at startup; database down or connection pool exhausted; accessing the endpoint before/while the engine is being closed; classpath/version problems where engine introspection fails.","solutions":["Inspect the exception's 'cause' in server logs for the root problem","Verify the process engine is initialized and the database is reachable before calling the endpoint","Check Flowable datasource configuration (JDBC URL, credentials, driver) and test connectivity","Restart the application/container to reinitialize the engine if it was closed mid-flight"],"exampleFix":"// before (diagnosis)\nHTTP GET /management/engine -> 500 'Error retrieving process info'\n// after\n// check server log for 'Caused by: ...' and fix datasource, e.g.:\n// spring.datasource.url=jdbc:h2:tcp://localhost/~/flowable;AUTO_SERVER=TRUE","handlingStrategy":"try-catch","validationCode":"// verify engine health before calling info endpoint\nboolean dbUp = pingDatabase(dataSource); // e.g. run 'SELECT 1'\nif (!dbUp) { skipEngineInfoCall(); }","typeGuard":null,"tryCatchPattern":"try {\n    EngineInfoResponse info = restTemplate.getForObject(base + \"/management/engine\", EngineInfoResponse.class);\n} catch (HttpServerErrorException e) {\n    throw new IllegalStateException(\"Engine info unavailable; check server logs for root cause\", e);\n}","preventionTips":["Check the exception 'cause' chain in server logs — this is a wrapper, not the root error","Validate database connectivity and engine startup logs before calling management endpoints","Pin consistent Flowable versions so engine introspection APIs match"],"tags":["rest-api","flowable","engine-info","internal-error"],"backgroundTag":"api-error-response","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}