Re: [pcre-dev] Testing Release 10.34-RC1

Top Page
Delete this message
Author: Petr Pisar
Date:  
To: pcre-dev
New-Topics: Re: [pcre-dev] JIT fails with NEON instructions
Subject: Re: [pcre-dev] Testing Release 10.34-RC1
On Thu, Oct 17, 2019 at 05:54:08PM +0100, ph10@??? wrote:
> I have just made available a Release Candidate for PCRE2 10.34 here:
>
> https://ftp.pcre.org/pub/pcre/Testing/pcre2-10.34-RC1.tar.gz
> https://ftp.pcre.org/pub/pcre/Testing/pcre2-10.34-RC1.tar.bz2
> https://ftp.pcre.org/pub/pcre/Testing/pcre2-10.34-RC1.tar.zip
>
> NOTE: this is a different FTP site than was used for previous releases.
>

I experience two test failures on 64-bit ARM with Fedora 32 distribution:

FAIL: pcre2_jit_test
====================
Running JIT regression tests
target CPU of SLJIT compiler: ARM-64 64bit (little endian + unaligned)
in 8 bit mode with UTF-8 enabled:
in 16 bit mode with UTF-16 enabled:
in 32 bit mode with UTF-32 enabled:
................................
32 bit: Return value differs(J32:-1,I32:1): [33] '𐐀{2}' @ '𐐀#𐐨𐐀'
32 bit: Return value differs(J32:-1,I32:1): [34] '𐐨{2}' @ '𐐀#𐐨𐐀'
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
..........................
Successful test ratio: 99% (2 failed)

and:

--- ./testdata/testoutput4 2019-05-13 16:24:36.000000000 +0000
+++ testtry 2019-10-30 10:54:34.881209611 +0000
@@ -319,19 +319,19 @@

 /\x{100}+/utf
     abcd\x{100}\x{100}\x{100}\x{100}
- 0: \x{100}\x{100}\x{100}\x{100}
+ 0: \x{100}\x{100}\x{100}


 /\x{100}{3}/utf
     abcd\x{100}\x{100}\x{100}XX
- 0: \x{100}\x{100}\x{100}
+No match


 /\x{100}{3,5}/utf
     abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
- 0: \x{100}\x{100}\x{100}\x{100}\x{100}
+No match


 /\x{100}{3,}/utf
     abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
- 0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
+No match


 /(?<=a\x{100}{2}b)X/utf,aftertext
     Xyyya\x{100}\x{100}bXzzz
@@ -523,7 +523,7 @@
     \x{100}
  0: \x{100}
     Z\x{100}
- 0: \x{100}
+No match
     \x{100}Z
  0: \x{100}


** Test 4 failed with JIT

Full build log at
<https://kojipkgs.fedoraproject.org//work/tasks/8555/38658555/build.log>, list
of installed software
<https://kojipkgs.fedoraproject.org//work/tasks/8555/38658555/root.log>,
hardware datails
<https://kojipkgs.fedoraproject.org//work/tasks/8555/38658555/hw_info.log>.

I could not reproduce it on older RHEL-7.8 distribution (probably on
a different hardware), so it is either related to a newer toolchain (GCC
9.2.1, binutils 2.33.1) or to the instruction set.

I also could not reproduce it with PCRE2-10.33.

I will try to locate the cause once I get an interactive access to the
hardware.

Other architectures pass all the tests.

-- Petr