flowable/flowable-engine · warning
Error parsing input expression
Error message
Error parsing input expression
What it means
A warning logged by AllowedValuesParser.parseChildElement when any exception occurs while reading the <allowedValues> child element of a DMN input expression from the XML stream (XMLStreamException, unexpected element structure, etc.). Flowable intentionally logs-and-continues: the parsed DMN model ends up with null allowedValues, which can later break hit-policy validation or validation of input entries. The DMN XML is not rejected, so the actual parse failure is only visible in the attached stack trace.
Source
Thrown at modules/flowable-dmn-xml-converter/src/main/java/org/flowable/dmn/converter/child/AllowedValuesParser.java:52
if (!(parentElement instanceof ItemDefinition itemDefinition)) {
return;
}
UnaryTests allowedValues = new UnaryTests();
boolean readyWithAllowedValues = false;
try {
while (!readyWithAllowedValues && xtr.hasNext()) {
xtr.next();
if (xtr.isStartElement() && ELEMENT_TEXT.equalsIgnoreCase(xtr.getLocalName())) {
allowedValues.setText(xtr.getElementText());
} else if (xtr.isEndElement() && getElementName().equalsIgnoreCase(xtr.getLocalName())) {
readyWithAllowedValues = true;
}
}
} catch (Exception e) {
LOGGER.warn("Error parsing input expression", e);
}
itemDefinition.setAllowedValues(allowedValues);
}
}
View on GitHub (pinned to d6d39ce1c6)
Solutions
- Check the attached stack trace to see the concrete XMLStreamException and the offending location.
- Validate the .dmn file against the DMN XSD before deployment (xmllint --schema or a validator).
- Re-export the model from the DMN designer tool to regenerate well-formed XML.
- If strictness is desired, patch parsing to rethrow instead of warn so bad models fail deployment.
Example fix
// before <dmndi:DMNDI/> <!-- truncated / malformed allowedValues block --> // after <dmn:allowedValues> <dmn:text>"A","B"</dmn:text> </dmn:allowedValues>
Defensive patterns
Strategy: validation
Validate before calling
// validate DMN XML (and allowedValues blocks) before deployment
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = sf.newSchema(new File("dmn.xsd"));
Validator v = schema.newValidator();
v.validate(new StreamSource(new File("model.dmn"))); // throws on malformed XML Prevention
- Validate .dmn files against the DMN XSD in CI/build
- Never hand-edit DMN XML; round-trip through the modeling tool
- Treat any 'Error parsing ...' warning as a failed model: re-deploy only validated files
- After parsing, assert getAllowedValues() != null where your logic depends on it
When it happens
Trigger: parseChildElements dispatches to AllowedValuesParser for an <inputEntry>/<inputExpression> child named 'allowedValues'; the underlying XMLStreamReader throws (malformed XML, unexpected token/EOF) while iterating elements until the matching end element.
Common situations: Hand-edited or tool-generated .dmn XML with malformed or truncated allowedValues sections; DMN exported by a different vendor with non-standard child element ordering; wrong namespace prefixes.
Understand the failure class
Background: Schema validation failed / invalid input schema: payload rejected because its shape doesn't match the expected schema — this error's family across 28 libraries.
Related errors
- Error determine output clause for position: {}
- Error parsing input entry
- Error parsing input expression
- Error parsing input values
- Error parsing output entry
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/2148a1efee8b2581.
Report an issue: GitHub.