Re: [pcre-dev] 8.35 Release candidate available

Top Page
Delete this message
Author: Petr Pisar
Date:  
To: pcre-dev
Subject: Re: [pcre-dev] 8.35 Release candidate available
On Fri, Mar 14, 2014 at 04:09:41PM +0000, ph10@??? wrote:
> A first release candidate for 8.35 is now available here:

[...]
> Please test as much as you can. The code has quite a few changes - as
> always, look in ChangeLog for details.
>

I performed tests on Linux with glibc with JIT enabled where supported with
following results:

PPC:        passed
s390:       passed
amd64:      passed
PPC64:      passed
i686:       passed
s390x:      passed
n32 MIPS64: passed
aarch64:    failed
ARMv6j:     passed


The aarch64 fails at two test suites:

(1) pcre_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 and ucp enabled:
in 16 bit mode with UTF-16 enabled and ucp enabled:
in 32 bit mode with UTF-32 enabled and ucp enabled:
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
................................................
8 and 16 bit: Ovector[0] value differs(J8:-4219968,I8:0,J16:-2164020,I16:0): [529] 'ab' @ 'a'

8 and 32 bit: Ovector[0] value differs(J8:-4219968,I8:0,J32:-1077914,I32:0): [529] 'ab' @ 'a'

16 and 16 bit: Ovector[0] value differs(J16:-2164020,I16:0,J32:-2164020,I32:0): [529] 'ab' @ 'a'
..
8 and 16 bit: Ovector[0] value differs(J8:-4219968,I8:0,J16:-2164020,I16:0): [532] '\b#' @ 'a'

8 and 32 bit: Ovector[0] value differs(J8:-4219968,I8:0,J32:-1077914,I32:0): [532] '\b#' @ 'a'

16 and 16 bit: Ovector[0] value differs(J16:-2164020,I16:0,J32:-2164020,I32:0): [532] '\b#' @ 'a'

8 and 16 bit: Ovector[0] value differs(J8:-4219968,I8:0,J16:-2164020,I16:0): [533] '(?<=a)b' @ 'a'

8 and 32 bit: Ovector[0] value differs(J8:-4219968,I8:0,J32:-1077914,I32:0): [533] '(?<=a)b' @ 'a'

16 and 16 bit: Ovector[0] value differs(J16:-2164020,I16:0,J32:-2164020,I32:0): [533] '(?<=a)b' @ 'a'

8 and 16 bit: Ovector[0] value differs(J8:-4223416,I8:2,J16:-2164020,I16:2): [534] 'abc|(?<=xxa)bc' @ 'xxab'

8 and 32 bit: Ovector[0] value differs(J8:-4223416,I8:2,J32:-1077914,I32:2): [534] 'abc|(?<=xxa)bc' @ 'xxab'

16 and 16 bit: Ovector[0] value differs(J16:-2164020,I16:2,J32:-2164020,I32:2): [534] 'abc|(?<=xxa)bc' @ 'xxab'

8 and 16 bit: Ovector[0] value differs(J8:-4219968,I8:0,J16:-2164020,I16:0): [535] 'a\B' @ 'a'

8 and 32 bit: Ovector[0] value differs(J8:-4219968,I8:0,J32:-1077914,I32:0): [535] 'a\B' @ 'a'

16 and 16 bit: Ovector[0] value differs(J16:-2164020,I16:0,J32:-2164020,I32:0): [535] 'a\B' @ 'a'
...........................
8 and 16 bit: Ovector[0] value differs(J8:-4219968,I8:0,J16:-2164020,I16:0): [563] 'a(*PRUNE)a|m' @ 'a'

8 and 32 bit: Ovector[0] value differs(J8:-4219968,I8:0,J32:-1077914,I32:0): [563] 'a(*PRUNE)a|m' @ 'a'

16 and 16 bit: Ovector[0] value differs(J16:-2164020,I16:0,J32:-2164020,I32:0): [563] 'a(*PRUNE)a|m' @ 'a'
..........................................
Successful test ratio: 99% (6 failed)


(2) RunTest gets aborted by glibc stack protector or segfaults:

PCRE C library tests using test data from ./testdata
PCRE version 8.35-RC1 2014-03-14

---- Testing 8-bit library ----

Test 1: Main functionality (Compatible with Perl >= 5.10)
  OK
  OK with study
./RunTest: line 425:  8914 Segmentation fault      $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput1 testtry


This happens with the JIT mode (./pcretest -q -8 -s+ testdata/testinput2).

If I disable JIT, tests pass on aarch64.

Please do not consider the aarch64 tests seriously. The software (kernel,
glibc, GCC) and the hardware (emulator) are still changing.

-- Petr