FS#55134 - [libxml2] Update breaking regression tests of PostgreSQL

Attached to Project: Arch Linux
Opened by Michael Paquier (michaelpq) - Monday, 14 August 2017, 05:29 GMT
Last edited by Jan de Groot (JGC) - Saturday, 19 August 2017, 21:32 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

An update of the ArchLinux package libxml2 to 2.9.4+96+gfb56f80e-1 or 2.9.4+91+g872fea94-1 is proving to make the set of regression tests shipped wiht PostgreSQL to fail in strange ways:

Additional info:
* package version(s): libxml2, 2.9.4+96+gfb56f80e-1 or 2.9.4+91+g872fea94-1
* config and/or log files etc. Attached is a diff file that PostgreSQL regression tests produces: regression.diffs. Here is an extract from it using for example 9.6.4:

SELECT xmlparse(document ' ');
ERROR: invalid XML document
! DETAIL: line 1: Start tag expected, '<' not found

^
----
SELECT xmlparse(document ' ');
ERROR: invalid XML document
! DETAIL: line 1: switching encoding : no input
!
! ^
! line 1: Start tag expected, '<' not found

^

The additional "switching encoding" is a problem.
This task depends upon

Closed by  Jan de Groot (JGC)
Saturday, 19 August 2017, 21:32 GMT
Reason for closing:  Fixed
Comment by Aleksander Alekseev (afiskon) - Monday, 14 August 2017, 09:35 GMT
I can confirm that I see the same errors.

Steps to reproduce:
-------------------

git clone http://git.postgresql.org/git/postgresql.git
cd postgresql
./configure --with-libxml --with-libxslt
make -j4
make check


Expected result:
----------------

All tests pass.

Actual result:
--------------


```
polymorphism ... ok
rowtypes ... ok
returning ... ok
largeobject ... ok
with ... ok
xml ... FAILED
test identity ... ok
test event_trigger ... ok
test stats ... ok
============== shutting down postmaster ==============

========================
1 of 178 tests failed.
========================
```

There are errors in src/test/regress/regression.diffs as described in the report by Michael Paquier.
Comment by Aleksander Alekseev (afiskon) - Monday, 14 August 2017, 09:55 GMT
As a workaround libxml2 can be downgraded to 2.9.4+16+g07418011-2 ( check your /var/cache/pacman/pkg/ or use this backup: http://afiskon.ru/s/a9/2fd67a0346_libxml2-2.9.4+16+g07418011-2-x86_64.pkg.tar.xz ) and freezed.

To downgrade libxml2 execute:

```
sudo pacman -U /var/cache/pacman/pkg/libxml2-2.9.4+16+g07418011-2-x86_64.pkg.tar.xz
```

To freeze libxml2 modify /etc/pacman.conf:

```

[options]
...
# see https://bugs.archlinux.org/task/55134
IgnorePkg = libxml2
...

```

Apparently the problem was introduced in 2.9.4+96+gfb56f80e (10 Jul 2017).
Comment by loqs (loqs) - Monday, 14 August 2017, 20:52 GMT
Have you contacted either upstream about the issue?
Comment by Jan de Groot (JGC) - Friday, 18 August 2017, 13:34 GMT
The commit causing the additional "switching encoding" is https://git.gnome.org/browse/libxml2/commit/?id=46dc989080d5d6b7854de8fb3cb3de55ecbf0621

Note that it's not just "switching encoding" that gives problems. If you look further down the diff you'll notice this:

SELECT xml '<foo>bar</foo>' IS DOCUMENT;
t

becomes
SELECT xml '<foo>bar</foo>' IS DOCUMENT;
f
Comment by Jan de Groot (JGC) - Friday, 18 August 2017, 13:44 GMT
git master with parserInternals.c from 46dc989080d5d6b7854de8fb3cb3de55ecbf0621 reverted gives a working testsuite.

Loading...