[
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)