[
https://issues.apache.org/jira/browse/DAFFODIL-2626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17486148#comment-17486148
]
Steve Lawrence commented on DAFFODIL-2626:
------------------------------------------
Thinking more about this, I think the solution probably works for global
element decls, but I don't think it works for global model group decls or
complex type definitions. This is because you can't place alignment properties
on those so there's no way to ensure that the global decl has the same
alignment as the reference. And this means children of the global decl can't
make any assumptions about their global decl's alignment, and just must assume
that it's unaligned. Hmm....
> Circular deadlock when computing stored length around prefixed-length elements
> ------------------------------------------------------------------------------
>
> Key: DAFFODIL-2626
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2626
> Project: Daffodil
> Issue Type: Bug
> Components: Back End
> Affects Versions: 3.2.1
> Reporter: Mike Beckerle
> Assignee: Steve Lawrence
> Priority: Critical
>
> I have a small schema with a messageLength element as the first element,
> which has outputValueCalc on the message payload.
> The message payload contains prefixed-length strings.
> I get a deadlock on unparsing:
> {code}
> org.apache.daffodil.tdml.TDMLExceptionImpl: (Implementation: daffodil)
> SuspensionDeadlockException: Runtime Schema Definition Error:
> Expressions/Unparsers are circularly deadlocked (mutually defined):
> - SimpleTypeRetryUnparserSuspendableOperation for messageLength
> - ElementUnusedUnparserSuspendableOperation for payload
> - AlignmentFillUnparserSuspendableOperation for address
> Schema context: messageLength Location line 59 column 18 in
> file:/tmp/s__3044777217024912267.dfdl.xsd
> Data location was preceding byte 0
> {code}
> See test test_computedLengthAroundPrefixedLengths1u
> Test test_computedLengthAroundPrefixedLengths1p is the same thing, just
> testing the parse direction.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)