You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@daffodil.apache.org by "Thompson, Mark M [US] (DS)" <ma...@ngc.com> on 2022/06/17 17:02:48 UTC
RE: EXT :Re: Daffodil 3.2.1 - An Unexpected exception occurred...
Steve,
Here is a slightly different case we ran across where there is no info about what caused the exception
(I.e. Character I is neither a decimal digit number, decimal point, nor "e" notation exponential mark),
just the stack trace. Other than that it looks very similar.
Mark T
-----Original Message-----
From: Steve Lawrence <sl...@apache.org>
Sent: Tuesday, May 31, 2022 4:47 AM
To: users@daffodil.apache.org
Subject: EXT :Re: Daffodil 3.2.1 - An Unexpected exception occurred...
Thanks for reporting the issue.
This looks to just be a bug. I've confirmed what you've described--this bug is triggered if you use one of the following facet restrictions on an xs:double or xs:float that parses to NaN, INF, or -INF, and with limited or full validation enabled:
* minInclusive
* maxInclusive
* minExclusive
* maxExclusive
Unfortunately there isn't a good workaround. I've created DAFFODIL-2701 to track this issue:
https://issues.apache.org/jira/browse/DAFFODIL-2701
- Steve
On 5/27/22 7:02 PM, Thompson, Mark M [US] (DS) wrote:
> All,
>
> I am reporting the occurrence of an exception as requested. The
> attached files contain 4 instances of what appears to be the same issue.
>
> During parsing, it seems that the Daffodil validator cannot
> handle the occurrence of a non-numeric value in a float element.
> The problem
>
> occurs when the float value evaluates to either Infinity or NaN.
> If Validation mode is off, parsing works fine and the appropriate XML is
> generated
>
> as requested for all but one case (see below).
>
> 1. Float value = Positive Infinity. When Validation is off,
> element generated: <BWS_Bandwidth_Limit>INF</BWS_Bandwidth_Limit>
> 2. Float value = Negative Infinity. When Validation is off,
> element generated: <BWS_Bandwidth_Limit>-INF</BWS_Bandwidth_Limit>
> 3. Float value = Positive NaN . When Validation is off,
> element generated: <BWS_Bandwidth_Limit>NaN</BWS_Bandwidth_Limit>
> 4. Float value = Negative NaN. When Validation is off,
> element generated:
> <BWS_Bandwidth_Limit>NaN</BWS_Bandwidth_Limit>
>
> Note that “NaN” is output to XML whether the original value was positive or
> negative.
>
> Overview:
>
> * I am not at liberty to provide the actual schema files.
> * I may be able to provide test messages if necessary. I’m hoping that the
> attached trace provides more than enough info.
> * The Input test files to Daffodil are binary.
> * The command used in each case is included in the trace files attached.
> * Command line options: -t -vv parse -V limited
> * Daffodil version: 3.2.1
> * Offending element: BWS_Bandwidth.
>
> Files attached:
>
> 1. Trace for Positive infinity case.
> 2. Trace for Negative infinity case.
> 3. Trace for Positive NaN case.
> 4. Trace for Negative NaN case.
>
> Thank you for your time,
>
> Mark M. Thompson
>
> Northrop Grumman Defense Systems
>
> Software Engineer
>
> (818) 712-7439
>
Re: EXT :Re: Daffodil 3.2.1 - An Unexpected exception occurred...
Posted by Steve Lawrence <sl...@apache.org>.
Thanks for reporting. Yeah, I agree that it looks like the same issue.
Fixing DAFFODIL-2701 will very likely fix this case as well.
- Steve
On 6/17/22 1:02 PM, Thompson, Mark M [US] (DS) wrote:
> Steve,
>
> Here is a slightly different case we ran across where there is no info about what caused the exception
> (I.e. Character I is neither a decimal digit number, decimal point, nor "e" notation exponential mark),
> just the stack trace. Other than that it looks very similar.
>
> Mark T
>
> -----Original Message-----
> From: Steve Lawrence <sl...@apache.org>
> Sent: Tuesday, May 31, 2022 4:47 AM
> To: users@daffodil.apache.org
> Subject: EXT :Re: Daffodil 3.2.1 - An Unexpected exception occurred...
>
> Thanks for reporting the issue.
>
> This looks to just be a bug. I've confirmed what you've described--this bug is triggered if you use one of the following facet restrictions on an xs:double or xs:float that parses to NaN, INF, or -INF, and with limited or full validation enabled:
>
> * minInclusive
> * maxInclusive
> * minExclusive
> * maxExclusive
>
> Unfortunately there isn't a good workaround. I've created DAFFODIL-2701 to track this issue:
>
> https://issues.apache.org/jira/browse/DAFFODIL-2701
>
> - Steve
>
>
> On 5/27/22 7:02 PM, Thompson, Mark M [US] (DS) wrote:
>> All,
>>
>> I am reporting the occurrence of an exception as requested. The
>> attached files contain 4 instances of what appears to be the same issue.
>>
>> During parsing, it seems that the Daffodil validator cannot
>> handle the occurrence of a non-numeric value in a float element.
>> The problem
>>
>> occurs when the float value evaluates to either Infinity or NaN.
>> If Validation mode is off, parsing works fine and the appropriate XML is
>> generated
>>
>> as requested for all but one case (see below).
>>
>> 1. Float value = Positive Infinity. When Validation is off,
>> element generated: <BWS_Bandwidth_Limit>INF</BWS_Bandwidth_Limit>
>> 2. Float value = Negative Infinity. When Validation is off,
>> element generated: <BWS_Bandwidth_Limit>-INF</BWS_Bandwidth_Limit>
>> 3. Float value = Positive NaN . When Validation is off,
>> element generated: <BWS_Bandwidth_Limit>NaN</BWS_Bandwidth_Limit>
>> 4. Float value = Negative NaN. When Validation is off,
>> element generated:
>> <BWS_Bandwidth_Limit>NaN</BWS_Bandwidth_Limit>
>>
>> Note that “NaN” is output to XML whether the original value was positive or
>> negative.
>>
>> Overview:
>>
>> * I am not at liberty to provide the actual schema files.
>> * I may be able to provide test messages if necessary. I’m hoping that the
>> attached trace provides more than enough info.
>> * The Input test files to Daffodil are binary.
>> * The command used in each case is included in the trace files attached.
>> * Command line options: -t -vv parse -V limited
>> * Daffodil version: 3.2.1
>> * Offending element: BWS_Bandwidth.
>>
>> Files attached:
>>
>> 1. Trace for Positive infinity case.
>> 2. Trace for Negative infinity case.
>> 3. Trace for Positive NaN case.
>> 4. Trace for Negative NaN case.
>>
>> Thank you for your time,
>>
>> Mark M. Thompson
>>
>> Northrop Grumman Defense Systems
>>
>> Software Engineer
>>
>> (818) 712-7439
>>