zlib 1.2.13 (and patched 1.2.11) breaks libxml2 on s390x
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
In Progress
|
High
|
Unassigned | ||
zlib |
Fix Released
|
Undecided
|
|||
zlib (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Focal |
New
|
Undecided
|
Unassigned | ||
Jammy |
New
|
Undecided
|
Unassigned | ||
Kinetic |
Won't Fix
|
Undecided
|
Unassigned | ||
Lunar |
Fix Released
|
High
|
Unassigned |
Bug Description
SRU Justification:
------------------
[ Impact ]
* zlib version 1.2.13, as well as patched zlib versions 1.2.11 with
the patch from LP#1990379, break libxml2 and lxml on s390x.
* The problem appears during loading a gzipped XML file.
* Disabling hw compression with 'export DFLTCC=0' solves this,
hence it's a problem with the hardware acceleration patches DFLTCC.
* For more info see: https:/
[ Test Plan ]
* Steps to Reproduce:
1. echo "<a></a>" > file.xml
2. gzip file.xml
3. python3
>>> import libxml2
>>> libxml2.
* Actual results:
file.xml.gz:1: parser error : Document is empty
^
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/
line 1362, in parseFile
if ret is None:raise parserError(
libxml2.
* Expected results:
Loaded file.
[ Where problems could occur ]
* Since this is limited to s390x and DFLTCC / hw acceleration active,
any possible problems are limited to such environments.
* Fix can be broken if the state handling (state->wrap),
or the states mixed.
* The translation from stream to parameter block could be broken
(again due to wrong states) and the inflate as well.
[ Other Info ]
* The official upstream fix is here:
https:/
but it's for zlib-ng.
* For zlib this needs to be adjusted and was done by the author here:
https:/
* And again slightly adjusted by me (renamed, some white-space fixes
and conversion into a quilt patch with proper dep3 header):
https:/
* The zlib version in Focal, Jammy, Kinetic and Lunar are affected.
__________
It has been reported that 1.2.13 as well as the patch from LP#1990379 breaks libxml2 (and libxml) on s390x:
(https:/
The upstream author proposed a fix and a new test for zlib-ng (https:/
___
This was initially reported as part of LP#1990379,
especially: https:/
but needs a separate LP bug (number) - this one.
___
The proposed patch at https:/
needed some tweaks regarding white-spaces, but then applied fine on focal, jammy, kinetic and also 1.2.13, which is what we currently have in lunar-proposed.
summary: |
- zlib 1.2.13 breaks libxml(2) on s390x + zlib 1.2.13 (and patched 1.2.11) breaks libxml(2) on s390x |
Changed in ubuntu-z-systems: | |
importance: | Undecided → High |
description: | updated |
Changed in ubuntu-z-systems: | |
status: | New → Triaged |
Changed in zlib (Ubuntu Lunar): | |
status: | New → In Progress |
tags: | added: patch |
Changed in zlib: | |
importance: | Unknown → Undecided |
status: | Unknown → In Progress |
summary: |
- zlib 1.2.13 (and patched 1.2.11) breaks libxml(2) on s390x + zlib 1.2.13 (and patched 1.2.11) breaks libxml2 on s390x |
Changed in ubuntu-z-systems: | |
status: | Triaged → In Progress |
Changed in zlib: | |
status: | In Progress → Fix Released |
Description of problem:
The latest version of zlib (1.2.13) in rawhide breaks libxml2 (and therefore lxml). The problem appears during loading a gzipped XML file.
Version-Release number of selected component (if applicable): 2.13-1. fc38.s390x
zlib-1.
How reproducible:
Allways.
Steps to Reproduce: parseFile( "file.xml. gz")
1. echo "<a></a>" > file.xml
2. gzip file.xml
3. python3
>>> import libxml2
>>> libxml2.
Actual results:
file.xml.gz:1: parser error : Document is empty
^ python3. 11/site- packages/ libxml2. py", line 1362, in parseFile 'xmlParseFile( ) failed')
^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^ parserError: xmlParseFile() failed
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/
if ret is None:raise parserError(
libxml2.
Expected results: 2.12-5. fc37.s390x.
Loaded file. It works fine with zlib-1.
Additional info:
Might this be caused by the downstream patches we have in Fedora for s390x?