[
https://issues.apache.org/jira/browse/DAFFODIL-3067?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steve Lawrence updated DAFFODIL-3067:
-------------------------------------
Description:
There is a rare CI failure where TDML tests have different diagnostics between
the SAX and non-SAX implementations.
{code:java}
[error] Test
org.apache.daffodil.section15.choice_groups.TestChoiceBranches.choiceBranch_e5
failed: org.apache.daffodil.tdml.TDMLExceptionImpl: SAX parse/unparse
diagnostics do not match DataProcessor diagnostics
[error] DataProcessor Parse diagnostics: List(Unparse Error: Found next element
ex:{http://example.com}after, but expected one of ex:{http://example.com}req_1,
ex:{http://example.com}req_2.
[error] Schema context: choice[1] Location line 155 column 12 in
/org/apache/daffodil/section15/choice_groups/ChoiceBranches.tdml
[error] Data location was preceding byte 0)
[error] SAX Parse diagnostics: List(Unparse Error: Found next element
{http://example.com}after, but expected one of ex:{http://example.com}req_1,
ex:{http://example.com}req_2.
[error] Schema context: choice[1] Location line 155 column 12 in
/org/apache/daffodil/section15/choice_groups/ChoiceBranches.tdml
[error] Data location was preceding byte 0), took 0.084 sec
[error] at
org.apache.daffodil.tdml.TDMLException$.apply(TDMLException.scala:34)
[error] at
org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.verifySameDiagnostics(DaffodilTDMLDFDLProcessor.scala:426)
[error] at
org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.doUnparse(DaffodilTDMLDFDLProcessor.scala:375)
[error] at
org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.unparse(DaffodilTDMLDFDLProcessor.scala:261)
[error] at
org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.unparse(DaffodilTDMLDFDLProcessor.scala:232)
[error] at
org.apache.daffodil.tdml.UnparserTestCase.runUnparserExpectErrors(TDMLRunner.scala:1730)
[error] at
org.apache.daffodil.tdml.UnparserTestCase.runProcessor(TDMLRunner.scala:1581)
[error] at org.apache.daffodil.tdml.TestCase.run(TDMLRunner.scala:969)
[error] at
org.apache.daffodil.tdml.DFDLTestSuite.runOneTest(TDMLRunner.scala:491)
[error] at
org.apache.daffodil.tdml.Runner.runOneTest(RunnerFactory.scala:235)
[error] at
org.apache.daffodil.tdml.Runner.runOneTest(RunnerFactory.scala:241)
[error] at org.apache.daffodil.junit.tdml.TdmlTests.test(TdmlSuite.scala:91)
[error] at
org.apache.daffodil.junit.tdml.TdmlTests.test$(TdmlSuite.scala:75)
[error] at
org.apache.daffodil.section15.choice_groups.TestChoiceBranches.test(TestChoiceBranches.scala:30)
[error] at
org.apache.daffodil.section15.choice_groups.TestChoiceBranches.choiceBranch_e5(TestChoiceBranches.scala:47)
[error] at
jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
[error] at java.lang.reflect.Method.invoke(Method.java:580)
{code}
Specifically the differences are:
DataProcessor: Found next element ex:\{http://example.com}after
SAX: Found next element \{http://example.com}after
So the only difference is SAX is missing the "ex" prefix. This is very
difficult to reproduce. Note that you must set DAFFODIL_TDML_API_INFOSETS=all
in order to test both the SAX and non-SAX APIS and compare their diagnostics.
was:
There is a rare CI failure where TDML tests have different diagnostics between
the SAX and non-SAX implementations.
{code}
[error] Test
org.apache.daffodil.section15.choice_groups.TestChoiceBranches.choiceBranch_e5
failed: org.apache.daffodil.tdml.TDMLExceptionImpl: SAX parse/unparse
diagnostics do not match DataProcessor diagnostics
[error] DataProcessor Parse diagnostics: List(Unparse Error: Found next element
ex:{http://example.com}after, but expected one of ex:{http://example.com}req_1,
ex:{http://example.com}req_2.
[error] Schema context: choice[1] Location line 155 column 12 in
/org/apache/daffodil/section15/choice_groups/ChoiceBranches.tdml
[error] Data location was preceding byte 0)
[error] SAX Parse diagnostics: List(Unparse Error: Found next element
{http://example.com}after, but expected one of ex:{http://example.com}req_1,
ex:{http://example.com}req_2.
[error] Schema context: choice[1] Location line 155 column 12 in
/org/apache/daffodil/section15/choice_groups/ChoiceBranches.tdml
[error] Data location was preceding byte 0), took 0.084 sec
[error] at
org.apache.daffodil.tdml.TDMLException$.apply(TDMLException.scala:34)
[error] at
org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.verifySameDiagnostics(DaffodilTDMLDFDLProcessor.scala:426)
[error] at
org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.doUnparse(DaffodilTDMLDFDLProcessor.scala:375)
[error] at
org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.unparse(DaffodilTDMLDFDLProcessor.scala:261)
[error] at
org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.unparse(DaffodilTDMLDFDLProcessor.scala:232)
[error] at
org.apache.daffodil.tdml.UnparserTestCase.runUnparserExpectErrors(TDMLRunner.scala:1730)
[error] at
org.apache.daffodil.tdml.UnparserTestCase.runProcessor(TDMLRunner.scala:1581)
[error] at org.apache.daffodil.tdml.TestCase.run(TDMLRunner.scala:969)
[error] at
org.apache.daffodil.tdml.DFDLTestSuite.runOneTest(TDMLRunner.scala:491)
[error] at
org.apache.daffodil.tdml.Runner.runOneTest(RunnerFactory.scala:235)
[error] at
org.apache.daffodil.tdml.Runner.runOneTest(RunnerFactory.scala:241)
[error] at org.apache.daffodil.junit.tdml.TdmlTests.test(TdmlSuite.scala:91)
[error] at
org.apache.daffodil.junit.tdml.TdmlTests.test$(TdmlSuite.scala:75)
[error] at
org.apache.daffodil.section15.choice_groups.TestChoiceBranches.test(TestChoiceBranches.scala:30)
[error] at
org.apache.daffodil.section15.choice_groups.TestChoiceBranches.choiceBranch_e5(TestChoiceBranches.scala:47)
[error] at
jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
[error] at java.lang.reflect.Method.invoke(Method.java:580)
{code}
Specifically the differences are:
DataProcessor: Found next element ex:{http://example.com}after
SAX: Found next element {http://example.com}after
So the only difference is SAX is missing the "ex" prefix. This is very
difficult to reproduce. Note that you must set DAFFODIL_TDML_API_INFOSETS=all
in order to test both the SAX and non-SAX APIS and compare their diagnostics.
> Intermittent CI failure: SAX diagnostics do not match DataProcessor
> diagnostics
> --------------------------------------------------------------------------------
>
> Key: DAFFODIL-3067
> URL: https://issues.apache.org/jira/browse/DAFFODIL-3067
> Project: Daffodil
> Issue Type: Bug
> Components: SAX
> Affects Versions: 4.1.0
> Reporter: Steve Lawrence
> Priority: Major
>
> There is a rare CI failure where TDML tests have different diagnostics
> between the SAX and non-SAX implementations.
> {code:java}
> [error] Test
> org.apache.daffodil.section15.choice_groups.TestChoiceBranches.choiceBranch_e5
> failed: org.apache.daffodil.tdml.TDMLExceptionImpl: SAX parse/unparse
> diagnostics do not match DataProcessor diagnostics
> [error] DataProcessor Parse diagnostics: List(Unparse Error: Found next
> element ex:{http://example.com}after, but expected one of
> ex:{http://example.com}req_1, ex:{http://example.com}req_2.
> [error] Schema context: choice[1] Location line 155 column 12 in
> /org/apache/daffodil/section15/choice_groups/ChoiceBranches.tdml
> [error] Data location was preceding byte 0)
> [error] SAX Parse diagnostics: List(Unparse Error: Found next element
> {http://example.com}after, but expected one of ex:{http://example.com}req_1,
> ex:{http://example.com}req_2.
> [error] Schema context: choice[1] Location line 155 column 12 in
> /org/apache/daffodil/section15/choice_groups/ChoiceBranches.tdml
> [error] Data location was preceding byte 0), took 0.084 sec
> [error] at
> org.apache.daffodil.tdml.TDMLException$.apply(TDMLException.scala:34)
> [error] at
> org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.verifySameDiagnostics(DaffodilTDMLDFDLProcessor.scala:426)
> [error] at
> org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.doUnparse(DaffodilTDMLDFDLProcessor.scala:375)
> [error] at
> org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.unparse(DaffodilTDMLDFDLProcessor.scala:261)
> [error] at
> org.apache.daffodil.processor.tdml.DaffodilTDMLDFDLProcessor.unparse(DaffodilTDMLDFDLProcessor.scala:232)
> [error] at
> org.apache.daffodil.tdml.UnparserTestCase.runUnparserExpectErrors(TDMLRunner.scala:1730)
> [error] at
> org.apache.daffodil.tdml.UnparserTestCase.runProcessor(TDMLRunner.scala:1581)
> [error] at org.apache.daffodil.tdml.TestCase.run(TDMLRunner.scala:969)
> [error] at
> org.apache.daffodil.tdml.DFDLTestSuite.runOneTest(TDMLRunner.scala:491)
> [error] at
> org.apache.daffodil.tdml.Runner.runOneTest(RunnerFactory.scala:235)
> [error] at
> org.apache.daffodil.tdml.Runner.runOneTest(RunnerFactory.scala:241)
> [error] at
> org.apache.daffodil.junit.tdml.TdmlTests.test(TdmlSuite.scala:91)
> [error] at
> org.apache.daffodil.junit.tdml.TdmlTests.test$(TdmlSuite.scala:75)
> [error] at
> org.apache.daffodil.section15.choice_groups.TestChoiceBranches.test(TestChoiceBranches.scala:30)
> [error] at
> org.apache.daffodil.section15.choice_groups.TestChoiceBranches.choiceBranch_e5(TestChoiceBranches.scala:47)
> [error] at
> jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
> [error] at java.lang.reflect.Method.invoke(Method.java:580)
> {code}
> Specifically the differences are:
> DataProcessor: Found next element ex:\{http://example.com}after
> SAX: Found next element \{http://example.com}after
> So the only difference is SAX is missing the "ex" prefix. This is very
> difficult to reproduce. Note that you must set DAFFODIL_TDML_API_INFOSETS=all
> in order to test both the SAX and non-SAX APIS and compare their diagnostics.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)