GNU bug report logs - #47396
grep-3.6 stack-overflow test fails on fedora rawhide

Previous Next

Package: grep;

Reported by: Jaroslav Skarvada <jskarvad <at> redhat.com>

Date: Thu, 25 Mar 2021 18:54:01 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 47396 in the body.
You can then email your comments to 47396 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-grep <at> gnu.org:
bug#47396; Package grep. (Thu, 25 Mar 2021 18:54:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jaroslav Skarvada <jskarvad <at> redhat.com>:
New bug report received and forwarded. Copy sent to bug-grep <at> gnu.org. (Thu, 25 Mar 2021 18:54:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jaroslav Skarvada <jskarvad <at> redhat.com>
To: bug-grep <at> gnu.org
Subject: grep-3.6 stack-overflow test fails on fedora rawhide
Date: Thu, 25 Mar 2021 14:53:18 -0400 (EDT)
Hi,

on fedora rawhide the stack-overflow test is failing for grep-3.6:
...
stack-overflow: failed test: grep never printed "stack overflow"
FAIL: stack-overflow
..

Manual run:
# ASAN_OPTIONS=help=true grep --version 2>&1 | grep -q AddressSanitizer
# echo $?
1

# i=3;printf %0${i}0000d 0|tr 0 '(' > in
# ./grep -E -f in
Segmentation fault (core dumped)

Running through valgrind:
==58== Process terminating with default action of signal 11 (SIGSEGV)
==58==  Access not within mapped region at address 0x1FFE801FF8
==58== Stack overflow in thread #1: can't grow stack to 0x1ffe801000
==58==    at 0x49A418A: peek_token (in /usr/lib64/libc-2.33.9000.so)
==58==  If you believe this happened as a result of a stack
==58==  overflow in your program's main thread (unlikely but
==58==  possible), you can try to increase the size of the
==58==  main thread stack using the --main-stacksize= flag.
==58==  The main thread stack size used in this run was 8388608.

Compiled with:
CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '

thanks & regards

Jaroslav





Information forwarded to bug-grep <at> gnu.org:
bug#47396; Package grep. (Mon, 09 Aug 2021 11:29:01 GMT) Full text and rfc822 format available.

Message #8 received at 47396 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Jaroslav Skarvada <jskarvad <at> redhat.com>
Cc: 47396 <at> debbugs.gnu.org
Subject: Re: bug#47396: grep-3.6 stack-overflow test fails on fedora rawhide
Date: Mon, 9 Aug 2021 04:28:19 -0700
On 3/25/21 11:53 AM, Jaroslav Skarvada wrote:

> on fedora rawhide the stack-overflow test is failing for grep-3.6:

Thanks for reporting the problem. I'm not seeing it on Fedora 34 x86-64 
with the current Savannah master grep:

23-penguin $ i=3;printf %0${i}0000d 0|tr 0 '(' > in
24-penguin $ ./grep -E -f in
grep: stack overflow

which is the expected behavior.

We're planning to release a new grep, and it uses current Gnulib which 
has some bug fixes in the stack-overflow area, so perhaps the bug is 
fixed now. You can see if it works for you by building from a very 
recent snapshot as per this email:

https://lists.gnu.org/r/grep-devel/2021-08/msg00003.html

I configured using the flags you specified:

./configure CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g 
-grecord-gcc-switches -pipe -Wall -Werror=format-security 
-Wp,-_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS 
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong 
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic 
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' 
LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now 
-specs=/usr/lib/rpm/redhoat/redhat-hardened-ld '

Since I was building from .git and warnings are enabled, I needed to 
build with:

make WERROR_CFLAGS=

to prevent diagnostics from stopping the build. I did not have time to 
investigate whether the warnings are bogus, as they usually are.





Reply sent to Paul Eggert <eggert <at> cs.ucla.edu>:
You have taken responsibility. (Mon, 09 Aug 2021 22:30:02 GMT) Full text and rfc822 format available.

Notification sent to Jaroslav Skarvada <jskarvad <at> redhat.com>:
bug acknowledged by developer. (Mon, 09 Aug 2021 22:30:03 GMT) Full text and rfc822 format available.

Message #13 received at 47396-done <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Jaroslav Skarvada <jskarvad <at> redhat.com>
Cc: 47396-done <at> debbugs.gnu.org
Subject: Re: bug#47396: grep-3.6 stack-overflow test fails on fedora rawhide
Date: Mon, 9 Aug 2021 15:29:16 -0700
On 8/9/21 3:23 PM, Jaroslav Skarvada wrote:
> I resolved it downstream by backporting gnulib patches from the gnulib
> git [1], so I think the new grep release with the up-to-date gnulib
> should resolve it.

Thanks. Closing the grep bug report.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 07 Sep 2021 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 226 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.