You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by "Steve Lawrence (Jira)" <ji...@apache.org> on 2026/01/15 18:09:00 UTC

[jira] [Created] (DAFFODIL-3067) Intermittent CI failure: SAX diagnostics do not match DataProcessor diagnostics

Steve Lawrence created DAFFODIL-3067:
----------------------------------------

             Summary: 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


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.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)