Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DAFFODIL-2210

Unhandled exception with leading/trailing space in restriction base

    XMLWordPrintableJSON

Details

    Description

      When the "base" attribute of a <restriction> tag starts or ends with a space character, Daffodil fails with an unhandled exception:

       

      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Unable to render embedded object: File (   An unexpected exception occurred. This is a bug) not found.   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       Please report this bug and help us fix it:
        https://daffodil.apache.org/community/#issue-tracker
       Please include the following exception, the command you ran, and any input, schema, or tdml files used that led to this bug.

      org.apache.daffodil.exceptions.Abort: Invariant broken: tryBaseQName.isSuccessorg.apache.daffodil.exceptions.Assert$.abort(Assert.scala:129)org.apache.daffodil.dsom.Restriction.baseQName$lzycompute(RestrictionUnion.scala:77)org.apache.daffodil.dsom.Restriction.baseQName(RestrictionUnion.scala:73)org.apache.daffodil.dsom.Restriction.x$4$lzycompute(RestrictionUnion.scala:88) at org.apache.daffodil.exceptions.Assert$.abort(Assert.scala:129) at org.apache.daffodil.dsom.Restriction.baseQName$lzycompute(RestrictionUnion.scala:77) at org.apache.daffodil.dsom.Restriction.baseQName(RestrictionUnion.scala:73) at org.apache.daffodil.dsom.Restriction.x$4$lzycompute(RestrictionUnion.scala:88) at org.apache.daffodil.dsom.Restriction.x$4(RestrictionUnion.scala:87) at org.apache.daffodil.dsom.Restriction.optBaseTypeDef$lzycompute(RestrictionUnion.scala:87) at org.apache.daffodil.dsom.Restriction.optBaseTypeDef(RestrictionUnion.scala:87) at org.apache.daffodil.dsom.Restriction.optBaseDef(RestrictionUnion.scala:82) at org.apache.daffodil.dsom.SimpleTypeDefBase.$anonfun$optReferredToComponent$1(SimpleTypes.scala:268) at scala.Option.flatMap(Option.scala:171) at org.apache.daffodil.dsom.SimpleTypeDefBase.optReferredToComponent(SimpleTypes.scala:268) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.refersToForPropertyCombining(AnnotatedSchemaComponent.scala:209) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.refersToForPropertyCombining$(AnnotatedSchemaComponent.scala:209) at org.apache.daffodil.dsom.AnnotatedSchemaComponentImpl.refersToForPropertyCombining(AnnotatedSchemaComponent.scala:170) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.$anonfun$nonDefaultPropertySources$1(AnnotatedSchemaComponent.scala:217) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:547) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:544) at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:594) at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:594) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.nonDefaultPropertySources(AnnotatedSchemaComponent.scala:214) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.nonDefaultPropertySources$(AnnotatedSchemaComponent.scala:213) at org.apache.daffodil.dsom.AnnotatedSchemaComponentImpl.nonDefaultPropertySources$lzycompute(AnnotatedSchemaComponent.scala:170) at org.apache.daffodil.dsom.AnnotatedSchemaComponentImpl.nonDefaultPropertySources(AnnotatedSchemaComponent.scala:170) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.$anonfun$nonDefaultPropertySources$2(AnnotatedSchemaComponent.scala:219) at scala.Option.map(Option.scala:146) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.$anonfun$nonDefaultPropertySources$1(AnnotatedSchemaComponent.scala:218) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:547) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:544) at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:594) at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:594) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.nonDefaultPropertySources(AnnotatedSchemaComponent.scala:214) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.nonDefaultPropertySources$(AnnotatedSchemaComponent.scala:213) at org.apache.daffodil.dsom.AnnotatedSchemaComponentImpl.nonDefaultPropertySources$lzycompute(AnnotatedSchemaComponent.scala:170) at org.apache.daffodil.dsom.AnnotatedSchemaComponentImpl.nonDefaultPropertySources(AnnotatedSchemaComponent.scala:170) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.$anonfun$nonDefaultPropertySources$2(AnnotatedSchemaComponent.scala:219) at scala.Option.map(Option.scala:146) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.$anonfun$nonDefaultPropertySources$1(AnnotatedSchemaComponent.scala:218) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:547) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:544) at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:594) at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:594) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.nonDefaultPropertySources(AnnotatedSchemaComponent.scala:214) at org.apache.daffodil.dsom.AnnotatedSchemaComponent.nonDefaultPropertySources$(AnnotatedSchemaComponent.scala:213) at org.apache.daffodil.dsom.AbstractElementRef.nonDefaultPropertySources$lzycompute(ElementRef.scala:31) at org.apache.daffodil.dsom.AbstractElementRef.nonDefaultPropertySources(ElementRef.scala:31) at org.apache.daffodil.dsom.ResolvesProperties.findNonDefaultProperty(AnnotatedSchemaComponent.scala:80) at org.apache.daffodil.dsom.ResolvesProperties.lookupProperty(AnnotatedSchemaComponent.scala:143) at org.apache.daffodil.dsom.ResolvesProperties.lookupProperty$(AnnotatedSchemaComponent.scala:140) at org.apache.daffodil.dsom.AbstractElementRef.lookupProperty(ElementRef.scala:31) at org.apache.daffodil.schema.annotation.props.FindPropertyMixin.findPropertyOption(PropertyScoping.scala:129) at org.apache.daffodil.schema.annotation.props.FindPropertyMixin.findPropertyOption$(PropertyScoping.scala:123) at org.apache.daffodil.dsom.AbstractElementRef.findPropertyOption(ElementRef.scala:31) at org.apache.daffodil.schema.annotation.props.gen.ParseUnparsePolicyMixin.optionParseUnparsePolicyLookup(GeneratedCode.scala:6171) at org.apache.daffodil.schema.annotation.props.gen.ParseUnparsePolicyMixin.optionParseUnparsePolicy(GeneratedCode.scala:6172) at org.apache.daffodil.schema.annotation.props.gen.ParseUnparsePolicyMixin.optionParseUnparsePolicy$(GeneratedCode.scala:6172) at org.apache.daffodil.dsom.AbstractElementRef.optionParseUnparsePolicy(ElementRef.scala:31) at org.apache.daffodil.dsom.ElementBase.defaultParseUnparsePolicy(ElementBase.scala:1266) at org.apache.daffodil.dsom.ElementBase.defaultParseUnparsePolicy$(ElementBase.scala:1266) at org.apache.daffodil.dsom.AbstractElementRef.defaultParseUnparsePolicy$lzycompute(ElementRef.scala:31) at org.apache.daffodil.dsom.AbstractElementRef.defaultParseUnparsePolicy(ElementRef.scala:31) at org.apache.daffodil.dsom.Root.rootParseUnparsePolicy$lzycompute(Root.scala:49) at org.apache.daffodil.dsom.Root.rootParseUnparsePolicy(Root.scala:49) at org.apache.daffodil.compiler.ProcessorFactory.x$2$lzycompute(Compiler.scala:86) at org.apache.daffodil.compiler.ProcessorFactory.x$2(Compiler.scala:84) at org.apache.daffodil.compiler.ProcessorFactory.generateUnparser$lzycompute(Compiler.scala:84) at org.apache.daffodil.compiler.ProcessorFactory.generateUnparser(Compiler.scala:84) at org.apache.daffodil.compiler.ProcessorFactory.$anonfun$unparser$1(Compiler.scala:106) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:547) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:544) at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:594) at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:594) at org.apache.daffodil.compiler.ProcessorFactory.unparser$lzycompute(Compiler.scala:105) at org.apache.daffodil.compiler.ProcessorFactory.unparser(Compiler.scala:105) at org.apache.daffodil.compiler.ProcessorFactory.$anonfun$new$4(Compiler.scala:127) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:547) at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:544) at org.apache.daffodil.oolag.OOLAG$OOLAGHost.$anonfun$checkErrors$2(OOLAG.scala:286) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) at org.apache.daffodil.oolag.OOLAG$.keepGoing(OOLAG.scala:60) at org.apache.daffodil.oolag.OOLAG$OOLAGHost.checkErrors(OOLAG.scala:286) at org.apache.daffodil.oolag.OOLAG$OOLAGHost.checkErrors$(OOLAG.scala:277) at org.apache.daffodil.dsom.SchemaComponentImpl.checkErrors(SchemaComponent.scala:38) at org.apache.daffodil.oolag.OOLAG$OOLAGHost.isError(OOLAG.scala:345) at org.apache.daffodil.oolag.OOLAG$OOLAGHost.isError$(OOLAG.scala:344) at org.apache.daffodil.compiler.ProcessorFactory.super$isError(Compiler.scala:141) at org.apache.daffodil.compiler.ProcessorFactory.$anonfun$isError$3(Compiler.scala:141) at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:12) at org.apache.daffodil.oolag.OOLAG$.keepGoing(OOLAG.scala:60) at org.apache.daffodil.compiler.ProcessorFactory.$anonfun$isError$1(Compiler.scala:132) at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:12) at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58) at org.apache.daffodil.ExecutionMode$.$anonfun$usingCompilerMode$1(ExecutionMode.scala:64) at org.apache.daffodil.compiler.ProcessorFactory.isError(Compiler.scala:132) at org.apache.daffodil.compiler.Compiler.compileSource(Compiler.scala:359) at org.apache.daffodil.Main$.$anonfun$createProcessorFromSchema$1(Main.scala:704) at org.apache.daffodil.util.Timer$.getTimeResult(Timer.scala:76) at org.apache.daffodil.util.Timer$.getResult(Timer.scala:35) at org.apache.daffodil.Main$.createProcessorFromSchema(Main.scala:703) at org.apache.daffodil.Main$.run(Main.scala:1158) at org.apache.daffodil.Main$.main(Main.scala:1351) at org.apache.daffodil.Main.main(Main.scala)

      Attachments

        1. a2.dfdl.xsd
          0.9 kB
          Brandon Sloane

        Activity

          People

            Steinberger Rick
            brandon.sloane Brandon Sloane
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: