{"record":{"id":"61a3c5e6d827b018","repo":"flowable/flowable-engine","slug":"property-not-found-in-task-description-expression","errorCode":null,"errorMessage":"property not found in task description expression {}","messagePattern":"property not found in task description expression (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"modules/flowable5-engine/src/main/java/org/activiti/engine/impl/bpmn/behavior/UserTaskActivityBehavior.java","lineNumber":147,"sourceCode":"\n        if (activeNameExpression != null) {\n            String name = null;\n            try {\n                name = (String) activeNameExpression.getValue(execution);\n            } catch (ActivitiException e) {\n                name = activeNameExpression.getExpressionText();\n                LOGGER.warn(\"property not found in task name expression {}\", e.getMessage());\n            }\n            task.setName(name);\n        }\n\n        if (activeDescriptionExpression != null) {\n            String description = null;\n            try {\n                description = (String) activeDescriptionExpression.getValue(execution);\n            } catch (ActivitiException e) {\n                description = activeDescriptionExpression.getExpressionText();\n                LOGGER.warn(\"property not found in task description expression {}\", e.getMessage());\n            }\n            task.setDescription(description);\n        }\n\n        if (activeDueDateExpression != null) {\n            Object dueDate = activeDueDateExpression.getValue(execution);\n            if (dueDate != null) {\n                if (dueDate instanceof Date) {\n                    task.setDueDate((Date) dueDate);\n                } else if (dueDate instanceof String) {\n                    BusinessCalendar businessCalendar = Context\n                            .getProcessEngineConfiguration()\n                            .getBusinessCalendarManager()\n                            .getBusinessCalendar(taskDefinition.getBusinessCalendarNameExpression().getValue(execution).toString());\n                    task.setDueDate(businessCalendar.resolveDuedate((String) dueDate));\n                } else {\n                    throw new ActivitiIllegalArgumentException(\"Due date expression does not resolve to a Date or Date string: \" +\n                            activeDueDateExpression.getExpressionText());","sourceCodeStart":129,"sourceCodeEnd":165,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable5-engine/src/main/java/org/activiti/engine/impl/bpmn/behavior/UserTaskActivityBehavior.java#L129-L165","documentation":"Logged by UserTaskActivityBehavior when evaluating the task's description expression throws an ActivitiException (e.g. the referenced property is missing). The literal expression text becomes the description as fallback and execution proceeds.","triggerScenarios":"A user task with a documentation/description expression such as ${task.doc.reason} where the property does not resolve at runtime.","commonSituations":"Variables removed or not yet set when the task is created; EL path typos; refactorings that renamed process variables.","solutions":["Initialize or guarantee the referenced variable before the user task","Use a null-safe EL default in the description expression","Fix the expression path in the BPMN model"],"exampleFix":"// before\n<userTask documentation=\"Handle ${issue.code}\" />\n// after\n<userTask documentation=\"Handle ${issue != null ? issue.code : 'unassigned'}\" />","handlingStrategy":"validation","validationCode":"if (execution.getVariable(\"issue\") == null) { execution.setVariable(\"issue\", defaultIssue); }","typeGuard":null,"tryCatchPattern":"try { desc = (String) expr.getValue(execution); } catch (ActivitiException e) { desc = expr.getExpressionText(); LOGGER.warn(...); }","preventionTips":["Use null-safe EL defaults in description expressions","Ensure required variables exist before task creation","Add model checks that verify expression variables exist in the process"],"tags":["user-task","expression","el"],"backgroundTag":"resource-not-found","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-18T11:17:12.947Z"}