Project

Profile

Help

Bug #4738

closed

Optimization bug: xsl:choose with branches uniformly comparing untypedAtomic to numeric

Added by Marek Skorek over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
Internals
Sprint/Milestone:
-
Start date:
2020-09-15
Due date:
% Done:

100%

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

Description

Hi,

We tried to upgrade our Saxon 9.7 library to 9.9. After a few hours it turned out that some tranformations does not work as expected. A result of such a transformation was a totally different output file.

We tried to reconfigure Saxon by disabling optimizations (setting http://saxon.sf.net/feature/optimizationLevel feature to 0). With this configuration it worked as before (in 9.7).

I attached test transformation (test.xslt), an input file (input-optimization-level-test.xml) and two output files for the optimization level set to 0 and 9 respectively (output-optimization-level-0.xml, output-optimization-level-9.xml)

Here comes some questions which need to be answered in order to be sure that new library is safe to be deployed to a production environment:

  1. How is that possible that optimization changes transformation behaviour?
  2. What else changed that could break transformations which works in 9.7?
  3. Do you have any suggestions how to deploy the new version safely?

Regards, Marek.


Files

input-optimization-level-test.xml (127 Bytes) input-optimization-level-test.xml Marek Skorek, 2020-09-15 15:20
output-optimization-level-0.xml (304 Bytes) output-optimization-level-0.xml Marek Skorek, 2020-09-15 15:20
output-optimization-level-9.xml (266 Bytes) output-optimization-level-9.xml Marek Skorek, 2020-09-15 15:20
test.xslt (1.38 KB) test.xslt Marek Skorek, 2020-09-15 15:20

Please register to edit this issue

Also available in: Atom PDF