That was exactly the problem. That's what we get for trying to use the latest! Thanks for the quick response, Steve!
Lara -----Original Message----- From: Steve Lawrence <slawre...@apache.org> Sent: Wednesday, August 2, 2023 7:19 AM To: users@daffodil.apache.org Subject: Re: schema compilation exception in 3.5.0 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://usg02.safelinks.protection.office365.us/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fdaffodil%2Fpull%2F1060&data=05%7C01%7Clara.blatchford%40nteligen.com%7Cf30b2c44436c4ce32e6008db934a3f9c%7C379c214c5c944e86a6062d047675f02a%7C0%7C0%7C638265719343645744%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=HPEkmYqX5vDj7I1NLMrAKNAjN0R3pvlh6Mj%2FCKMjqro%3D&reserved=0 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:22 > 5) > > 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.d > ispatch(Unknown Source) > > at > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unk > nown 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(Daffodil > XMLLoader.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.s > cala:671) > > at > org.apache.daffodil.lib.xml.DaffodilXMLLoader.load(DaffodilXMLLoader.s > cala:647) > > at > org.apache.daffodil.lib.xml.DaffodilXMLLoader.validateAsDFDLSchema(Daf > fodilXMLLoader.scala:529) > > at > org.apache.daffodil.core.dsom.DFDLSchemaFile.$anonfun$iiXMLSchemaDocum > ent$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$lzycompu > te(OOLAG.scala:691) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.sc > ala: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$lzyco > mpute(DFDLSchemaFile.scala:189) > > at > org.apache.daffodil.core.dsom.DFDLSchemaFile.iiXMLSchemaDocument(DFDLS > chemaFile.scala:189) > > at > org.apache.daffodil.core.dsom.Import.$anonfun$mapPair$3(Import.scala:6 > 7) > > at scala.Option.getOrElse(Option.scala:189) > > at > org.apache.daffodil.core.dsom.Import.$anonfun$mapPair$1(Import.scala:4 > 6) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG > .scala:693) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompu > te(OOLAG.scala:691) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.sc > ala: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:4 > 4) > > at > org.apache.daffodil.core.dsom.Import.mapPair(Import.scala:44) > > at > org.apache.daffodil.core.dsom.IIBase.$anonfun$notSeenThisBefore$1(IIBa > se.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$lzycompu > te(OOLAG.scala:691) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.sc > ala: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(IIBa > se.scala:148) > > at > org.apache.daffodil.core.dsom.IIBase.notSeenThisBefore(IIBase.scala:14 > 8) > > at > org.apache.daffodil.core.dsom.IIBase.$anonfun$iiSchemaFileMaybe$1(IIBa > se.scala:278) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG > .scala:693) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompu > te(OOLAG.scala:691) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.sc > ala: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(IIBa > se.scala:277) > > at > org.apache.daffodil.core.dsom.IIBase.iiSchemaFileMaybe(IIBase.scala:27 > 7) > > 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$lzycompu > te(OOLAG.scala:691) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.sc > ala: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.$anonfu > n$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.getImpo > rtsOrIncludes(SchemaDocIncludesAndImportsMixin.scala:167) > > at > org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.getImpo > rtsOrIncludes$(SchemaDocIncludesAndImportsMixin.scala:162) > > at > org.apache.daffodil.core.dsom.XMLSchemaDocument.getImportsOrIncludes(S > chemaDocument.scala:68) > > at > org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.$anonfu > n$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$lzycompu > te(OOLAG.scala:691) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.sc > ala: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$apa > che$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$ismli_(Schema > DocIncludesAndImportsMixin.scala:180) > > at > org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.org$apa > che$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$ismli_$(Schem > aDocIncludesAndImportsMixin.scala:180) > > at > org.apache.daffodil.core.dsom.XMLSchemaDocument.org$apache$daffodil$co > re$dsom$SchemaDocIncludesAndImportsMixin$$ismli_$lzycompute(SchemaDocu > ment.scala:68) > > at > org.apache.daffodil.core.dsom.XMLSchemaDocument.org$apache$daffodil$co > re$dsom$SchemaDocIncludesAndImportsMixin$$ismli_(SchemaDocument.scala: > 68) > > at > org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.importS > tatementsMap(SchemaDocIncludesAndImportsMixin.scala:178) > > at > org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.importS > tatementsMap$(SchemaDocIncludesAndImportsMixin.scala:178) > > at > org.apache.daffodil.core.dsom.XMLSchemaDocument.importStatementsMap(Sc > hemaDocument.scala:68) > > at > org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.$anonfu > n$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$lzycompu > te(OOLAG.scala:691) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.sc > ala: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$apa > che$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$sali_(SchemaD > ocIncludesAndImportsMixin.scala:187) > > at > org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.org$apa > che$daffodil$core$dsom$SchemaDocIncludesAndImportsMixin$$sali_$(Schema > DocIncludesAndImportsMixin.scala:187) > > at > org.apache.daffodil.core.dsom.XMLSchemaDocument.org$apache$daffodil$co > re$dsom$SchemaDocIncludesAndImportsMixin$$sali_$lzycompute(SchemaDocum > ent.scala:68) > > at > org.apache.daffodil.core.dsom.XMLSchemaDocument.org$apache$daffodil$co > re$dsom$SchemaDocIncludesAndImportsMixin$$sali_(SchemaDocument.scala:6 > 8) > > at > org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.seenAft > er(SchemaDocIncludesAndImportsMixin.scala:185) > > at > org.apache.daffodil.core.dsom.SchemaDocIncludesAndImportsMixin.seenAft > er$(SchemaDocIncludesAndImportsMixin.scala:185) > > at > org.apache.daffodil.core.dsom.XMLSchemaDocument.seenAfter(SchemaDocume > nt.scala:68) > > at > org.apache.daffodil.core.dsom.SchemaSetIncludesAndImportsMixin.$anonfu > n$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$lzycompu > te(OOLAG.scala:691) > > at > org.apache.daffodil.lib.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.sc > ala: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.allSche > maFiles(SchemaSetIncludesAndImportsMixins.scala:64) > > at > org.apache.daffodil.core.dsom.SchemaSetIncludesAndImportsMixin.allSche > maFiles$(SchemaSetIncludesAndImportsMixins.scala:64) > > at > org.apache.daffodil.core.dsom.SchemaSet.allSchemaFiles$lzycompute(Sche > maSet.scala:95) > > at > org.apache.daffodil.core.dsom.SchemaSet.allSchemaFiles(SchemaSet.scala > :95) > > at > org.apache.daffodil.core.dsom.SchemaSet.$anonfun$isValid$2(SchemaSet.s > cala: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.s > cala: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.sc > ala:138) > > at > org.apache.daffodil.core.compiler.Compiler.org$apache$daffodil$core$co > mpiler$Compiler$$compileSourceInternal(Compiler.scala:362) > > at > org.apache.daffodil.core.compiler.Compiler$.org$apache$daffodil$core$c > ompiler$Compiler$$compileSourceSynchronizer(Compiler.scala:408) > > at > org.apache.daffodil.core.compiler.Compiler.compileSource(Compiler.scal > a: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 >