You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by GitBox <gi...@apache.org> on 2022/09/07 11:41:37 UTC

[GitHub] [daffodil] stevedlawrence commented on pull request #836: Exi fixes

stevedlawrence commented on PR #836:
URL: https://github.com/apache/daffodil/pull/836#issuecomment-1239279548

   I played around with NITF and was able to reproduce the issue without any imports, so I doubt it's a catalog resolver issues.
   
   Doing a little googling of the stack trace, I came across this bug report: https://sourceforge.net/p/exificient/bugs/31/
   
   The maintainer discovered the issue is with very large maxOccurs, such as 99999:
   
   > ... the EXI grammars do actually need to check whether the last state 99999 is reached. EXIficient therefore creates 99999 states and sometimes even more given that one may have nested elements etc.
   
   Not surprisingly, the NITF schema uses `maxOccurs="999"` in a number of places, and `maxOccurs="99999"` in one place. I changed those to `unbounded` and schema aware exi worked, confirming that's the issue for NITF.
   
   So I think this is just a limitation of the exificient library (and maybe EXI in general?), and that schemas with these very large maxOccurs should be avoided, and instead be replaced with unbounded. I don't think there's anything we can do in Daffodil to fix this issue.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org