Project

Profile

Help

Bug #5093

closed

AssertionError during trace code injection

Added by Michael Kay over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Diagnostics
Sprint/Milestone:
-
Start date:
2021-09-15
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
10, trunk
Fix Committed on Branch:
10, trunk
Fixed in Maintenance Release:
Platforms:

Description

Certain instructions require operands of a specific expression type. Injecting trace code around such an operand can cause an AssertionError. An example is test case -s:iterate -t:iterate-033, when run with the -T option.

The solution is to change ExpressionTool.injectCode() to refrain from injecting an expression if the operand has the property isConstrainedClass().

Actions #2

Updated by Michael Kay over 2 years ago

With this change, the XSLT3 tests run to completion with the -T option set, but on the 11 branch I'm seeing 76 test failures:

  accept : 16
  arrays : 1
  on-empty : 37
  override : 1
  regex : 1
  seqtor : 1
  si-LRE : 2
  si-assert : 1
  si-for-each-group : 7
  source-document : 2
  streamable : 2
  su-absorbing : 3
  use-package : 2

Some of these, such as on-empty are fairly predictable - injecting trace expressions can change the semantics,

These are probably old problems, I think it's some time since we ran all the tests with the -T option.

Actions #3

Updated by Michael Kay over 2 years ago

Similar results running the tests with -T on the 10.x branch:

Failures by Test Set: 
  accept : 16
  arrays : 1
  on-empty : 37
  override : 4
  regex : 1
  seqtor : 1
  si-LRE : 2
  si-assert : 1
  si-for-each-group : 7
  source-document : 2
  streamable : 2
  su-absorbing : 3
  use-package : 1
Finished in 111s
Result: 11584 successes, 78 failures, 37 incorrect ErrorCode, 2947 not run

Actions #4

Updated by Michael Kay over 2 years ago

  • Status changed from New to Resolved
  • Applies to branch 10, trunk added
  • Fix Committed on Branch 10, trunk added

Fix applied to ExpressionTool. It fixes the iterate-013 test that was crashing, but not the others reported in comment #3 that generated test failures.

Actions #5

Updated by O'Neil Delpratt over 2 years ago

  • Status changed from Resolved to Closed
  • % Done changed from 0 to 100
  • Fixed in Maintenance Release 10.6 added

Bug fix applied in the Saxon 10.6 maintenance release

Please register to edit this issue

Also available in: Atom PDF