I actually just ran into this backtrace myself.
The cause is due to changes made in scala-xml 2.2.0, which based on the
backtrace looks like is what you are using. We have a pull request to
upgrade scala-xml to 2.2.0 in Daffodil and fix this, but it is still
waiting on another review:
https://github.com/apache/daffodil/pull/1060
However, that should not affect Daffodil 3.5.0 since it still depends on
scala-xml 2.1.0, which does not have this problem as far as I know. Have
you manually upgraded to 2.2.0 yourself? I think downgrading scala-xml
should fix this for you.
- Steve
On 2023-08-01 05:16 PM, Lara Blatchford wrote:
Hello – In attempting to upgrade from Daffodil 3.3.0 to 3.5.0 I’m
running into the issue that compilation of any DFDL schema causes the
exception below. What could cause this?
Example code:
public void compile( String schema ) throws IOException
{
Compiler compiler = Daffodil.compiler( );
ProcessorFactory pf = compiler.compileFile( new File( schema ) );
if ( pf.isError( ) )
{
System.err.println( "Failed to load schema: " + schema + ", " +
asString( pf.getDiagnostics( ) ) );
}
}
Exception:
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:529)
at scala.None$.get(Option.scala:527)
at
scala.xml.parsing.FactoryAdapter.liftedTree1$1(FactoryAdapter.scala:225)
at
scala.xml.parsing.FactoryAdapter.endDocument(FactoryAdapter.scala:224)
at
org.apache.xerces.parsers.AbstractSAXParser.endDocument(Unknown Source)
at
org.apache.xerces.impl.xs.XMLSchemaValidator.endDocument(Unknown Source)
at
org.apache.xerces.impl.xs.XMLSchemaValidator.endDocument(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown
Source)
at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.skipSpaces(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
at
org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at
org.apache.daffodil.lib.xml.DaffodilXMLLoader.$anonfun$load$1(DaffodilXMLLoader.scala:691)
at
org.apache.daffodil.lib.xml.DaffodilXMLLoader.$anonfun$load$1$adapted(DaffodilXMLLoader.scala:671)
at scala.Option.foreach(Option.scala:407)
at
org.apache.daffodil.lib.xml.DaffodilXMLLoader.load(DaffodilXMLLoader.scala:671)
at
org.apache.daffodil.lib.xml.DaffodilXMLLoader.load(DaffodilXMLLoader.scala:647)
at
org.apache.daffodil.lib.xml.DaffodilXMLLoader.validateAsDFDLSchema(DaffodilXMLLoader.scala:529)
at
org.apache.daffodil.core.dsom.DFDLSchemaFile.$anonfun$iiXMLSchemaDocument$1(DFDLSchemaFile.scala:197)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:693)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:691)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:688)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:739)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:739)
at
org.apache.daffodil.core.dsom.DFDLSchemaFile.iiXMLSchemaDocument$lzycompute(DFDLSchemaFile.scala:189)
at
org.apache.daffodil.core.dsom.DFDLSchemaFile.iiXMLSchemaDocument(DFDLSchemaFile.scala:189)
at
org.apache.daffodil.core.dsom.Import.$anonfun$mapPair$3(Import.scala:67)
at scala.Option.getOrElse(Option.scala:189)
at
org.apache.daffodil.core.dsom.Import.$anonfun$mapPair$1(Import.scala:46)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:693)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:691)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:688)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:739)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:739)
at
org.apache.daffodil.core.dsom.Import.mapPair$lzycompute(Import.scala:44)
at org.apache.daffodil.core.dsom.Import.mapPair(Import.scala:44)
at
org.apache.daffodil.core.dsom.IIBase.$anonfun$notSeenThisBefore$1(IIBase.scala:149)
at
scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:23)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:693)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:691)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:688)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:739)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:739)
at
org.apache.daffodil.core.dsom.IIBase.notSeenThisBefore$lzycompute(IIBase.scala:148)
at
org.apache.daffodil.core.dsom.IIBase.notSeenThisBefore(IIBase.scala:148)
at
org.apache.daffodil.core.dsom.IIBase.$anonfun$iiSchemaFileMaybe$1(IIBase.scala:278)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:693)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:691)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:688)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:739)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:739)
at
org.apache.daffodil.core.dsom.IIBase.iiSchemaFileMaybe$lzycompute(IIBase.scala:277)
at
org.apache.daffodil.core.dsom.IIBase.iiSchemaFileMaybe(IIBase.scala:277)
at
org.apache.daffodil.core.dsom.IIBase.$anonfun$seenAfter$1(IIBase.scala:178)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:693)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:691)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:688)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:739)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:739)
at
org.apache.daffodil.core.dsom.IIBase.seenAfter$lzycompute(IIBase.scala:177)
at org.apache.daffodil.core.dsom.IIBase.seenAfter(IIBase.scala:177)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.$anonfun$getImportsOrIncludes$1(SchemaDocIncludesAndImportsMixin.scala:170)
at
scala.collection.TraversableOnce$folder$1.apply(TraversableOnce.scala:196)
at
scala.collection.TraversableOnce$folder$1.apply(TraversableOnce.scala:194)
at scala.collection.Iterator.foreach(Iterator.scala:943)
at scala.collection.Iterator.foreach$(Iterator.scala:943)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
at scala.collection.IterableLike.foreach(IterableLike.scala:74)
at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
at
scala.collection.TraversableOnce.foldLeft(TraversableOnce.scala:199)
at
scala.collection.TraversableOnce.foldLeft$(TraversableOnce.scala:192)
at
scala.collection.AbstractTraversable.foldLeft(Traversable.scala:108)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.getImportsOrIncludes(SchemaDocIncludesAndImportsMixin.scala:167)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.getImportsOrIncludes$(SchemaDocIncludesAndImportsMixin.scala:162)
at
org.apache.daffodil.core.dsom.XMLSchemaDocument.getImportsOrIncludes(SchemaDocument.scala:68)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.$anonfun$ismli_$1(SchemaDocIncludesAndImportsMixin.scala:181)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:693)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:691)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:688)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:739)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:739)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.org$apache$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$ismli_(SchemaDocIncludesAndImportsMixin.scala:180)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.org$apache$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$ismli_$(SchemaDocIncludesAndImportsMixin.scala:180)
at
org.apache.daffodil.core.dsom.XMLSchemaDocument.org$apache$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$ismli_$lzycompute(SchemaDocument.scala:68)
at
org.apache.daffodil.core.dsom.XMLSchemaDocument.org$apache$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$ismli_(SchemaDocument.scala:68)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.importStatementsMap(SchemaDocIncludesAndImportsMixin.scala:178)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.importStatementsMap$(SchemaDocIncludesAndImportsMixin.scala:178)
at
org.apache.daffodil.core.dsom.XMLSchemaDocument.importStatementsMap(SchemaDocument.scala:68)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.$anonfun$sali_$1(SchemaDocIncludesAndImportsMixin.scala:188)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:693)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:691)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:688)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:739)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:739)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.org$apache$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$sali_(SchemaDocIncludesAndImportsMixin.scala:187)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.org$apache$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$sali_$(SchemaDocIncludesAndImportsMixin.scala:187)
at
org.apache.daffodil.core.dsom.XMLSchemaDocument.org$apache$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$sali_$lzycompute(SchemaDocument.scala:68)
at
org.apache.daffodil.core.dsom.XMLSchemaDocument.org$apache$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$sali_(SchemaDocument.scala:68)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.seenAfter(SchemaDocIncludesAndImportsMixin.scala:185)
at
org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.seenAfter$(SchemaDocIncludesAndImportsMixin.scala:185)
at
org.apache.daffodil.core.dsom.XMLSchemaDocument.seenAfter(SchemaDocument.scala:68)
at
org.apache.daffodil.core.dsom.SchemaSetIncludesAndImportsMixin.$anonfun$allSchemaFiles$1(SchemaSetIncludesAndImportsMixins.scala:66)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:693)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:691)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:688)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:739)
at
org.apache.daffodil.lib.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:739)
at
org.apache.daffodil.core.dsom.SchemaSetIncludesAndImportsMixin.allSchemaFiles(SchemaSetIncludesAndImportsMixins.scala:64)
at
org.apache.daffodil.core.dsom.SchemaSetIncludesAndImportsMixin.allSchemaFiles$(SchemaSetIncludesAndImportsMixins.scala:64)
at
org.apache.daffodil.core.dsom.SchemaSet.allSchemaFiles$lzycompute(SchemaSet.scala:95)
at
org.apache.daffodil.core.dsom.SchemaSet.allSchemaFiles(SchemaSet.scala:95)
at
org.apache.daffodil.core.dsom.SchemaSet.$anonfun$isValid$2(SchemaSet.scala:180)
at
scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:23)
at org.apache.daffodil.lib.oolag.OOLAG$.keepGoing(OOLAG.scala:65)
at
org.apache.daffodil.core.dsom.SchemaSet.isValid$lzycompute(SchemaSet.scala:179)
at
org.apache.daffodil.core.dsom.SchemaSet.isValid(SchemaSet.scala:174)
at
org.apache.daffodil.core.dsom.SchemaSet.isError(SchemaSet.scala:592)
at
org.apache.daffodil.core.compiler.ProcessorFactory.isError(Compiler.scala:138)
at
org.apache.daffodil.core.compiler.Compiler.org$apache$daffodil$core$compiler$Compiler$$compileSourceInternal(Compiler.scala:362)
at
org.apache.daffodil.core.compiler.Compiler$.org$apache$daffodil$core$compiler$Compiler$$compileSourceSynchronizer(Compiler.scala:408)
at
org.apache.daffodil.core.compiler.Compiler.compileSource(Compiler.scala:339)
at
org.apache.daffodil.core.compiler.Compiler.compileFile(Compiler.scala:322)
at
org.apache.daffodil.japi.Compiler.compileFile(Daffodil.scala:142)
at
org.apache.daffodil.japi.Compiler.compileFile(Daffodil.scala:121)
at
test.app.dfdl.app.DfdlCompilerApp.compile(DfdlCompilerApp.java:52)
at test.app.dfdl.app.DfdlCompilerApp.main(DfdlCompilerApp.java:25)
Thank you,
Lara