Josh Adams created DAFFODIL-2361:
------------------------------------

             Summary: 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: Unparsing
    Affects Versions: 2.6.0
            Reporter: Josh Adams
         Attachments: 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to