You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by mb...@apache.org on 2022/03/10 14:16:47 UTC

[daffodil] branch main updated: Revert "Update alignment to improve correctness and prevent deadlocks"

This is an automated email from the ASF dual-hosted git repository.

mbeckerle pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/daffodil.git


The following commit(s) were added to refs/heads/main by this push:
     new 55f638d  Revert "Update alignment to improve correctness and prevent deadlocks"
55f638d is described below

commit 55f638de74edfa400ce6cba1de19162069c9298a
Author: Michael Beckerle <mb...@apache.org>
AuthorDate: Wed Mar 9 13:19:26 2022 -0500

    Revert "Update alignment to improve correctness and prevent deadlocks"
    
    This reverts commit 9043425760dae277eff36087a2e715c70793db9c.
    This was an attempt to fix DAFFODIL-2626 but it caused too many
    regressions (unparser deadlocks in various schemas)
    
    The ticket DAFFODIL-2626 will be reopened.
    
    The tickets for NITF and P8 deadlocks (the regressions) are fixed by this.
    
    DAFFODIL-2662, DAFFODIL-2666
---
 .../apache/daffodil/debugger/TestCLIDebugger.scala |  7 ---
 .../org/apache/daffodil/dsom/SchemaComponent.scala | 11 -----
 .../org/apache/daffodil/grammar/AlignedMixin.scala | 35 +++----------
 .../grammar/primitives/ElementCombinator.scala     | 19 ++------
 .../daffodil/io/DataOutputStreamImplMixin.scala    |  2 +-
 .../io/DirectOrBufferedDataOutputStream.scala      |  6 ---
 .../apache/daffodil/io/TestDataOutputStream4.scala |  4 +-
 .../daffodil/example/TestCustomDebuggerAPI.java    |  2 +-
 .../org/apache/daffodil/util/MaybeULong.scala      |  2 -
 .../processors/unparsers/SpecifiedLength2.scala    | 29 ++++++-----
 .../daffodil/example/TestCustomDebuggerAPI.scala   |  2 +-
 .../section12/aligned_data/Aligned_Data.tdml       | 57 ----------------------
 .../section12/lengthKind/EndOfParentTests.tdml     |  4 ++
 .../computedLengthFields.tdml                      |  4 +-
 .../section12/aligned_data/TestAlignedData.scala   |  2 -
 .../TestComputedLengthFields.scala                 |  4 +-
 16 files changed, 36 insertions(+), 154 deletions(-)

diff --git a/daffodil-cli/src/it/scala/org/apache/daffodil/debugger/TestCLIDebugger.scala b/daffodil-cli/src/it/scala/org/apache/daffodil/debugger/TestCLIDebugger.scala
index 13d25b9..5a208f6 100644
--- a/daffodil-cli/src/it/scala/org/apache/daffodil/debugger/TestCLIDebugger.scala
+++ b/daffodil-cli/src/it/scala/org/apache/daffodil/debugger/TestCLIDebugger.scala
@@ -169,7 +169,6 @@ class TestCLIdebugger {
       shell.sendLine("info displays")
       shell.expect(contains("1*: eval (.)"))
       shell.sendLine("step")
-      shell.sendLine("step")
       shell.sendLine("enable display 1")
 
       shell.sendLine("step")
@@ -1269,8 +1268,6 @@ class TestCLIdebugger {
       shell.sendLine("step")
       shell.expect(contains("(no differences)"))
       shell.sendLine("step")
-      shell.expect(contains("(no differences)"))
-      shell.sendLine("step")
       shell.expect(contains("variable: tns:v_with_default: 42 (default) -> 42 (read)"))
       shell.sendLine("step")
       shell.expect(contains("variable: tns:v_no_default: (undefined) -> 42 (set)"))
@@ -1303,7 +1300,6 @@ class TestCLIdebugger {
       shell.sendLine("step")
       shell.sendLine("step")
       shell.sendLine("step")
-      shell.sendLine("step")
       shell.expect(contains("bitPosition: 0 -> 8"))
       shell.expect(contains("foundDelimiter: (no value) -> ,"))
       shell.expect(contains("foundField: (no value) -> 0"))
@@ -1353,8 +1349,6 @@ class TestCLIdebugger {
       shell.sendLine("step")
       shell.sendLine("step")
       shell.sendLine("step")
-      shell.sendLine("step")
-      shell.sendLine("step")
       shell.expect(contains("hidden: true -> false"))
       shell.sendLine("quit")
       Util.expectExitCode(ExitCode.Failure, shell)
@@ -1379,7 +1373,6 @@ class TestCLIdebugger {
       shell.sendLine("set diffExcludes childIndex")
       shell.expect(contains("(debug)"))
       shell.sendLine("step")
-      shell.sendLine("step")
       shell.expect(contains("bitPosition: 0 -> 8"))
       shell.sendLine("step")
       shell.sendLine("step")
diff --git a/daffodil-core/src/main/scala/org/apache/daffodil/dsom/SchemaComponent.scala b/daffodil-core/src/main/scala/org/apache/daffodil/dsom/SchemaComponent.scala
index 1fbff46..a142eb7 100644
--- a/daffodil-core/src/main/scala/org/apache/daffodil/dsom/SchemaComponent.scala
+++ b/daffodil-core/src/main/scala/org/apache/daffodil/dsom/SchemaComponent.scala
@@ -142,17 +142,6 @@ trait SchemaComponent
   }
 
   /**
-   * The lexically enclosing term, if one exists
-   */
-  final lazy val optEnclosingLexicalTerm: Option[Term] = {
-    optLexicalParent match {
-      case Some(t: Term) => Some(t)
-      case Some(sc: SchemaComponent) => sc.optEnclosingLexicalTerm
-      case _ => None
-    }
-  }
-
-  /**
    * path is used in diagnostic messages and code debug
    * messages; hence, it is very important that it be
    * very dependable.
diff --git a/daffodil-core/src/main/scala/org/apache/daffodil/grammar/AlignedMixin.scala b/daffodil-core/src/main/scala/org/apache/daffodil/grammar/AlignedMixin.scala
index d79fb18..1d2e490 100644
--- a/daffodil-core/src/main/scala/org/apache/daffodil/grammar/AlignedMixin.scala
+++ b/daffodil-core/src/main/scala/org/apache/daffodil/grammar/AlignedMixin.scala
@@ -202,15 +202,9 @@ trait AlignedMixin extends GrammarMixin { self: Term =>
       val parentAlignmentApprox =
         if (priorSibs.isEmpty || isEverInUnorderedSequence) {
           // we only care about the parent alignment if we are the first child
-          // in a model group, if we are in an unordered sequence and we could
-          // be first when parsing, or if we are a model group of a complex
-          // type. Note that in the last case, the model group has no siblings
-          // and so will fall into this block. This alignment algorithm only
-          // looks at the lexical scope, so if this parent is a global decl
-          // (which isn't a term), there might not actually be an enclosing
-          // term, and we won't have any information about the approximate
-          // alignment of the parent
-          optEnclosingLexicalTerm.map { p =>
+          // in a model group, or if we are in an unordered sequence and we
+          // could be first when parsing
+          immediatelyEnclosingModelGroup.map { p =>
             val csa = p.contentStartAlignment
             csa
           }.toSeq
@@ -220,14 +214,7 @@ trait AlignedMixin extends GrammarMixin { self: Term =>
 
       val priorAlignmentsApprox = priorSibsAlignmentsApprox ++ parentAlignmentApprox ++ arraySelfAlignment ++ unorderedSequenceSelfAlignment
       if (priorAlignmentsApprox.isEmpty)
-        // we have no information about our prior alignment. The most likely
-        // reason for this is that we are asking about the prior alignment of a
-        // model group in a global declaration. In this case, the prior
-        // alignment comes from where the global element decl is referenced.
-        // But we don't know where the global element decl is referenced from
-        // or what its alignment is. In cases like this we must assume no
-        // aligment information.
-        AlignmentMultipleOf(1)
+        alignmentApprox // it will be the containing context's responsibility to insure this IS where we start.
       else
         priorAlignmentsApprox.reduce(_ * _)
     }
@@ -325,18 +312,8 @@ trait AlignedMixin extends GrammarMixin { self: Term =>
           }
           case LengthKind.Delimited => encodingLengthApprox
           case LengthKind.Pattern => encodingLengthApprox
-          case LengthKind.EndOfParent => notYetImplemented("lengthKind='endOfParent'")
-          case LengthKind.Prefixed => {
-            // Prefix length elements are calculated at runtime, so we cannot
-            // know the exact length. However the element and the prefix length
-            // type must have the same length units, so the length of the two
-            // combined fields must be a multiple of those units.
-            eb.lengthUnits match {
-              case LengthUnits.Bits => LengthMultipleOf(1)
-              case LengthUnits.Bytes => LengthMultipleOf(8)
-              case LengthUnits.Characters => encodingLengthApprox
-            }
-          }
+          case LengthKind.EndOfParent => LengthMultipleOf(1) // NYI
+          case LengthKind.Prefixed => LengthMultipleOf(1) // NYI
         }
       }
       case mg: ModelGroup => Assert.usageError("Only for elements")
diff --git a/daffodil-core/src/main/scala/org/apache/daffodil/grammar/primitives/ElementCombinator.scala b/daffodil-core/src/main/scala/org/apache/daffodil/grammar/primitives/ElementCombinator.scala
index 319901b..c13256f 100644
--- a/daffodil-core/src/main/scala/org/apache/daffodil/grammar/primitives/ElementCombinator.scala
+++ b/daffodil-core/src/main/scala/org/apache/daffodil/grammar/primitives/ElementCombinator.scala
@@ -218,22 +218,9 @@ case class SimpleTypeRetry(ctxt: ElementBase, v: Gram)
   extends Terminal(ctxt, true) {
   override def parser = v.parser
 
-  // When unparsing, the target length of this simple type might not actually
-  // match the actual unparsed length due to things like padding or fill. But
-  // if we can statically determine that the target length will be correct
-  // (e.g. there won't be things like padding/fill) then we can use that length
-  // during unparsing to provide more bit positions about buffered data output
-  // streams. This can hopefully allow alignment unparsers to know their
-  // alignment and avoid suspensions.
-  lazy val maybeExactTargetLength = {
-    if (!ctxt.shouldAddPadding && !ctxt.shouldAddFill && !ctxt.shouldCheckExcessLength) {
-      ctxt.maybeUnparseTargetLengthInBitsEv
-    } else {
-      Maybe.Nope
-    }
-  }
-
-  override def unparser = new SimpleTypeRetryUnparser(ctxt.erd, maybeExactTargetLength, v.unparser)
+  override def unparser = new SimpleTypeRetryUnparser(
+    ctxt.erd,
+    ctxt.maybeUnparseTargetLengthInBitsEv, v.unparser)
 }
 
 case class CaptureContentLengthStart(ctxt: ElementBase)
diff --git a/daffodil-io/src/main/scala/org/apache/daffodil/io/DataOutputStreamImplMixin.scala b/daffodil-io/src/main/scala/org/apache/daffodil/io/DataOutputStreamImplMixin.scala
index 6030475..d4a82b3 100644
--- a/daffodil-io/src/main/scala/org/apache/daffodil/io/DataOutputStreamImplMixin.scala
+++ b/daffodil-io/src/main/scala/org/apache/daffodil/io/DataOutputStreamImplMixin.scala
@@ -149,7 +149,7 @@ trait DataOutputStreamImplMixin extends DataStreamCommonState
    * of the former starting bit pos so as to be able to
    * convert relative positions to absolute positions correctly.
    */
-  final def maybeAbsStartingBitPos0b = {
+  protected final def maybeAbsStartingBitPos0b = {
     if (this.maybeAbsolutizedRelativeStartingBitPosInBits_.isDefined)
       maybeAbsolutizedRelativeStartingBitPosInBits_
     else
diff --git a/daffodil-io/src/main/scala/org/apache/daffodil/io/DirectOrBufferedDataOutputStream.scala b/daffodil-io/src/main/scala/org/apache/daffodil/io/DirectOrBufferedDataOutputStream.scala
index fac6888..62bd720 100644
--- a/daffodil-io/src/main/scala/org/apache/daffodil/io/DirectOrBufferedDataOutputStream.scala
+++ b/daffodil-io/src/main/scala/org/apache/daffodil/io/DirectOrBufferedDataOutputStream.scala
@@ -966,12 +966,6 @@ object DirectOrBufferedDataOutputStream {
     Assert.invariant(bufDOS.isBuffering)
     Assert.invariant(!directDOS.isBuffering)
 
-    // ensure that if we know the absoluste starting position of the buffered
-    // DOS that it matches the ending bit position of the direct DOS we are
-    // about to deliver it to
-    val maybeBufStartPos = bufDOS.maybeAbsStartingBitPos0b
-    Assert.invariant(maybeBufStartPos.isEmpty || maybeBufStartPos.get == directDOS.maybeAbsBitPos0b.get)
-
     val finfoBitOrder = finfo.bitOrder // bit order we are supposed to write with
     val priorBitOrder = directDOS.cst.priorBitOrder // bit order that the directDOS had at last successful unparse. (prior is set after each unparser)
     if (finfoBitOrder ne priorBitOrder) {
diff --git a/daffodil-io/src/test/scala/org/apache/daffodil/io/TestDataOutputStream4.scala b/daffodil-io/src/test/scala/org/apache/daffodil/io/TestDataOutputStream4.scala
index 9b02952..5a2e5f5 100644
--- a/daffodil-io/src/test/scala/org/apache/daffodil/io/TestDataOutputStream4.scala
+++ b/daffodil-io/src/test/scala/org/apache/daffodil/io/TestDataOutputStream4.scala
@@ -41,10 +41,10 @@ class TestDataOutputStream4 {
 
     val out = direct.addBuffered
     if (setAbs)
-      out.setAbsStartingBitPos0b(ULong(19))
+      out.setAbsStartingBitPos0b(ULong(20))
     val out2 = out.addBuffered
     if (setAbs)
-      out2.setAbsStartingBitPos0b(ULong(38))
+      out2.setAbsStartingBitPos0b(ULong(39))
 
     out.putLong(0x5a5a5, 19, finfo)
     // 101 1010 0101 1010 0101
diff --git a/daffodil-japi/src/test/java/org/apache/daffodil/example/TestCustomDebuggerAPI.java b/daffodil-japi/src/test/java/org/apache/daffodil/example/TestCustomDebuggerAPI.java
index 92b31a2..91af3f1 100644
--- a/daffodil-japi/src/test/java/org/apache/daffodil/example/TestCustomDebuggerAPI.java
+++ b/daffodil-japi/src/test/java/org/apache/daffodil/example/TestCustomDebuggerAPI.java
@@ -72,7 +72,7 @@ public class TestCustomDebuggerAPI {
         InputSourceDataInputStream dis = new InputSourceDataInputStream(fis);
         ParseResult res = dp.parse(dis, new NullInfosetOutputter());
 
-        assertEquals(8, dbg.nodes);
+        assertEquals(6, dbg.nodes);
         assertTrue(dbg.inited);
         assertTrue(dbg.finished);
     }
diff --git a/daffodil-lib/src/main/scala/org/apache/daffodil/util/MaybeULong.scala b/daffodil-lib/src/main/scala/org/apache/daffodil/util/MaybeULong.scala
index e5acb7a..81de83c 100644
--- a/daffodil-lib/src/main/scala/org/apache/daffodil/util/MaybeULong.scala
+++ b/daffodil-lib/src/main/scala/org/apache/daffodil/util/MaybeULong.scala
@@ -77,8 +77,6 @@ final class MaybeJULong(mi: MaybeULong)
   @inline final def isDefined = mi.isDefined
   @inline final def isEmpty = !isDefined
   override def toString = mi.toString
-
-  @inline def toMaybeULong = mi
 }
 
 object MaybeJULong {
diff --git a/daffodil-runtime1-unparser/src/main/scala/org/apache/daffodil/processors/unparsers/SpecifiedLength2.scala b/daffodil-runtime1-unparser/src/main/scala/org/apache/daffodil/processors/unparsers/SpecifiedLength2.scala
index 69f92a7..1c53f5a 100644
--- a/daffodil-runtime1-unparser/src/main/scala/org/apache/daffodil/processors/unparsers/SpecifiedLength2.scala
+++ b/daffodil-runtime1-unparser/src/main/scala/org/apache/daffodil/processors/unparsers/SpecifiedLength2.scala
@@ -177,21 +177,20 @@ class SimpleTypeRetryUnparserSuspendableOperation(
   extends SuspendableOperation {
 
   override protected def maybeKnownLengthInBits(ustate: UState): MaybeULong = {
-    if (maybeUnparserTargetLengthInBitsEv.isDefined) {
-      // maybeUnparserTargetLengthInBitsEv should only be provided to this
-      // class if we know at schema compile time that it will evaluate to a
-      // value, and that value will match the actual unparsed length (e.g.
-      // there will not be any padding/fill). Here we assert that if a target
-      // length evaluatable was passed into this class, then it must evaluate
-      // to a value. When we deliver buffered content, we will also assert that
-      // the starting bit position of the buffered DOS that results from this
-      // suspension matches the direct DOS (i.e. this length is used correctly)
-      val maybeLen = maybeUnparserTargetLengthInBitsEv.get.evaluate(ustate)
-      Assert.invariant(maybeLen.isDefined)
-      maybeLen.toMaybeULong
-    } else {
-      MaybeULong.Nope
-    }
+    // Note that we cannot use a targetLengthInBitsEv to determine the
+    // knownLengthInBits. This is because even if an OVC/Simple element has fixed
+    // length, the result of the OVC might not actually write that many bits,
+    // relying on padding and/or right fill to fill in the remaining bits
+    //
+    // TODO: The above is too pessimistic. Many formats have no notion of
+    // padding nor filling, so the length could be computed from the targetLengthInBitsEv
+    // just fine
+    //
+    // We could make it the responsibility of the caller of this to supply or not
+    // the maybeUnparserTargetLengthInBitsEv depending on whether it can be
+    // depended upon or not.
+    //
+    MaybeULong.Nope
   }
 
   protected def test(state: UState) = {
diff --git a/daffodil-sapi/src/test/scala/org/apache/daffodil/example/TestCustomDebuggerAPI.scala b/daffodil-sapi/src/test/scala/org/apache/daffodil/example/TestCustomDebuggerAPI.scala
index 252d89d..dcc35e8 100644
--- a/daffodil-sapi/src/test/scala/org/apache/daffodil/example/TestCustomDebuggerAPI.scala
+++ b/daffodil-sapi/src/test/scala/org/apache/daffodil/example/TestCustomDebuggerAPI.scala
@@ -55,7 +55,7 @@ class TestCustomDebuggerAPI {
     val input = new InputSourceDataInputStream(fis)
     dp.parse(input, new NullInfosetOutputter())
 
-    assertEquals(8, dbg.nodes)
+    assertEquals(6, dbg.nodes)
     assertTrue(dbg.inited)
     assertTrue(dbg.finished)
   }
diff --git a/daffodil-test/src/test/resources/org/apache/daffodil/section12/aligned_data/Aligned_Data.tdml b/daffodil-test/src/test/resources/org/apache/daffodil/section12/aligned_data/Aligned_Data.tdml
index 4927ca4..4080a57 100644
--- a/daffodil-test/src/test/resources/org/apache/daffodil/section12/aligned_data/Aligned_Data.tdml
+++ b/daffodil-test/src/test/resources/org/apache/daffodil/section12/aligned_data/Aligned_Data.tdml
@@ -3906,61 +3906,4 @@
     </tdml:document>
   </tdml:unparserTestCase>
 
-  <tdml:defineSchema name="globalDeclAlignment">
-
-    <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>
-    <dfdl:format ref="ex:GeneralFormat"
-      representation="binary"
-      alignment="1"
-      alignmentUnits="bits"
-      lengthUnits="bits"
-      fillByte="%#r00;" />
-
-    <xs:element name="root">
-      <xs:complexType>
-        <xs:sequence>
-          <xs:element name="oneBit" type="xs:int" dfdl:lengthKind="explicit" dfdl:length="1" />
-          <xs:element ref="ex:globalDecl" />
-        </xs:sequence>
-      </xs:complexType>
-    </xs:element>
-
-    <xs:element name="globalDecl">
-      <xs:complexType>
-        <xs:sequence dfdl:alignmentUnits="bytes">
-          <xs:element name="oneByte" type="xs:int"
-            dfdl:lengthKind="explicit"
-            dfdl:lengthUnits="bytes" dfdl:length="1"
-            dfdl:alignmentUnits="bytes" dfdl:alignment="1" />
-        </xs:sequence>
-      </xs:complexType>
-    </xs:element>
-
-  </tdml:defineSchema>
-
-  <!--
-     Test Name: globalDeclAlignment_01
-        Schema: globalDeclAlignment
-          Root: root
-          Purpose: This test demonstrates that alignment is handled correctly
-                   when global declarations have children with different alignment
-  -->
-  <tdml:parserTestCase name="globalDeclAlignment_01" root="root" model="globalDeclAlignment">
-    <tdml:document>
-      <tdml:documentPart type="bits">1</tdml:documentPart> <!-- oneBit -->
-      <tdml:documentPart type="bits">0000000</tdml:documentPart> <!-- alignment bits -->
-      <tdml:documentPart type="bits">11111111</tdml:documentPart> <!-- oneByte -->
-    </tdml:document>
-    <tdml:infoset>
-      <tdml:dfdlInfoset>
-        <ex:root>
-          <ex:oneBit>1</ex:oneBit>
-          <ex:globalDecl>
-            <ex:oneByte>-1</ex:oneByte>
-          </ex:globalDecl>
-        </ex:root>
-      </tdml:dfdlInfoset>
-    </tdml:infoset>
-  </tdml:parserTestCase>
-
 </tdml:testSuite>
diff --git a/daffodil-test/src/test/resources/org/apache/daffodil/section12/lengthKind/EndOfParentTests.tdml b/daffodil-test/src/test/resources/org/apache/daffodil/section12/lengthKind/EndOfParentTests.tdml
index 2bb00cc..f870721 100644
--- a/daffodil-test/src/test/resources/org/apache/daffodil/section12/lengthKind/EndOfParentTests.tdml
+++ b/daffodil-test/src/test/resources/org/apache/daffodil/section12/lengthKind/EndOfParentTests.tdml
@@ -77,6 +77,8 @@
 			<tdml:error>not</tdml:error>
 			<tdml:error>implemented</tdml:error>
 			<tdml:error>endOfParent</tdml:error>
+			<tdml:error>complex</tdml:error>
+			<tdml:error>type</tdml:error>
 		</tdml:errors>
 	</tdml:parserTestCase>
 
@@ -88,6 +90,8 @@
 			<tdml:error>not</tdml:error>
 			<tdml:error>implemented</tdml:error>
 			<tdml:error>endOfParent</tdml:error>
+			<tdml:error>simple</tdml:error>
+			<tdml:error>type</tdml:error>
 		</tdml:errors>
 	</tdml:parserTestCase>
 
diff --git a/daffodil-test/src/test/resources/org/apache/daffodil/section17/calc_value_properties/computedLengthFields.tdml b/daffodil-test/src/test/resources/org/apache/daffodil/section17/calc_value_properties/computedLengthFields.tdml
index a854015..887e851 100644
--- a/daffodil-test/src/test/resources/org/apache/daffodil/section17/calc_value_properties/computedLengthFields.tdml
+++ b/daffodil-test/src/test/resources/org/apache/daffodil/section17/calc_value_properties/computedLengthFields.tdml
@@ -265,7 +265,7 @@
   <unparserTestCase name="prefixedAroundDelimitedString1" model="modelPrefixed"
                          roundTrip="none">
     <document>
-      <documentPart type="byte">02</documentPart>
+      <documentPart type="byte">02 01</documentPart>
       <documentPart type="text" encoding="iso-8859-1">A;</documentPart>
     </document>
     <infoset>
@@ -277,4 +277,4 @@
     </infoset>
   </unparserTestCase>
 
-</testSuite>
+</testSuite>
\ No newline at end of file
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section12/aligned_data/TestAlignedData.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section12/aligned_data/TestAlignedData.scala
index f3eade6..1d1b1ef 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section12/aligned_data/TestAlignedData.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section12/aligned_data/TestAlignedData.scala
@@ -196,6 +196,4 @@ class TestAlignedData {
   @Test def test_alignmentFillByteDefined() = { runner1.runOneTest("alignmentFillByteDefined") }
 
   @Test def test_separatorMTA_01() = { runner1.runOneTest("separatorMTA_01") }
-
-  @Test def test_globalDeclAlignment_01() = { runner1.runOneTest("globalDeclAlignment_01") }
 }
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section17/calc_value_properties/TestComputedLengthFields.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section17/calc_value_properties/TestComputedLengthFields.scala
index 0651e9a..b2e1820 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section17/calc_value_properties/TestComputedLengthFields.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section17/calc_value_properties/TestComputedLengthFields.scala
@@ -39,13 +39,13 @@ class TestComputedLengthFields {
   @Test def test_computedLengthAroundPrefixedLengths1p(): Unit = { runner.runOneTest("computedLengthAroundPrefixedLengths1p") }
 
   // DAFFODIL-2626 - deadlock interaction between computed length and prefixed-length strings.
-  @Test def test_computedLengthAroundPrefixedLengths1u(): Unit = { runner.runOneTest("computedLengthAroundPrefixedLengths1u") }
+  // @Test def test_computedLengthAroundPrefixedLengths1u(): Unit = { runner.runOneTest("computedLengthAroundPrefixedLengths1u") }
 
   @Test def test_computedLengthAroundFixedLengths1(): Unit = { runner.runOneTest("computedLengthAroundFixedLengths1") }
 
   // DAFFODIL-2626 circular deadlock
   // Reproduces one of the circular issues - with prefixed length for the root element surrounding
   // text, where the alignment region isn't optimized out. 
-  @Test def test_prefixedAroundDelimitedString1(): Unit = { runner.runOneTest("prefixedAroundDelimitedString1") }
+  // @Test def test_prefixedAroundDelimitedString1(): Unit = { runner.runOneTest("prefixedAroundDelimitedString1") }
 
 }