grep-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Grep-devel] [platform-testers] new snapshot available: grep-3.1.46-


From: Bruno Haible
Subject: Re: [Grep-devel] [platform-testers] new snapshot available: grep-3.1.46-504af
Date: Sat, 15 Dec 2018 20:52:28 +0100
User-agent: KMail/5.1.3 (Linux/4.4.0-138-generic; KDE/5.18.0; x86_64; ; )

Assaf Gordon wrote:
> "backref-alt" test fails on several systems:
>    Ubuntu 14.04 (aarch64)
>    Raspbian 9.6 (armv7l)
>    Debian 8.11 (mips64)
>    Debian 8.11 (i686)
> (perhaps something to do with non-amd64 systems?)

I see it also fail on Ubuntu 16.04 (x86_64). test-suite.log contains this:


FAIL: backref-alt
=================

++ initial_cwd_=/build/grep-3.1.46-504af/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /build/grep-3.1.46-504af/tests gt-backref-alt.XXXX
+++ case $# in
+++ destdir_=/build/grep-3.1.46-504af/tests
+++ template_=gt-backref-alt.XXXX
+++ MAX_TRIES_=4
+++ case $destdir_ in
+++ destdir_slash_=/build/grep-3.1.46-504af/tests/
+++ case $template_ in
++++ unset TMPDIR
+++ d=/build/grep-3.1.46-504af/tests/gt-backref-alt.Qshx
+++ case $d in
+++ :
+++ test -d /build/grep-3.1.46-504af/tests/gt-backref-alt.Qshx
++++ ls -dgo /build/grep-3.1.46-504af/tests/gt-backref-alt.Qshx
+++ perms='drwx------ 2 4096 Dec 15 20:36 
/build/grep-3.1.46-504af/tests/gt-backref-alt.Qshx'
+++ case $perms in
+++ :
+++ echo /build/grep-3.1.46-504af/tests/gt-backref-alt.Qshx
+++ return
++ test_dir_=/build/grep-3.1.46-504af/tests/gt-backref-alt.Qshx
++ cd /build/grep-3.1.46-504af/tests/gt-backref-alt.Qshx
++ gl_init_sh_nl_='
'
++ IFS='        
'
++ for sig_ in 1 2 3 13 15
+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
++ for sig_ in 1 2 3 13 15
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
++ for sig_ in 1 2 3 13 15
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
++ for sig_ in 1 2 3 13 15
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
++ for sig_ in 1 2 3 13 15
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ trap remove_tmp_ 0
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ case $path_dir_ in
+ abs_path_dir_=/build/grep-3.1.46-504af/tests/../src
+ case $abs_path_dir_ in
+ 
PATH=/build/grep-3.1.46-504af/tests/../src:/build/grep-3.1.46-504af/src:./src:/home/bruno/bin:/home/bruno/local/bin:/darch/x86_64-linux-gnu/gnu/bin:/arch/local/x86_64-linux-gnu/bin:/arch/local/x86_64-linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
+ create_exe_shims_ /build/grep-3.1.46-504af/tests/../src
+ case $EXEEXT in
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ echo aa
+ fail=0
+ grep -E 'b|(.)b|\1|b' in
+ status=1
+ test 1 -eq 2
+ test 1 -eq 1
+ grep -E '0|()0|\1|0' in
grep: regexec.c:1375: pop_fail_stack: Assertion `num >= 0' failed.
./backref-alt: line 23:  4335 Aborted                 (core dumped) grep -E 
'0|()0|\1|0' in > out
+ status=134
+ test 134 -eq 2
+ test 134 -eq 1
+ fail=1
+ LC_ALL=C
+ grep -E '(()x)|\2' in
grep: regexec.c:1375: pop_fail_stack: Assertion `num >= 0' failed.
./backref-alt: line 30:  4337 Aborted                 (core dumped) LC_ALL=C 
grep -E '(()x)|\2' in > out
+ status=134
+ test 134 -eq 2
+ test 134 -eq 1
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /build/grep-3.1.46-504af/tests
+ chmod -R u+rwx /build/grep-3.1.46-504af/tests/gt-backref-alt.Qshx
+ rm -rf /build/grep-3.1.46-504af/tests/gt-backref-alt.Qshx
+ exit 1
FAIL backref-alt (exit status: 1)


I reproduce the crash like this:

$ echo aa > in
$ LC_ALL=C ../src/grep -E '0|()0|\1|0' in
grep: regexec.c:1375: pop_fail_stack: Assertion `num >= 0' failed.

gdb stack trace:

#1  0x00007ffff77d402a in __GI_abort () at abort.c:89
#2  0x00007ffff77cabd7 in __assert_fail_base (fmt=<optimized out>, 
address@hidden "num >= 0", 
    address@hidden "regexec.c", address@hidden, 
    address@hidden <__PRETTY_FUNCTION__.12775> "pop_fail_stack") at assert.c:92
#3  0x00007ffff77cac82 in __GI___assert_fail (address@hidden "num >= 0", 
    address@hidden "regexec.c", address@hidden, 
    address@hidden <__PRETTY_FUNCTION__.12775> "pop_fail_stack") at assert.c:101
#4  0x00007ffff77bcbaf in pop_fail_stack (fs=<optimized out>, pidx=<optimized 
out>, nregs=<optimized out>, 
    regs=<optimized out>, eps_via_nodes=<optimized out>) at regexec.c:1375
#5  0x00007ffff77bd240 in set_regs (address@hidden, address@hidden, 
address@hidden, 
    address@hidden, fl_backtrack=<optimized out>) at regexec.c:1479
#6  0x00007ffff7884041 in re_search_internal (address@hidden, address@hidden 
"\n", 
    address@hidden, start=<optimized out>, address@hidden, range=<optimized 
out>, address@hidden, address@hidden, 
    nmatch=<optimized out>, pmatch=0x637b30, eflags=0) at regexec.c:875
#7  0x00007ffff7884d1a in re_search_stub (bufp=0x638070, string=0x7fffffffd7c1 
"\n", length=<optimized out>, start=0, 
    range=<optimized out>, stop=<optimized out>, regs=0x637ee0, ret_len=0) at 
regexec.c:448
#8  0x00007ffff7885650 in __re_search (bufp=<optimized out>, string=<optimized 
out>, length=<optimized out>, 
    start=<optimized out>, range=<optimized out>, regs=<optimized out>) at 
regexec.c:317
#9  0x0000000000403f2a in EGexecute (vdc=0x637ec0, buf=0x7fffffffd7c1 "\n", 
size=1, match_size=0x7fffffffd668, start_ptr=0x0)
    at dfasearch.c:357
#10 0x0000000000409321 in main (argc=4, argv=0x7fffffffd8c8) at grep.c:2889

regexec.c comes from libc. libc is glibc version 2.23-0ubuntu10.

I guess the fix should be to detect the glibc bug in m4/regex.m4 ?

Bruno




reply via email to

[Prev in Thread] Current Thread [Next in Thread]