[ https://issues.apache.org/jira/browse/DAFFODIL-2361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Beckerle reassigned DAFFODIL-2361: --------------------------------------- Assignee: Mike Beckerle > valueLength not working as expected with complex elements, causing circular > deadlocks during unparse > ---------------------------------------------------------------------------------------------------- > > Key: DAFFODIL-2361 > URL: https://issues.apache.org/jira/browse/DAFFODIL-2361 > Project: Daffodil > Issue Type: Bug > Components: Diagnostics, Unparsing > Affects Versions: 2.6.0 > Reporter: Josh Adams > Assignee: Mike Beckerle > Priority: Minor > Attachments: innerSeq.xsd, test.dat, test.info, test.xsd > > > Ran into this issue while making changes to a production schema. > Consider the following schema; > <xs:element name="len" type="xs:unsignedInt" dfdl:outputValueCalc="\{ > dfdl:valueLength(../implicitLenComplex, 'bytes') }" /> > <xs:element name="implicitLenComplex"> > <xs:complexType> > <xs:sequence> > <xs:element name="item1" type="xs:hexBinary" dfdl:length="\{ ../../len }" > dfdl:lengthUnits="bytes" dfdl:lengthKind="explicit" /> > </xs:sequence> > </xs:complexType> > </xs:element> > > I would reasonably expect that the outputValueCalc would work as expected and > get the valueLength of the entire implicitLenComplex sequence, however this > results in a circular deadlock. > > NOTE: if you change the outputValueCalc to > dfdl:valueLength(../implicitLenComplex/item1, 'bytes') everything works as > expected. > > I've attached a sample schema file and test data that demonstrates this issue. > > EDIT: I've added an additional schema that demonstrates that if the hexBinary > element is wrapped inside an additional sequence and valueLength is called on > the inner sequence it still results in the circular deadlock. -- This message was sent by Atlassian Jira (v8.20.10#820010)