GNU bug report logs - #77613
grep-3.11.69-a4628 on GNU/Hurd

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: grep; Reported by: Bruno Haible <bruno@HIDDEN>; dated Mon, 7 Apr 2025 17:34:02 UTC; Maintainer for grep is bug-grep@HIDDEN.

Message received at 77613 <at> debbugs.gnu.org:


Received: (at 77613) by debbugs.gnu.org; 8 Apr 2025 14:27:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 08 10:27:05 2025
Received: from localhost ([127.0.0.1]:34371 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u29ur-0006fX-2p
	for submit <at> debbugs.gnu.org; Tue, 08 Apr 2025 10:27:05 -0400
Received: from mail-pj1-f47.google.com ([209.85.216.47]:58742)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <meyering@HIDDEN>)
 id 1u29un-0006eT-9V
 for 77613 <at> debbugs.gnu.org; Tue, 08 Apr 2025 10:27:02 -0400
Received: by mail-pj1-f47.google.com with SMTP id
 98e67ed59e1d1-2ff799d99dcso5362100a91.1
 for <77613 <at> debbugs.gnu.org>; Tue, 08 Apr 2025 07:27:01 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744122414; x=1744727214;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=5uKS+StvrNbgSGiAltpdmB3MbGNzG9Wfq85K7GVB3L4=;
 b=LNNhxK95q99x80k9Ut0TEfogoqLqKPuP7MUElPVopL4ypw7n3wy5CZhtTY69u5ATJU
 sUFo8gE5JlNf7ClPxAYiNFIFFpBvFYnykp0fT/nPv1w3yUG68xSgh0swaT6I8d123Fy2
 OELcFgZj8G+8Zh3+LUgvrdFqSSH4ITz5AftTibV/IF09eR7ZCMR1/8X5MqU0Xl2gbVPU
 NWqVYdDE0RS61X9TPmBO3eBMwQl4x8xVRr73X5cts8k733PZofhDnSeauMe/3qZx6U7O
 5iiOiRmDBhezoM6upCsDpjt8c6C1qe4h3aUiNX17oS4MgCLtCkpsQNzZQzphUi7+YEiu
 UaUw==
X-Gm-Message-State: AOJu0YznXuxylxFXkB97aBRHfze0DEvOtM5TeKBGSLfjd+VhZMgRkdFu
 oKyepPuPUf8MDsynPwlHugcDCP35PHq0DCkYexupDurvczx25THStkguzXmvN4mjSrAW5xfYQFa
 a4IWbCgmPVnpbH1aOO5VPdc1/+450wg==
X-Gm-Gg: ASbGncu9i+RzBN2YOqoyUeQ/zgIzcTyyRupRMecJ+dAk+37u5wZ15y7fYbcXYStbiKp
 3SSQj31AIQmIC/EmbiZZbXWScDSgZ7YVAcaqSasxbOOzooKwZZjv2RZtSNr0lO6ymIWn5xyeLbD
 PhfWBUZf6NifA+09U5SWItA3wwQwIftYfAOu0UDldaXQ==
X-Google-Smtp-Source: AGHT+IHD8kUd73DsOGHzTQOOe793kReZm6Fgb23KETCCJYEYWjRFMaILa7GWSNOIXuksd+OvCVOXvItArlCwP5wSMok=
X-Received: by 2002:a17:90b:51cc:b0:2fc:3264:3657 with SMTP id
 98e67ed59e1d1-306a601d9e8mr28362245a91.0.1744122413734; Tue, 08 Apr 2025
 07:26:53 -0700 (PDT)
MIME-Version: 1.0
References: <m2r024u0pj.fsf@HIDDEN> <3353032.JoGBPyJhv8@nimes>
 <CA+8g5KHpk6sr1Mdsqb+71T4ZAuFz22ZjA2TY=s8f-LK=HMCeLQ@HIDDEN>
 <2047803.NnIJQXNAa5@nimes>
In-Reply-To: <2047803.NnIJQXNAa5@nimes>
From: Jim Meyering <jim@HIDDEN>
Date: Tue, 8 Apr 2025 07:26:40 -0700
X-Gm-Features: ATxdqUFK-ophP1DcQJFMbDFNvUwVOS5vBCRWKYCXOiCyMFKN4NLAmgTBvNl7DRw
Message-ID: <CA+8g5KGw9Tm5x2rFvv+EE+vY6=b-2yPVuZ+QTwyadf0DgMK0Lg@HIDDEN>
Subject: Re: bug#77613: grep-3.11.69-a4628 on GNU/Hurd
To: Bruno Haible <bruno@HIDDEN>
Content-Type: multipart/mixed; boundary="000000000000eaa22906324524ea"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77613
Cc: 77613 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000eaa22906324524ea
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 8, 2025 at 12:54=E2=80=AFAM Bruno Haible <bruno@HIDDEN> wrot=
e:
> Hi Jim,
>
> > > So, IMO, there are two bugs:
> > >
> > >   1) When the allocation of the kwset takes more memory than availabl=
e,
> > >      'grep' should exit via xalloc_die(), instead of waiting to be ki=
lled
> > >      by the OOM killer.
> > >
> > >   2) In the 'hash-collision-perf' unit test: The use of a perl primit=
ive
> > >      for measuring the execution time of a child process, that is not
> > >      properly ported to GNU/Hurd.
> >
> > Thanks for reporting that!
> > Adding a timeout should resolve this. Expect to push tomorrow:
>
> No, it does not resolve the problem.
>
> In both of my Hurd machines, with the patch, the 'hash-collision-perf'
> unit test is still running after 20 minutes.
> In the Hurd (32-bit) machine, a 'grep --file=3Din empty' command crashed =
from
> signal 6 (SIGABRT); see attached screenshot.
> Both machines are unresponsive and need to be rebooted.

Oh! Sorry. I made only the final invocation use the timeout. Must use
it in the loop, too.
Here's a better patch:

--000000000000eaa22906324524ea
Content-Type: application/octet-stream; name="gr-Hurd-hang.diff"
Content-Disposition: attachment; filename="gr-Hurd-hang.diff"
Content-Transfer-Encoding: base64
Content-ID: <f_m98lftyv0>
X-Attachment-Id: f_m98lftyv0

RnJvbSA4ZDU0MTc2YzBhMzQ1OTU1ZjYzMDc3OGZhNDgyNjlkMWYzZmY3Y2E4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQG1ldGEuY29tPgpEYXRl
OiBNb24sIDcgQXByIDIwMjUgMjI6NDI6MjIgLTA3MDAKU3ViamVjdDogW1BBVENIXSB0ZXN0czog
aGFzaC1jb2xsaXNpb24tcGVyZjogYXZvaWQgdGVzdCBoYW5nIG9uIEdOVS9IdXJkCgpUaGlzIHRl
c3Qgd291bGQgaGFuZyBvbiBHTlUvSHVyZCBiZWNhdXNlIHRoZSBwZXJsIGNvZGUKd2UgdXNlIHRv
IG1lYXN1cmUgc3Vic2Vjb25kIGR1cmF0aW9uIGlzbid0IHBvcnRlZCwgYW5kCnRoYXQgbG9vcCB3
b3VsZCBuZXZlciB0ZXJtaW5hdGUuCiogdGVzdHMvaGFzaC1jb2xsaXNpb24tcGVyZjogQWRkIGEg
NS1zZWNvbmQgdGltZW91dC4KTm9ybWFsIHBlci1pdGVyYXRpb24gZHVyYXRpb24gaXMgMjAwbXMg
b3IgbGVzcy4KUmVwb3J0ZWQgYnkgQnJ1bm8gSGFpYmxlIGluIGh0dHBzOi8vYnVncy5nbnUub3Jn
Lzc3NjEzCi0tLQogdGVzdHMvaGFzaC1jb2xsaXNpb24tcGVyZiB8IDUgKysrLS0KIDEgZmlsZSBj
aGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdGVz
dHMvaGFzaC1jb2xsaXNpb24tcGVyZiBiL3Rlc3RzL2hhc2gtY29sbGlzaW9uLXBlcmYKaW5kZXgg
YjlhNWI1MS4uZDg0YjkzOSAxMDA3NTUKLS0tIGEvdGVzdHMvaGFzaC1jb2xsaXNpb24tcGVyZgor
KysgYi90ZXN0cy9oYXNoLWNvbGxpc2lvbi1wZXJmCkBAIC0yMiw2ICsyMiw3IEBACiBmYWlsPTAK
CiByZXF1aXJlX3BlcmxfCityZXF1aXJlX3RpbWVvdXRfCgogOiA+IGVtcHR5IHx8IGZyYW1ld29y
a19mYWlsdXJlXwoKQEAgLTMxLDcgKzMyLDcgQEAgcmVxdWlyZV9wZXJsXwogbl9wYXQ9NDAwMDAK
IHdoaWxlIDo7IGRvCiAgIHNlcSAkbl9wYXQgPiBpbiB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KLSAg
c21hbGxfbXM9JChMQ19BTEw9QyB1c2VyX3RpbWVfIDEgZ3JlcCAtLWZpbGU9aW4gZW1wdHkpIHx8
IGZhaWw9MQorICBzbWFsbF9tcz0kKExDX0FMTD1DIHVzZXJfdGltZV8gMSB0aW1lb3V0IDUgZ3Jl
cCAtLWZpbGU9aW4gZW1wdHkpIHx8IGZhaWw9MQogICB0ZXN0ICRzbWFsbF9tcyAtZ2UgMjAwICYm
IGJyZWFrCiAgIG5fcGF0PSQoZXhwciAkbl9wYXQgJyonIDIpCiBkb25lCkBAIC0zOSw3ICs0MCw3
IEBAIGRvbmUKICMgTm93LCBzZWFyY2ggZm9yIHRob3NlIHNhbWUgZGlnaXRzIG1hcHBlZCB0byBB
LUouCiAjIFdpdGggdGhlIFBKVy1iYXNlZCBoYXNoIGZ1bmN0aW9uLCB0aGlzIGJlY2FtZSBPKE5e
MikuCiBzZXEgJG5fcGF0IHwgdHIgMC05IEEtSiA+IGluIHx8IGZyYW1ld29ya19mYWlsdXJlXwot
bGFyZ2VfbXM9JChMQ19BTEw9QyB1c2VyX3RpbWVfIDEgZ3JlcCAtLWZpbGU9aW4gZW1wdHkpIHx8
IGZhaWw9MQorbGFyZ2VfbXM9JChMQ19BTEw9QyB1c2VyX3RpbWVfIDEgdGltZW91dCA1IGdyZXAg
LS1maWxlPWluIGVtcHR5KSB8fCBmYWlsPTEKCiAjIERlbGliZXJhdGVseSByZWNvcmRpbmcgaW4g
YW4gdW51c2VkIHZhcmlhYmxlIHNvIGl0CiAjIHNob3dzIHVwIGluIHNldCAteCBvdXRwdXQsIGlu
IGNhc2UgdGhpcyB0ZXN0IGZhaWxzLgotLSAKMi40OS4wLjE1NC5nOWQyMmFjNTEyMgoK
--000000000000eaa22906324524ea--




Information forwarded to bug-grep@HIDDEN:
bug#77613; Package grep. Full text available.

Message received at 77613 <at> debbugs.gnu.org:


Received: (at 77613) by debbugs.gnu.org; 8 Apr 2025 07:54:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 08 03:54:40 2025
Received: from localhost ([127.0.0.1]:58801 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u23n5-00023t-VX
	for submit <at> debbugs.gnu.org; Tue, 08 Apr 2025 03:54:40 -0400
Received: from mo4-p00-ob.smtp.rzone.de ([85.215.255.22]:37239)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <bruno@HIDDEN>) id 1u23n2-00023X-Qv
 for 77613 <at> debbugs.gnu.org; Tue, 08 Apr 2025 03:54:38 -0400
ARC-Seal: i=1; a=rsa-sha256; t=1744098873; cv=none;
 d=strato.com; s=strato-dkim-0002;
 b=YuZCBfkZSBw9PlGU2DhmerGh6djOAX6trUQdMfW0HKOvJ/9exvEwEx7o8kLbJHZABv
 LDowxZcIIqqMx5v17kc7EHcctzrJz7b2+lVujobhkDsF4XCbNhwMsMbiOTwlOj26EU6J
 dY7yrulYngvlRm0uJ2qQwTOg6782T4086aRHwHYN9SRvmCIApCbzhLxNGWhI0Fzbv4SF
 WOC2S6Jpnw0wIxSofW5+h+mCOc1yP6kP+DvTXAtxhqXqBiShGMObRysQJr1Tl7FodxX2
 /gcPYzFU446cCKKQZMq1Ia4kK8+2FWoK1cr6YmxFoPe5QZL882xJGdUlHGVN7OkZfQIb
 mJ1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1744098873;
 s=strato-dkim-0002; d=strato.com;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=qIArQqsllpb5nsmvKz8TmUeVsR22kTWEqaO+yDLNtPk=;
 b=FY1CZaZg8c7w7ISiDuQOJaHml4QNMSVBYVA8MjdR0lXL8qraE8Jt7ZdTg2qNHbw6Y3
 ax3E3t9nKY5TFDwiycjWy0xG1QaCZ49IPavFsk+e+Uph8jA7TxgsyCrHMHa+IqM2Q2rO
 rGPDVi33emHXqwlcHkPieB6/T3r0MiNiJzxqHLY5cxI26ZCLgj2fL/JZLwA4+41AZzK+
 7+RaDF4aJQAojgj0wCNLe8LIT9mKJKDqm7u7RVrsv86sbn5MUIK6by/kh8/yvtWbX3wM
 hpfD+V428HJuLCaOLqv7I3Z5wsGmJmhWDlzDeB4YQdjnU3iSudTqv7JDC6ET1jdL8wM8
 grog==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo00
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1744098873;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=qIArQqsllpb5nsmvKz8TmUeVsR22kTWEqaO+yDLNtPk=;
 b=RCiiibF+IiZ04+vQABYp6gjpKQxR3zlH3JctgtfT+8YJ3Fb1WSEOFtNdIA051z85ZJ
 j9krXeU63JnShVyvKdbQ64lVwCJpjHHbomFfVElTk9DRE6j5Ej/ABi/l+nJqVBrhwd2B
 32zQ9XPCi+fHyau5gG+XjeJJxwEiXetxpjbV2zcqpUBdlHjtMaLmFIBNlg0ihBoy54O9
 slZ9lJLzjbqBcmlLdu6/TM7naePoesTMwCFnRDlAbKWym6K6WU69z+9Z3zJd4/hpSWeg
 ALRC7qzFkadPGSzkuqPCAkS2odQQKz2aUD4fRp/rzcOmO+ZKnbsVN0wXF8XBVrJOy1wu
 +EHA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1744098873;
 s=strato-dkim-0003; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=qIArQqsllpb5nsmvKz8TmUeVsR22kTWEqaO+yDLNtPk=;
 b=vUq4g/lK8ky2cVlK6Nmufs2CAHuIj/xFe96Cgllw++SqTpNfWhKrOo/3OoLZScEgkQ
 aSOVFjMj+u9EbndEWICA==
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlLnY4jECd2hdUURIbZgL8PX2QiTuZ3cdB8X/nqmmcFTvhkvcyS6W4Yb9/mO9QBnQI"
Received: from nimes.localnet by smtp.strato.de (RZmta 51.3.0 AUTH)
 with ESMTPSA id N7dcf81387sXQ6K
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Tue, 8 Apr 2025 09:54:33 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
To: Jim Meyering <jim@HIDDEN>
Subject: Re: bug#77613: grep-3.11.69-a4628 on GNU/Hurd
Date: Tue, 08 Apr 2025 09:54:33 +0200
Message-ID: <2047803.NnIJQXNAa5@nimes>
Organization: GNU
In-Reply-To: <CA+8g5KHpk6sr1Mdsqb+71T4ZAuFz22ZjA2TY=s8f-LK=HMCeLQ@HIDDEN>
References: <m2r024u0pj.fsf@HIDDEN> <3353032.JoGBPyJhv8@nimes>
 <CA+8g5KHpk6sr1Mdsqb+71T4ZAuFz22ZjA2TY=s8f-LK=HMCeLQ@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="nextPart2114479.o4kTbAZ4gJ"
Content-Transfer-Encoding: 7Bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77613
Cc: 77613 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

This is a multi-part message in MIME format.

--nextPart2114479.o4kTbAZ4gJ
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Hi Jim,

> > So, IMO, there are two bugs:
> >
> >   1) When the allocation of the kwset takes more memory than available,
> >      'grep' should exit via xalloc_die(), instead of waiting to be killed
> >      by the OOM killer.
> >
> >   2) In the 'hash-collision-perf' unit test: The use of a perl primitive
> >      for measuring the execution time of a child process, that is not
> >      properly ported to GNU/Hurd.
> 
> Thanks for reporting that!
> Adding a timeout should resolve this. Expect to push tomorrow:

No, it does not resolve the problem.

In both of my Hurd machines, with the patch, the 'hash-collision-perf'
unit test is still running after 20 minutes.
In the Hurd (32-bit) machine, a 'grep --file=in empty' command crashed from
signal 6 (SIGABRT); see attached screenshot.
Both machines are unresponsive and need to be rebooted.

--nextPart2114479.o4kTbAZ4gJ
Content-Disposition: inline; filename="hurd-hang.png"
Content-Transfer-Encoding: base64
Content-Type: image/png; name="hurd-hang.png"

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


--nextPart2114479.o4kTbAZ4gJ--







Information forwarded to bug-grep@HIDDEN:
bug#77613; Package grep. Full text available.

Message received at 77613 <at> debbugs.gnu.org:


Received: (at 77613) by debbugs.gnu.org; 8 Apr 2025 05:48:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 08 01:48:06 2025
Received: from localhost ([127.0.0.1]:58333 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u21oc-0000sU-EE
	for submit <at> debbugs.gnu.org; Tue, 08 Apr 2025 01:48:06 -0400
Received: from mail-pg1-f177.google.com ([209.85.215.177]:51419)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <meyering@HIDDEN>)
 id 1u21oa-0000rk-GO
 for 77613 <at> debbugs.gnu.org; Tue, 08 Apr 2025 01:48:05 -0400
Received: by mail-pg1-f177.google.com with SMTP id
 41be03b00d2f7-af93cd64ef3so3377791a12.2
 for <77613 <at> debbugs.gnu.org>; Mon, 07 Apr 2025 22:48:04 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744091278; x=1744696078;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=tmzf+43Qhudd4QvkpWivtFvpGgki/uwMh1WdTbfbwpk=;
 b=gzP+Dsv1mvaCpwK//CpgwWbCerSDx+JDPPRzrkDn9aPqfRBJ4NrG0lZJGdXK17E8UO
 YfId50Xf9ynkrc9s5ee6tQ8u3Y0EnNN2tHs7fPJFp6iI1Wh2N8Gpb/Kh9gqHGjM2hLFE
 mUv3Gfn7CK1PCyMT1V7p4qtg9WiwmunexOh82DMqHBsQdv2HmQ0JVnT40nK6NYTjilXS
 WUgTw0LPjCtQPMD2IvlyZ28QhE8ax36M+RiUgYf6qK1TdnXms1OMB+0nZBSllwIAic39
 JyMCYuFrbKNsF1s7WWtpijYMq135JulaF1C/nknH1QcJAY8lGUDkLqlpeDEUiAA6CKSN
 dhwg==
X-Gm-Message-State: AOJu0Yyc0DTx0Qx0NxrdN3hpOacxHABp3+ipcQLOx9G1TL9nzwvcgwT5
 5dBtKIiDSM9RwZiH3JbUxD42axv4nFSp4MUzG2eXTKQtAvH+bGAKGT0RBIli+dgG9/IE8v7/Zmq
 xhzMON2r3rmZyIeP9A/PpMzsQDM4=
X-Gm-Gg: ASbGncsrff4xWHa0oWHuOEXAfMyy6CrwAkn2a6SIWV+QgJDkT5w2S/ERBdHsr1SfpRu
 g3YBpcKPYah82HvpvYIJf4VjAyuE2mMNxB1hD6R/6SqiwxMA7kttQ9zO92jutsW3uG2vDv/PZdX
 5DxGW0z7l4V9GK2/VRKUAowYu6uK53ZYW6SPHEKXRjfA==
X-Google-Smtp-Source: AGHT+IH6i3VSnoEy6KJxblpJUo4IpTV4FNfCusGGf07WgKHmEZcUq8w2vDs/AouqYsLxHtPB9RTuD53T5ftUbjofXAA=
X-Received: by 2002:a17:90b:5150:b0:2ea:37b4:5373 with SMTP id
 98e67ed59e1d1-306a485efd9mr22246721a91.10.1744091278283; Mon, 07 Apr 2025
 22:47:58 -0700 (PDT)
MIME-Version: 1.0
References: <m2r024u0pj.fsf@HIDDEN> <3353032.JoGBPyJhv8@nimes>
In-Reply-To: <3353032.JoGBPyJhv8@nimes>
From: Jim Meyering <jim@HIDDEN>
Date: Mon, 7 Apr 2025 22:47:45 -0700
X-Gm-Features: ATxdqUGv3VjV-SoGSP0-pdcORq2CNVKgmKcvYX4vhf08JeRoLBZWYle-HU7WzDk
Message-ID: <CA+8g5KHpk6sr1Mdsqb+71T4ZAuFz22ZjA2TY=s8f-LK=HMCeLQ@HIDDEN>
Subject: Re: bug#77613: grep-3.11.69-a4628 on GNU/Hurd
To: Bruno Haible <bruno@HIDDEN>
Content-Type: multipart/mixed; boundary="0000000000001965f706323de57b"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77613
Cc: 77613 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000001965f706323de57b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 7, 2025 at 10:34=E2=80=AFAM Bruno Haible via Bug reports for GN=
U
grep <bug-grep@HIDDEN> wrote:
> On
>   - GNU/Hurd x86_64 from 2024,
>   - GNU/Hurd i386 from 2023,
> I see a test hang: hash-collision-perf.
>
> On GNU/Hurd x86_64:
>
> When I interrupted the build, the file 'in' has 5120000 lines, and
> find attached the log file of this test. As you can see, the value of
> small_ms stays 0 even for larger files.
>
> By running
>   $ date; LC_ALL=3DC ../../src/grep --file=3Din empty; date
> I can see that the execution times grow like this:
>   640000  0.3 sec
>  1280000  0.9 sec
>  2560000  1.5 sec
>  5120000  > 60 sec
>
> On GNU/Hurd i386, it's similar. Here it's when the file 'in' has
> 40960000 lines, that the grep execution hangs. Find attached the
> last stack trace I was able to obtain before it hung.
>
> Regardless how much RAM I give to the machine, there will always
> be a point where "grep --file=3Din empty" will take more RAM than
> available, and (since Hurd does not have an OOM killer) the machine
> then hangs.
>
> IMO, the correct behaviour would be that 'grep' exits via xalloc_die(),
> not that it hangs.
>
> Whereas on GNU/Linux (in a machine that has the same amount of RAM as
> the GNU/Hurd machine):
>
>   $ : > empty
>   $ seq 640000 > in; LC_ALL=3DC time ./src/grep --file=3Din empty
>   real 0.44s
>   $ seq 1280000 > in; LC_ALL=3DC time ./src/grep --file=3Din empty
>   real 0.99s
>   $ seq 2560000 > in; LC_ALL=3DC time ./src/grep --file=3Din empty
>   real 2.22s
>   $ seq 5120000 > in; LC_ALL=3DC time ./src/grep --file=3Din empty
>   real 4.84s
>   $ seq 10240000 > in; LC_ALL=3DC time ./src/grep --file=3Din empty
>   real 24.19s
>   $ seq 20480000 > in; LC_ALL=3DC time ./src/grep --file=3Din empty
>   Killed
>   real 24.40s
>
> Here it was the OOM killer that saved the machine from hanging.
>
> So, IMO, there are two bugs:
>
>   1) When the allocation of the kwset takes more memory than available,
>      'grep' should exit via xalloc_die(), instead of waiting to be killed
>      by the OOM killer.
>
>   2) In the 'hash-collision-perf' unit test: The use of a perl primitive
>      for measuring the execution time of a child process, that is not
>      properly ported to GNU/Hurd.

Thanks for reporting that!
Adding a timeout should resolve this. Expect to push tomorrow:

--0000000000001965f706323de57b
Content-Type: application/octet-stream; name="gr-Hurd-hang.diff"
Content-Disposition: attachment; filename="gr-Hurd-hang.diff"
Content-Transfer-Encoding: base64
Content-ID: <f_m982vqjh0>
X-Attachment-Id: f_m982vqjh0

RnJvbSAwNzRmODFhMjBjNjNiM2I3YTM4NzczZjExNjBkZGM3MjM3Y2E3NWE0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQG1ldGEuY29tPgpEYXRl
OiBNb24sIDcgQXByIDIwMjUgMjI6NDI6MjIgLTA3MDAKU3ViamVjdDogW1BBVENIXSB0ZXN0czog
aGFzaC1jb2xsaXNpb24tcGVyZjogYXZvaWQgdGVzdCBoYW5nIG9uIEdOVS9IdXJkCgpUaGlzIHRl
c3Qgd291bGQgaGFuZyBvbiBHTlUvSHVyZCBiZWNhdXNlIHRoZSBwZXJsIGNvZGUKd2UgdXNlIHRv
IG1lYXN1cmUgc3Vic2Vjb25kIGR1cmF0aW9uIGlzbid0IHBvcnRlZCwgYW5kCnRoYXQgbG9vcCB3
b3VsZCBuZXZlciB0ZXJtaW5hdGUuCiogdGVzdHMvaGFzaC1jb2xsaXNpb24tcGVyZjogQWRkIGEg
NS1zZWNvbmQgdGltZW91dC4KTm9ybWFsIHBlci1pdGVyYXRpb24gZHVyYXRpb24gaXMgMjAwbXMg
b3IgbGVzcy4KUmVwb3J0ZWQgYnkgQnJ1bm8gSGFpYmxlIGluIGh0dHBzOi8vYnVncy5nbnUub3Jn
Lzc3NjEzCi0tLQogdGVzdHMvaGFzaC1jb2xsaXNpb24tcGVyZiB8IDMgKystCiAxIGZpbGUgY2hh
bmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvdGVzdHMv
aGFzaC1jb2xsaXNpb24tcGVyZiBiL3Rlc3RzL2hhc2gtY29sbGlzaW9uLXBlcmYKaW5kZXggYjlh
NWI1MS4uMTdlYzZmNyAxMDA3NTUKLS0tIGEvdGVzdHMvaGFzaC1jb2xsaXNpb24tcGVyZgorKysg
Yi90ZXN0cy9oYXNoLWNvbGxpc2lvbi1wZXJmCkBAIC0yMiw2ICsyMiw3IEBACiBmYWlsPTAKCiBy
ZXF1aXJlX3BlcmxfCityZXF1aXJlX3RpbWVvdXRfCgogOiA+IGVtcHR5IHx8IGZyYW1ld29ya19m
YWlsdXJlXwoKQEAgLTM5LDcgKzQwLDcgQEAgZG9uZQogIyBOb3csIHNlYXJjaCBmb3IgdGhvc2Ug
c2FtZSBkaWdpdHMgbWFwcGVkIHRvIEEtSi4KICMgV2l0aCB0aGUgUEpXLWJhc2VkIGhhc2ggZnVu
Y3Rpb24sIHRoaXMgYmVjYW1lIE8oTl4yKS4KIHNlcSAkbl9wYXQgfCB0ciAwLTkgQS1KID4gaW4g
fHwgZnJhbWV3b3JrX2ZhaWx1cmVfCi1sYXJnZV9tcz0kKExDX0FMTD1DIHVzZXJfdGltZV8gMSBn
cmVwIC0tZmlsZT1pbiBlbXB0eSkgfHwgZmFpbD0xCitsYXJnZV9tcz0kKExDX0FMTD1DIHVzZXJf
dGltZV8gMSB0aW1lb3V0IDUgZ3JlcCAtLWZpbGU9aW4gZW1wdHkpIHx8IGZhaWw9MQoKICMgRGVs
aWJlcmF0ZWx5IHJlY29yZGluZyBpbiBhbiB1bnVzZWQgdmFyaWFibGUgc28gaXQKICMgc2hvd3Mg
dXAgaW4gc2V0IC14IG91dHB1dCwgaW4gY2FzZSB0aGlzIHRlc3QgZmFpbHMuCi0tIAoyLjQ5LjAu
MTU0Lmc5ZDIyYWM1MTIyCgo=
--0000000000001965f706323de57b--




Information forwarded to bug-grep@HIDDEN:
bug#77613; Package grep. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 7 Apr 2025 17:33:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 07 13:33:35 2025
Received: from localhost ([127.0.0.1]:56696 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u1qLm-0000Lx-ES
	for submit <at> debbugs.gnu.org; Mon, 07 Apr 2025 13:33:35 -0400
Received: from lists.gnu.org ([2001:470:142::17]:40022)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <bruno@HIDDEN>) id 1u1qLi-0000L7-Ch
 for submit <at> debbugs.gnu.org; Mon, 07 Apr 2025 13:33:31 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <bruno@HIDDEN>) id 1u1qLL-0006fg-86
 for bug-grep@HIDDEN; Mon, 07 Apr 2025 13:33:09 -0400
Received: from mo4-p00-ob.smtp.rzone.de ([85.215.255.23])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <bruno@HIDDEN>) id 1u1qLH-0001PZ-W0
 for bug-grep@HIDDEN; Mon, 07 Apr 2025 13:33:06 -0400
ARC-Seal: i=1; a=rsa-sha256; t=1744047180; cv=none;
 d=strato.com; s=strato-dkim-0002;
 b=R3VR2kW9YVn0NPVpK7cVbeBC8DRaJ/F4ZMPhtEO8fOvG/8dZT1gqITLXg0XRh2YBPs
 pl3a4R19DUDcN0Niy7C3jjGb7mNZszGYXOt85iU89F7IDhGo+tiZDSqe/2MESCaSlPJ6
 1ZLvCBWGv7OjBhPLVZGzm/n4Z7oGwrgenNGX0INEsjscIx9wAQk0667sFg2DZRD7pQ0j
 oWzofGG4sjuCv3bKm4L3JBaMhuY65sLiQJUInua+IhBLfkaUlqFjnQQHqgJd5gn/DT63
 S3hOmJBYYrk1pKeFygTX3ndc6kINmCuVipflVS+/eHYnePTl8i2uxreHU8SwbjOi9e0e
 ZICA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1744047180;
 s=strato-dkim-0002; d=strato.com;
 h=References:In-Reply-To:Message-ID:Date:Subject:To:From:Cc:Date:From:
 Subject:Sender;
 bh=dKuQjinzWhxJ6lsh0c6oiAFxVlwhLkGRBFqEPFmAHpQ=;
 b=sdQbsuHXMQbaXH7bz+z/NSh0GEeh0j0s+y86yBt9ZHUetyY+4JMPTc+X3JxkdUuYbu
 MwXjE3cnqpiVk7kM/I0q1Uti0Eq5IGHIvKRj3ucrLiV27cOIpUR3zexG4sTGq+qyJ8rA
 woGxe+0vuUiCpTew30iP42z8HtJjhb0gkQqVCMuitwT+PdNzawf/dlMqb4CCocYaC4Vz
 sf79Bv0lpAuPF9ZefD4JW/8L2HXztWeU1L59UDqCQ4SCTw4f110uSCNQHHmkwGEFRDFX
 tIqgXGh+Q7SOXtMiJn7ir2N/EXdIZwJz4M+wcZ1SEO7YyN0KokYVR6eW9+vI/pEewWw1
 Fp0g==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo00
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1744047180;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:To:From:Cc:Date:From:
 Subject:Sender;
 bh=dKuQjinzWhxJ6lsh0c6oiAFxVlwhLkGRBFqEPFmAHpQ=;
 b=NUaQXI3dkcv/578dQ80ARihBryMX4sFxpbvAhMHuE+cn5cq3/uEGba/QKAAxZCCbfi
 QwjNAX7nu9u+NJrQnnlWZ2Pp2KoAWmlnSs7zBjohnDYsAiX6zw+Z8eF1PG7e+cB3kKoL
 HNYrrWcVVaQCsL1GQiyeU5QXEtNpmLX+5lYfD2ehytnDAGi6qd6oYeFCNQBP9796UHNO
 xoMr/OH7pqzigOUyqDxxBF9M3CMg4mjLxAa0UlQ6j4zK1DySi7pz8tF8tsOVYrBOOlrL
 WnQuunnPkhy741oUszavCt+BRuydf0ntKTfcvCURaacpgNqoPT6WrXHDnWd2LvC0FE9m
 Fv6g==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1744047180;
 s=strato-dkim-0003; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:To:From:Cc:Date:From:
 Subject:Sender;
 bh=dKuQjinzWhxJ6lsh0c6oiAFxVlwhLkGRBFqEPFmAHpQ=;
 b=SOnSMHe9YBlUSYid5c+0U2ebsp0PAKDXDqTOtD2hSuhzSTJhmkos8mjqj6l3aJKakz
 DkUwCR36djwjZvwQMwBQ==
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlLnY4jECd2hdUURIbZgL8PX2QiTuZ3cdB8X/nqmiYFWMbvteGGfKaAeIFhoa2LeU="
Received: from nimes.localnet by smtp.strato.de (RZmta 51.3.0 AUTH)
 with ESMTPSA id N7dcf8137HX0OHR
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Mon, 7 Apr 2025 19:33:00 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
To: bug-grep@HIDDEN
Subject: Re: grep-3.11.69-a4628 on GNU/Hurd
Date: Mon, 07 Apr 2025 19:33:00 +0200
Message-ID: <3353032.JoGBPyJhv8@nimes>
Organization: GNU
In-Reply-To: <m2r024u0pj.fsf@HIDDEN>
References: <m2r024u0pj.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="nextPart2434568.3c9HiEOlIg"
Content-Transfer-Encoding: 7Bit
Received-SPF: none client-ip=85.215.255.23; envelope-from=bruno@HIDDEN;
 helo=mo4-p00-ob.smtp.rzone.de
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DC_PNG_UNO_LARGO=0.001,
 DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

This is a multi-part message in MIME format.

--nextPart2434568.3c9HiEOlIg
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

On
  - GNU/Hurd x86_64 from 2024,
  - GNU/Hurd i386 from 2023,
I see a test hang: hash-collision-perf.

On GNU/Hurd x86_64:

When I interrupted the build, the file 'in' has 5120000 lines, and
find attached the log file of this test. As you can see, the value of
small_ms stays 0 even for larger files.

By running
  $ date; LC_ALL=C ../../src/grep --file=in empty; date
I can see that the execution times grow like this:
  640000  0.3 sec
 1280000  0.9 sec
 2560000  1.5 sec
 5120000  > 60 sec

On GNU/Hurd i386, it's similar. Here it's when the file 'in' has
40960000 lines, that the grep execution hangs. Find attached the
last stack trace I was able to obtain before it hung.

Regardless how much RAM I give to the machine, there will always
be a point where "grep --file=in empty" will take more RAM than
available, and (since Hurd does not have an OOM killer) the machine
then hangs.

IMO, the correct behaviour would be that 'grep' exits via xalloc_die(),
not that it hangs.

Whereas on GNU/Linux (in a machine that has the same amount of RAM as
the GNU/Hurd machine):

  $ : > empty
  $ seq 640000 > in; LC_ALL=C time ./src/grep --file=in empty
  real 0.44s
  $ seq 1280000 > in; LC_ALL=C time ./src/grep --file=in empty
  real 0.99s
  $ seq 2560000 > in; LC_ALL=C time ./src/grep --file=in empty
  real 2.22s
  $ seq 5120000 > in; LC_ALL=C time ./src/grep --file=in empty
  real 4.84s
  $ seq 10240000 > in; LC_ALL=C time ./src/grep --file=in empty
  real 24.19s
  $ seq 20480000 > in; LC_ALL=C time ./src/grep --file=in empty
  Killed
  real 24.40s

Here it was the OOM killer that saved the machine from hanging.

So, IMO, there are two bugs:

  1) When the allocation of the kwset takes more memory than available,
     'grep' should exit via xalloc_die(), instead of waiting to be killed
     by the OOM killer.

  2) In the 'hash-collision-perf' unit test: The use of a perl primitive
     for measuring the execution time of a child process, that is not
     properly ported to GNU/Hurd.

Bruno

--nextPart2434568.3c9HiEOlIg
Content-Disposition: attachment; filename="hash-collision-perf.log"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-log; charset="x-UTF_8J"; name="hash-collision-perf.log"

++ initial_cwd_=/home/bruno/grep-3.11.69-a4628/build/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /home/bruno/grep-3.11.69-a4628/build/tests gt-hash-collision-perf.XXXX
+++ case $# in
+++ destdir_=/home/bruno/grep-3.11.69-a4628/build/tests
+++ template_=gt-hash-collision-perf.XXXX
+++ MAX_TRIES_=4
+++ case $destdir_ in
+++ destdir_slash_=/home/bruno/grep-3.11.69-a4628/build/tests/
+++ case $template_ in
++++ unset TMPDIR
+++ d=/home/bruno/grep-3.11.69-a4628/build/tests/gt-hash-collision-perf.bCSE
+++ case $d in
+++ :
+++ test -d /home/bruno/grep-3.11.69-a4628/build/tests/gt-hash-collision-perf.bCSE
++++ ls -dgo /home/bruno/grep-3.11.69-a4628/build/tests/gt-hash-collision-perf.bCSE
+++ perms='drwx------ 2 4096 Apr  7 15:55 /home/bruno/grep-3.11.69-a4628/build/tests/gt-hash-collision-perf.bCSE'
+++ case $perms in
+++ :
+++ echo /home/bruno/grep-3.11.69-a4628/build/tests/gt-hash-collision-perf.bCSE
+++ return
++ test_dir_=/home/bruno/grep-3.11.69-a4628/build/tests/gt-hash-collision-perf.bCSE
++ cd /home/bruno/grep-3.11.69-a4628/build/tests/gt-hash-collision-perf.bCSE
++ case $srcdir in
++ srcdir=../../../tests
++ builddir=..
++ export srcdir builddir
++ 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
++ saved_IFS=' 	
'
++ IFS=:
++ new_PATH=
++ for dir in $PATH
++ IFS=' 	
'
++ case "$dir" in
++ test -d /home/bruno/grep-3.11.69-a4628/build/src/.
++ new_PATH=/home/bruno/grep-3.11.69-a4628/build/src
++ for dir in $PATH
++ IFS=' 	
'
++ case "$dir" in
++ for dir in $PATH
++ IFS=' 	
'
++ case "$dir" in
++ test -d /usr/local/bin/.
++ new_PATH=/home/bruno/grep-3.11.69-a4628/build/src:/usr/local/bin
++ for dir in $PATH
++ IFS=' 	
'
++ case "$dir" in
++ test -d /usr/bin/.
++ new_PATH=/home/bruno/grep-3.11.69-a4628/build/src:/usr/local/bin:/usr/bin
++ for dir in $PATH
++ IFS=' 	
'
++ case "$dir" in
++ test -d /bin/.
++ new_PATH=/home/bruno/grep-3.11.69-a4628/build/src:/usr/local/bin:/usr/bin:/bin
++ for dir in $PATH
++ IFS=' 	
'
++ case "$dir" in
++ test -d /usr/local/games/.
++ new_PATH=/home/bruno/grep-3.11.69-a4628/build/src:/usr/local/bin:/usr/bin:/bin:/usr/local/games
++ for dir in $PATH
++ IFS=' 	
'
++ case "$dir" in
++ test -d /usr/games/.
++ new_PATH=/home/bruno/grep-3.11.69-a4628/build/src:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
++ IFS=' 	
'
++ PATH=/home/bruno/grep-3.11.69-a4628/build/src:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ case $path_dir_ in
+ abs_path_dir_=/home/bruno/grep-3.11.69-a4628/build/tests/../src
+ case $abs_path_dir_ in
+ PATH=/home/bruno/grep-3.11.69-a4628/build/tests/../src:/home/bruno/grep-3.11.69-a4628/build/src:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
+ create_exe_shims_ /home/bruno/grep-3.11.69-a4628/build/tests/../src
+ case $EXEEXT in
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ require_perl_
+ test perl
+ perl -e 'use warnings'
+ :
+ n_pat=40000
+ :
+ seq 40000
++ LC_ALL=C
++ user_time_ 1 grep --file=in empty
++ perl -le '
    my $expected_exit_status = $ARGV[0];
    shift @ARGV;

    system (@ARGV);
    my ($user, $system, $child_user, $child_system) = times;

    my $me = q(hash-collision-perf);
    $? == -1
      and die qq($me: failed to exec ") . join (" ", @ARGV) . qq(": $!\n);
    my $rc = $?;
    my $sig = ($rc & 127);
    $sig and die "$me: child died with signal $sig\n";
    $rc >>= 8;
    $rc == $expected_exit_status
      or die "$me: bad exit status: expected $expected_exit_status; got $rc\n";

    # Print milliseconds of child user time.
    $child_user *= 1000;
    print int ($child_user + 0.5)' 1 grep --file=in empty
+ small_ms=0
+ test 0 -ge 200
++ expr 40000 '*' 2
+ n_pat=80000
+ :
+ seq 80000
++ LC_ALL=C
++ user_time_ 1 grep --file=in empty
++ perl -le '
    my $expected_exit_status = $ARGV[0];
    shift @ARGV;

    system (@ARGV);
    my ($user, $system, $child_user, $child_system) = times;

    my $me = q(hash-collision-perf);
    $? == -1
      and die qq($me: failed to exec ") . join (" ", @ARGV) . qq(": $!\n);
    my $rc = $?;
    my $sig = ($rc & 127);
    $sig and die "$me: child died with signal $sig\n";
    $rc >>= 8;
    $rc == $expected_exit_status
      or die "$me: bad exit status: expected $expected_exit_status; got $rc\n";

    # Print milliseconds of child user time.
    $child_user *= 1000;
    print int ($child_user + 0.5)' 1 grep --file=in empty
+ small_ms=0
+ test 0 -ge 200
++ expr 80000 '*' 2
+ n_pat=160000
+ :
+ seq 160000
++ LC_ALL=C
++ user_time_ 1 grep --file=in empty
++ perl -le '
    my $expected_exit_status = $ARGV[0];
    shift @ARGV;

    system (@ARGV);
    my ($user, $system, $child_user, $child_system) = times;

    my $me = q(hash-collision-perf);
    $? == -1
      and die qq($me: failed to exec ") . join (" ", @ARGV) . qq(": $!\n);
    my $rc = $?;
    my $sig = ($rc & 127);
    $sig and die "$me: child died with signal $sig\n";
    $rc >>= 8;
    $rc == $expected_exit_status
      or die "$me: bad exit status: expected $expected_exit_status; got $rc\n";

    # Print milliseconds of child user time.
    $child_user *= 1000;
    print int ($child_user + 0.5)' 1 grep --file=in empty
+ small_ms=0
+ test 0 -ge 200
++ expr 160000 '*' 2
+ n_pat=320000
+ :
+ seq 320000
++ LC_ALL=C
++ user_time_ 1 grep --file=in empty
++ perl -le '
    my $expected_exit_status = $ARGV[0];
    shift @ARGV;

    system (@ARGV);
    my ($user, $system, $child_user, $child_system) = times;

    my $me = q(hash-collision-perf);
    $? == -1
      and die qq($me: failed to exec ") . join (" ", @ARGV) . qq(": $!\n);
    my $rc = $?;
    my $sig = ($rc & 127);
    $sig and die "$me: child died with signal $sig\n";
    $rc >>= 8;
    $rc == $expected_exit_status
      or die "$me: bad exit status: expected $expected_exit_status; got $rc\n";

    # Print milliseconds of child user time.
    $child_user *= 1000;
    print int ($child_user + 0.5)' 1 grep --file=in empty
+ small_ms=0
+ test 0 -ge 200
++ expr 320000 '*' 2
+ n_pat=640000
+ :
+ seq 640000
++ LC_ALL=C
++ user_time_ 1 grep --file=in empty
++ perl -le '
    my $expected_exit_status = $ARGV[0];
    shift @ARGV;

    system (@ARGV);
    my ($user, $system, $child_user, $child_system) = times;

    my $me = q(hash-collision-perf);
    $? == -1
      and die qq($me: failed to exec ") . join (" ", @ARGV) . qq(": $!\n);
    my $rc = $?;
    my $sig = ($rc & 127);
    $sig and die "$me: child died with signal $sig\n";
    $rc >>= 8;
    $rc == $expected_exit_status
      or die "$me: bad exit status: expected $expected_exit_status; got $rc\n";

    # Print milliseconds of child user time.
    $child_user *= 1000;
    print int ($child_user + 0.5)' 1 grep --file=in empty
+ small_ms=0
+ test 0 -ge 200
++ expr 640000 '*' 2
+ n_pat=1280000
+ :
+ seq 1280000
++ LC_ALL=C
++ user_time_ 1 grep --file=in empty
++ perl -le '
    my $expected_exit_status = $ARGV[0];
    shift @ARGV;

    system (@ARGV);
    my ($user, $system, $child_user, $child_system) = times;

    my $me = q(hash-collision-perf);
    $? == -1
      and die qq($me: failed to exec ") . join (" ", @ARGV) . qq(": $!\n);
    my $rc = $?;
    my $sig = ($rc & 127);
    $sig and die "$me: child died with signal $sig\n";
    $rc >>= 8;
    $rc == $expected_exit_status
      or die "$me: bad exit status: expected $expected_exit_status; got $rc\n";

    # Print milliseconds of child user time.
    $child_user *= 1000;
    print int ($child_user + 0.5)' 1 grep --file=in empty
+ small_ms=0
+ test 0 -ge 200
++ expr 1280000 '*' 2
+ n_pat=2560000
+ :
+ seq 2560000
++ LC_ALL=C
++ user_time_ 1 grep --file=in empty
++ perl -le '
    my $expected_exit_status = $ARGV[0];
    shift @ARGV;

    system (@ARGV);
    my ($user, $system, $child_user, $child_system) = times;

    my $me = q(hash-collision-perf);
    $? == -1
      and die qq($me: failed to exec ") . join (" ", @ARGV) . qq(": $!\n);
    my $rc = $?;
    my $sig = ($rc & 127);
    $sig and die "$me: child died with signal $sig\n";
    $rc >>= 8;
    $rc == $expected_exit_status
      or die "$me: bad exit status: expected $expected_exit_status; got $rc\n";

    # Print milliseconds of child user time.
    $child_user *= 1000;
    print int ($child_user + 0.5)' 1 grep --file=in empty
+ small_ms=0
+ test 0 -ge 200
++ expr 2560000 '*' 2
+ n_pat=5120000
+ :
+ seq 5120000

--nextPart2434568.3c9HiEOlIg
Content-Disposition: attachment; filename="last-stacktrace.png"
Content-Transfer-Encoding: base64
Content-Type: image/png; name="last-stacktrace.png"

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
4GnxPdR7OXJTdeRYEY+Yz/JVRjfCMx04j5QSv2ACAPBgl9tQH7J5SF+lpZWzZkPZ6idr5awZa4ba
PLKZ84mMtYdov6283qa69Zx61uQCAIBDnf4jH/pHU1ovlW36MZGXVy5ZfqxLFMnRjaK2R2gfOaY0
T3O0Pcc8Za7maD9ab8Va8jG9PLVirNZ17r1WND+SAwAA2n58fV2emZn9/vWzbAMAAADQ8HZ7v95H
PgAAAIAzYUMNAAAAbMCGGgAAANiADTUAAACwARvqy0hf5Rz0myFglv5oBI/yDM+F+xrzYsDRTngd
uq8X4EDVr80r/4VC718rzFptc9W+82ytXj/6ouzlee3aR9bK9dqyZP32kuZqe6Z5zytvsJZ/vsfP
LP3Zf75HjPHs9ljDo95XZ3zNqG5ktC9tzzQva5279tXLq7VnrbHM4v1Mkc/tiLEiUjpkLpHnNJKT
vwLUawMO8XZ7/8jFzP4tKSX3sebU2uaWcowt4/X6GYn12lul189omxfTEsl5rpL+3Mdmltn9z+7P
K0eM8Yhy5HntMVb1fbUWHyiR9/he8Y7zYlpqOa2fKV68F/Pay7Zeu/d413LUOGWpjVmL99pWFG9d
Nab1WqwVp1D2Lm+394/hj3ykw34T1Luzy1espHWz+1ikn4iz9XO8lOr/3HWO55xaXk++o5z+/C0q
kjNTOU5rrF5Or58yXssx6/djFsspRXI8Ot9aP735eDGz+3ivn6yVE4nleqsfFclpCb23pvS3DNAx
8t29ktZrsVl0TiO0D++8zO7zlLbX+jlU+Zx7c8mxVo5ZvF0fe3p9HewUzxNe1t1HPsqLsXVhtt6M
MEu5/vmxrrvWI5KNHfep96alP4y0HpX+2Lf/la51L6b1Wbx+I7Fe3YvlxxoveW0a03otlrXaIvT4
Xr0Wy2ptXjwS03qUHqf1UqttmpTMyteT1GuvzZHX4B5q7wdebC9HjjWFPufR2Nq62d+611bS9oHr
MPI8RHKAM7jbUOfNUr6Ia29+57KYfdskjm4Ycz8aGzGjnzXnU47Xy93XrOslsjGJ5BxpZD5HHWNW
P27GRnDr8Vt4Y3uxEdF+ZqxhSOf1Ne31F/hZkHOO4I2l83l5R65HZ6w1z035vLaOy3mtHOBR7jbU
17XY303l6IvN27h6sR4vf6SfNcq+9x7rMQ7ZrOxs+edz45Ufb5H72eqwjaDNm/PZHLmGRyo3sbVN
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
PzNExtIcrcfpD2qzPZ/3v7w71fr5aO8jHd5m3Ls7XeZ4/UREx3qYZTFL6fO/Gm8JI7sAACAASURB
VPMeezllTOu9nKw2zgrlpnHL9Vdez7P68ealm9wcU5Hz6o2V67W2kjcvAMB6P77+QRczM/v962fZ
BuAiWnchgRauHQDY5u32foWPfADoYUOEEWymAWAONtQA8KLYTAPAHGyoAQAAgA3YUOPp6R9daR0A
AGALNtSoYuMJAADQN/y1eYdLafgrtlabNFbka6t6dFPb6uuoPzAq56Tj6XyzMi+Sk81Yw5491q3V
p56/5ml7pnlm7fVZ009Wm7f2NZJT63uLVp+R+Xg0z+xc62zWn48X36LVZ2/O2p5pnln/vDxeblab
t/bl5WStPrz4Fq0+e3PW9kzzzM61zr2cWt9btPqMzMejeWasc6vPyHw8mmd2onV+u71/5GJm5y0p
3cf2KhPGSkUf5eM1xTvOi+V4rW20eP15sV6JHOPlzFhD79hefWtpPRdeXGNar5WR9Wnl1eYdiWnd
i2l9a6nNN7f1YlqvlTOts8Z67TNKbb65rRfTeq30zssrrbzavKOxVh+tY0bL2rE0pvVaOdM6a92L
aX1rqc03t/ViWq8V1tmfb27rxbReK2dZ57fb+8f5P/KR0mfRxyq31XIisehYHUl+u1mW+388Qeu1
WISO50np819Ey8UTae+NM4uO5a1hlM7Zq/f6zu1nWSMdJ3IOLdrfHiJzZJ3b9HhvPl5Msc59vT4i
c2Sdt4vMkXXeLjJH1rnt/B/5yCeX0t/HymvzYj2BsWpP1pYnoSbaZy/Pu0g05tVn0H49kZy95Rdi
ax7arnWz/nPxSN58W/E9sM738T2wzvfxtSJ9sM738TWix7PO9/E1osezzvfxNc6/oZ5lWcxSsVEu
H6+wdcEzvXBbT2ZKfze3tZy1ev3k+SmN9fp5JjPOtbauSnNmjO1pXXeZN2c9xssZpX2PiM5Hc2aM
7Rld5z315hMRnbPmzBjbwzpfd51zbq/fmtHjStE5a86MsT2z17nM6/VbM3pcKTpnzZkxtmfWOj/P
hrpzomZmtix/8zqLd4TyCWo9mWVb5Infk4796PnMlJ+Pvc9H+9cXqbabPXadvbG9mNb1vDLWuU7H
1jmvwTrX6dg65zVY5zodW+ecRebJOtfp2DrnrMyrzZl1rtOxdc7Ps6F+4CLDF7n4IznYrrXO+qbQ
ykVba+1Y53laa8c6z9Nau1nrPHrcM2mtwax1RnvtZqzz82yoI1L6u/EuH6+gi56tXXiz70+Y9+R5
MexrWY757fws9DyPOnfW+ZhzZ52POXfWeezc1x7HOo+d+9rjWOexcz//t3yMSrLxTbKBXpb7nIBl
WdyiOano23tyNKbH7K03Vq99b7oeul570rH35J1XZGydo9fPI0Xmo+ewJ28+kbF1jl4/e/HGGpmP
HrMnbz6RsXWOXj97mTWWnsOevDlHxtY5ev3sZdZYeg578uYcGVvn6PWzl1lj6TnsyZtzZGydo9fP
XryxrnOHelnM8sLpgpVtZWxUa6yg8onWRY/SiyXHlF5QZt/zIv1ojtZbsb3MWMOj9Z6LMm5235Zj
kXU+an2i8+md10zPuM5m/TmbPW4+tTF7c77qOkfOfZbIWL05P8M6Z7XcrV51naNznuVV1/nH1z/o
YmZmv3/9LNsAAAAANLzd3p/4Ix8AAADAAdhQAwAAABuwoQYAAAA2YEMNAAAAbMCGGgAAANig+7V5
Kd1/154X26rVZ++rU7Q90zyz+le4mK3rJ6vNW/vSHG3Pyrxa31u0+tQ5aZ62Z5pndp51zso8zan1
vUWrz96ctT3TPLPzrLO2Z2Vere8tWn3qnDRP2zPNMzvPOpv1c2p9b9HqMzIfj+aZsc6tPiPz8Wie
2fZ1juRkrbGyVk5rTUa1+tRz0zxtzzTPrH9enj3X2ax+7rX4Fq0+9dw0T9szzTNrn3ukn0hO1hrL
3m7vH7mY2beSUvpIKblxjW0ptXFyWy+m9Vop80aO0VKbdySmda9EctaU2nxzWy+m9Vo50zrXYmva
15bafHNbL6b1WjnbOmvRHK1vLbX55rZeTOu1cqZ11roX0/rWUptvbuvFtF4rrLM/39zWi2m9Vmas
s9ZrJTJWL8eLbSmvus65rdZei4+WtWNpTOu1Ej332jFevVZaY73d3j+qH/lIjd8sluX+C7dVbk8p
/Vs8rXFm0nEi59Ci/e0hMkfWuS1yfGSOrPN2kTmyzttF5sg6bxeZ47Ovc0tkrEiOF1Osc38szVO1
40qsc3ssd0OtB3q8zlTuJxcvvzfOI9XWoRbfQ23dSqzzdrV1K7HOcbU+a+tWYp23q61biXXerrZu
pWdd5yPV1q3EOrdF+q6tW4l1rrv7DPXMwWb0U3vClObMGNsTWZ+j5zx6XOnoOfewznPm3DNznWfp
zSciOmfNmTG2Z9Y6ezm9fmtGjyt58/FozoyxPXuu86jefCKi89GcGWPXHDlWxIzxWee+GeM/6zrf
bajXyIsyMvAa2n/kxI+YV4uOvWXOrHOdjq1zNvNzNGbGOrfo2DrnNVjnOh1b5+zNz4uZsc4tOrbO
2SyWY/aa6+z1uddYGev8aa+xMtb508hY7oZaT2yk46trnTPrM09r7VjneVprN3udtx5/Za1zn73O
r6y1dqzzPKzdMVjnY+y9zncbah2sN4FlOea3mbPQ8zzq3FnnY86ddT7m3FnnY86ddT7m3F9tnR+F
dT4G6zzG/aPEtfLiH8F7kiNj6xy9fvbijRWZs9Jz2NPonHWOXj97mTWWnsOevDlHxtY5ev3sZdZY
eg578uYcGVvn6PWzl1lj6TnsyZtzZGydo9fPXiJjRXL0HPbkzScyts7R6ydi1liRHKXH7MmbT2Rs
naPXT8SRYyntd0/enCNj6xy9fiJmjXV3h/poOkGzz4mXyhxtyzFdkF6e1z7TrDnPwjp/j+3lVdf5
aK+6ztE5z/Kq62wWy5nlaus8c6xIziyvvM6Rc58lMtYzrvOPr3/QxczMfv/6WbYBAAAAaHi7vc/5
yAcAAADwqthQAwAAABuwoQYAAAA2YEMNAAAAbMCGGgAAANjA/dq83teHpHT//XtbtfqMzMejeWb1
r3Axi/UTyclaY5nd96V5rTUZ1eozMh+P5pm1zz3STyQna42lvPP3Ylu1+tRz0zxtzzTPrH3ukX4i
OdmMsbxjt2j1qXPSPG3PNM9szrl7Wv15bVnZn+a11mRUq089N83T9kzzzNrnHuknkpPNGMs7dotW
nzonzdP2TPPM5py7p9Wf12Z235fmtdZkVKvPyHw8mmfWPvdIP5GcrDWW2X1fmtdak1GtPiPz8Wie
WfvcI/1EckrV83q7vX/kYmYfKaUPM/tWNKb1rSWlVO3Ti2tM67VS5o0c49VrpTdWJKb1reUV11lz
vRwvtqXUxsltvZjWa2XNudfytF4rvbG8mJZIzpryiuvcikfb15ZXXWctmqf1reUV1zkS0/rWwjr7
Ma1vLc+4zjnXy3+7vX8MfeRjWe6/BFvl9pTSv8WTajv9yXScyDmMmjVW5DjWOTaW5pZax2Ws8/ax
Isexzu2xNMfjHadY5+1jRY5jnbePFTmOdd4+VuS4V15ns/vx1N2GupVcikw8D56Llx8d7xF6i7dF
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
T9meH2teL0fHyTEAAHBOP77+QRczM/v962fZBuDLM3xtHX8LAQDAfG+39yt85APADGymAQDYBxtq
IODqd6cBAMB+2FADAAAAG7ChBibSP9bVOgAAeD5sqAEAAIANXm9DHbljGMk5mZTS5ruhuY9WX5Ec
s9h8jswx698tjvYzS22sWnxE+Vx5/XqxUUeOVfL69WIj9Jy8c9P6VrVxctsMej7eeFrfojVObp/l
yLGyXp+1uZj1jx0R6bOWU4tv0erzbM/X2eZT8vK82Fa1PnVtvDXS+gy9PmtzyW2z1foc+h5qnEtK
f78OrXy8hnecxrQeiXntGt87x6z+Asii/czSm88M3nl4sRm8fr3YbEes497nUDpizcz8c9prLb1z
8mIzeP16sZl663bG95ZIziytsbz18GIzXWk+pWjeVr1x9lwLT28+ez8/qjmft9v7Ry5mdr6S0t//
5qI52u7laPtojpfntWveSE6gJOc4jWndi2ndi2ndi2ndi2ndi2ndi2m9F/PaanEvNqv05tNr0z5y
qeWMxLz2s4zl5WpbK67trbG8mFd6eWcbyytenhfz2ltjbYl57WcZS/O0rRaPxrz2rfNZm1Mrs+bj
xaMxr/3Z5hPNq8W1fet8anEtvbxnnM/b7f3jGhtqnXyvXou14tEcr01j0Tl7saJePrm1J1rrXkzr
tZgWzdG6F9O6F9O6F9O6F9N6LdZr8+JebHbpjdFqTyl2LWip5dTiuU3bte6VWk4tntu0Xesa89qj
bdreq7dKK/dsY2lptffatL1Xr8Va8dym7b16LdaK5zZt13qkzYt7sVY8t2m71qNt0ZxW+x7z6eXW
4rlN27UebdNSy63Fc5u2a32kLZqnZdZ8anGvtHKfcT5vt/ePa3zko3c7v9f+CJE5dXJm/W+MZfn8
p+Kj/9sxff0vDc3J/WgMj7Fm7WvPaVT0uPL6iB6jesf1rt81Iv3MuuYjxx051iy9sWa+b/SO88Ya
1RvraM8+n6PeoyKOeB+LOPq9LkJfX6P9jh6nzjSfa2yoIya9iYaMjDXhydqi/EHTunBaL2CvzYth
jvycbV3fSB+zxiqPr/U3a6yIrWN5x9X62zqW2f14tf5mjBW1dSzvWC9mtn0sM38NPTPGmumV5xMZ
58j5lGPUxjxyPhFHzMfruzbmEfMxu59Tbcwj5vMcG+qUzHSRKm+iU+hYT2Lviw3He9bnVDdJz3qe
R2Dt8Ehcf228113H631t3oWkdP/1NPriisovwvxbmuJFek615yti7XO6daw1toyVr+Nccqxmy1hr
MdZ2zzpWxKvN58j3qIi1fe89nzO/10W82nyusaFeuwBr87faaTx9MZUvqjKnvEC8NyiN6TEzad86
ttmxORGz+tmLzm9PjPXdyDGjY41grLbIa3nWWB7t+9HzGcF82l5pPiP97jmfEXvO5xof+ViW75tW
fUPy2msLVrZpP1krx+tbcw5WXiC9N+sW7yIr+/MuRG+8yHyOzCnnXMuN9DNLZD6z6PNlts9Y0Wvj
ao48ryPHOtLR51WOtec4ZrHX8tneWyI5s0TG0mvD7D5nlt58HnmtevM5Wm8+Z1ufs83nx9fX5ZmZ
2e9fP/9tOI2UzHZcIAAAAGDU2+39Ih/5AAAAAE7q/Btq7k4DAADgxM6/oQYAAABOjA01AAAAsAEb
agAAAGCDu6/N068gycqvBkmp/12aa7X61DlpXuvYUa0+j5xPb6zM+wqX7BHzMauPW4uPiMynl/Pq
8yl5Y3uxUb35aHtW5h05n6zM05wj56Pt2SPXp5fz6vMx+5vntT9iPmb1cWvxEZH59HJefT4lb2wv
Nqo3H23Pyrwj55OVeZpz6Hzebu8fuZiZW1JKzfrWklKq9unFNab1reUs8/H66cV67VuK148Xy/FW
m8ZGitePxrTuxbQ+Wrx+NKZ1L6b10eL148XKNq/di40Urx+Nad0rkZxI8fqJxta0R4vXjxfTojla
Hy1ePxrTuhfT+mjx+tGY1r2Y1keL108v1mvfUrx+vFiOt9o0NlK8fjSmdS+m9dHi9aMxrXsxrY8W
rx8vVrZ57V5spHj9aEzrXonkRIrXTzS2pj1avH7K2Nvt/WPoIx/Lcv9l2iq3p9T+J7PThN8ennk+
PTpfb2wvpmbNx+x+Turo+fQwn/Zz9oj5tBw5n9a6ZEfOJ4L5tB05n5R4f96K+bSfs0fMp+XI+bTW
JTtyPt071MnZlUfbtF3rkTYv7sVa8dym7VqPtHlxL9aK5zZt17pXNEfrtVgrntu0XeteaeW02nrt
e8ynl1OL5zZt17pXtuTU4rlN27XuFS+njHnt0TZt17pXNEfrrdLKfdb5aGm199q0Xete0Ryt12Kt
eG7Tdq17RXO0Xou14rlN27XuFc3Rei3Wiuc2bde6V1o5rbZe+x7z6eXU4rlN27XulS05tXhu03at
e8XLKWNee7RN27XuFc3Requ0cp9xPm+394+7z1DP1PvNIcL77WK039HjSt58Rq2ZTx5zzTFrren7
ivOJ5LSsOa43VnkN1XJ61hxXm08K/IYftaaf2nzMvq+NmZ8Tsea4K81nljV91+azLPfvh5oTtea4
NfMZpX3XzHgtR0T7vup8as9pVPS4yHwiOT3R41pjpXT8+3NrPmbHvx9eaj5b7lC32r24F+u1eXEv
1mvz4l4s0qallVtr8+JerBWvtXmxXpsX92KtuJZIXi3Hi3uxVnxtTivPi3uxVrxWWvm1Ni/uxVpx
r03rWmrtXtyLteK10sqvtXlxL9aK19q8WK/Ni3uxVtwrvdxauxf3Yq14rc2L9dq8uBdrxWullV9r
8+JeTIvmaL0W67V5cS+mpZXTauvleHEvpqWWU4trqeV5cS+mZWtOrc2LezEtmtOra6m1e3EvpmVr
Tq3Ni3sxLZqj9Vqs1+bFvZiWMqd7hzpN/O0IY872HFxxPpGcWY4cKyIynyS/4UeOGbVn3yOuPJ81
uaOOGGONs80H2/Gcth35/oxthv4osbQs8/4X2wzPNJ89XjivNp9ITumI+ayx93yWZflWcqxm7/ms
xXzamE/b1vnM9mrzWfucHjGfNfaez7Ic+/4826vNZ/OG2mzbJPdw5Hwibwh7zkf7fvR8RjCftlea
z0i/e85nBPNpO3I+j34/1L4fPZ8RzKftleYz0u+e8xmx53yaH/k4gr7ZmH2ecOadfO8NaYvefMq4
2X3bbHruZvdjlmukbbNF5hNZw1nWzifTnFl6Yz3yes72HK+nN5+zrc/Z5nO03nzOuD5ljrbNFD33
Ms9rnyU6nzJnz3mNzCfz8raKzCeSM8uRY0VE5hPJmSUyViRnlshYP77+GNHMzH7/+lm2AQAAAGh4
u73P+cgHAAAA8KrYUAMAAAAbsKEGAAAANmBDDQAAAGzAhhoAAADY4O5r8/RrQbLy60FS6n+XZpSO
5/Xby3nm+ZRa/eY5ee2t47bo9Vtrr8W3qvV7tufrbPMpeTlebAavX12brMzzjpuh1W85L81pHbeF
1+8Z10fnpDm147aq9XvUfHSczOs759bavPhaa+ZjVh+3Fl8rOh/N89o1NkLHybRvzfPaNTZCx8la
fXtje7ERkflEc46aT1bmavuR87nbUHsD1zrayjtRjWm9FpvB61djWq/FZms9B+X4R8zFrD0fs377
bLXxvPXwYrNdZT6lSM4srbH2XgtPaz5HPD+qNh9vHrXcmWpjeGvjxWY7y3wi/Zbj7zkXs9h8zOrr
N1tvPt56eLFZev16Y3uxWdb0e8RzFplPJGeWyFh7Pj+qN87QRz6W5f4LrlVuTyn9W/by7PNpXTDa
5o3txdSs+Zj124+eTw/zaec8Yj4tR86n1ZYdOZ8I5tM2ez4tOldvbC+mZs3H7H5O6uj59DCf9nP2
iPm0HDmf1rpkR87H3m7vH7mY2V1JKd3Fom3arnWvaI7Wa7FWPLdpu9a9ojlar8Va8dym7VrXWK+9
FWvFc5u2a11jXnst1yut9j3m08urxXObtmtdY167V2p5tXhu03ata8xr13gtJ9Km7VrXWK+9V1q5
zzofLa2cXpu2a11jvfZWrBXPbdqudY312luxVjy3aXuv7hUvx4u14rlN23v1Xunlt9r3mE/vuFo8
t2l7rx4tteNq8dym7b16rZR5rWN6bdreq3slkhPJfcb5vN3eP+4+8jFT7zeHLBW/Degx3m8XmhMV
PW7tfEZp3yoFfvuaqTfW1eeTn7c1x5R6x62ZT+sai+odF5lPJCeq1090LH19RY7x9I676nxm6Y0V
mc+y3L8f9o6p6R03Op9RvbHM5l0bEZG+rzyfnNvKaYkcF51PmVfL6Ykc15tP5JqPivTTm49ZLCci
clxkrEhOROS47lhb7lC32r24F9OiOVqvxXptXtyLadmaU2vz4hrr1dfEem1eXGO9upZeeyvHi2us
V4+2RfK8uMZ69Vpp5dXavLjGenUvpnUttXYvrrFevVZaebU2L66xXn1NrNfmxTXWq3ull1Nr9+Ia
69XXxHptXlxjvXqttPJqbV7ci2nRHK3XYr02L+7FtLRyWm29HC/uxbTUcmpxLbU8L+7FtGzNqbV5
cS+mRXN6dS21di/uxbRszam1eXEvpkVztF6L9dq8uBfTUuZ071Cnib8dYUyS34ge/ZxccT5ebC+R
+RwpMp9IzixHjhVx5fm02mZZM58jnG0+2I7nsI1r/jqG/iixtCzj/4tt9LiWZ5rPsizfSo5t8Wrz
Wfvmc8R81th7PpGc0t7zWYv5tDGfti3z2cOrzefI9+eItX3vPZ+11/ze81nr1eazeUNttv8k1zpy
PpE3hD3no30/ej4jmE/bK81npN895zOC+bQdOZ893w8jx2jfj57PCObT9krzieSoPeczYs/5ND/y
sTfvxPTNJpIzS3SsMsdrP1o57zPMp1yfM8xLn1Ozx80neo29qrOtz9nmfCnS4gAAEdJJREFUczZn
XJ+j3p+j537U+3N0Pke9P4/MJ/PytorMJ5Izy5FjRUTmE8mZJTJWJGeWyFg/vv4Y0czMfv/6WbYB
AAAAaHi7vc/5yAcAAADwqthQAwAAABuwoQYAAAA2YEMNAMAD6R87aR3A+bGhBgAAj8UvEbi4u6/N
q/1mXH49SEr979KMiIxldp/ntWtshI6Tad+a57VrbItyvFq/Ocdrf8R8zOrj1uKjevM52/N1tvmU
vLG92Bat+ejaZGXekfPJWjlHzueM66Nz0pxnnY+Ok3l951yvDeeiz6s+Z9qe6WvQszbH7D5P282O
zTHrvwZf1tvt/SMXc/6tcnP+TXOtj5ZIP16OxrQ+WiL9eDka0/qWEumrzPHyvdhoifaVUqrm1uIj
pdeX164xrW8pvb68do1pfUtZ01ftOfNio6XXV689mhMtkb56Ob32NWWkLz1G61tKry+vXWNa31J6
fXntGtP6zOL1Xca8di+udcoxxVt3jWk9WvQ4rXvFy9GY1r2Y1r2Y1tfEKPbxdnv/GPrIx7Lcf8G1
yu0ppX/LXp51Pin176Rojje2F1Oz5mPWzzt6Pj3Mp537iPm0HDmfSM6R84lgPm2z5hOhc66Nreel
9ctK6XupabVrH7XcXjs20+sZoneHOjV+G+m1aXuv7hUvx4u14rlN23t1r3g5XqwVz23a3qt7xcvx
Yq14btP2Xr1Xevmt9j3m0zuuFs9t2t6rR0vtuFo8t2l7r14rZV7rmF6btvfqXonkRHKfdT5aWsf0
2rS9V/eKl+PFWvHcpu29ule8HC/Wiuc2bde6Fq89GnvK4p2nF4u0adFcrTux/JxquTtOiuZoPVK8
Y7xYpOhxWvdiWvdiWvdiWqf8LW+394+7z1DPFPlNJslvknqM9xu95kRFjuuN5c1nlPbt0bEix4yK
9H3l+eTcVk5L5LjofMq8Wk5P5LjefNLEOw6RfnrzMYvlRESOi4wVyYmIHDdrrIhI3735LMv9+6Hm
REWO643lzWeU9o0JZqxpSkP9rHk+e+/Peo15ORFr+sm5muNd87NyPJqj/by0LXeoW+1e3Itp0Ryt
12K9Ni/uxbRszam1eXGNad2Lab0W67V5cY1pvRaLtPVyvLjGtF6LteJaanleXGNar8W0tHJqbV5c
Y1r3Yr26llq7F9eY1msxLa2cWpsX15jWvZjWa7FemxfXmNZrsRntXlxjWvdiWq/Fem1eXGNar8W0
tHJqbV7ci/Xao7GnLSnd3SmulkheLSePo0XzBkrk+erl9Np7ebV4rU1jWq/FtGiO1muxVyzdO9Qp
zbt7BTwK13FbkjsOrNc18DydB89FRV6T/B6zZY16d6ZbbQ+09drYejyOM/RHiaXo/yY4CvNpe7X5
rH0zOmI+a+w9n2VZvpUcq9l7Pmsxnzbm03a2+TytZfkso2udOpvpgJT+/oFpWTTnTFJa9/MLj7V5
Q202/qY0ckzEkfOJXPCj84nQvh89nxHMp+2V5jPS757zGcF82o6cz6PfD7XvyHxaUrrfBKojc5q2
HFtKaWwzLeMvy/ebB7mstWlNCrP62csR1+qzaX7kY2/6ZpNjWu/lzBIdq8zx2meJzqfM89pnic6n
zNlzXiPzyby8rSLzieTMcuRYEZH5RHJmiYwVyZnlyLEiIvOJ5MwSHavM8dqPVs77DPOJ8tZ7lWW5
29Sad/5lTn6sedqP2fec6Fgd3jnrcxbJiYj2ozlm3/Mi/URyzPqvnWg/Zn7us/vx9ceIZmb2+9fP
sg0AALyolLbdpcRre6Xr5+32PucjHwAA4Hm80mYI873i9cMdagAAAGAQd6gBAACAjdhQAwAAABtc
a0P97H8x+uzndwEpXeerfq4yT+AwvCQAPMi1NtSoutJGcLpJ553/iGLrH1Ic9Vwc/bVER4612pFT
O3KsCJ2P1vFQ+f0g8r7QawdwXg/9HurV1mx0UlqXf2HlX9OWj/EYR290AZyT937sxXIcwHVdZ0Od
32ycNyIz+9tu5ufkDXYkr6Q5s/ox6/cRoG/OeTPnvWFP0TuvvD6RWEnbzfo5ZXt+rDkT6Q+80TWO
9BPJMZvzfPfGKtvzY815qGRmR02nNpZcqnc5+bgyT3PM+v2o2nxKXo4XM7uPR+YzI2f2+vT6iQiO
NeM1kV/D+loEcCFvt/ePXMzs3CWl+5gX13qOabxX92Iz+9G6xFJKbtEcHcuLTSlevxrTuhfTuhfT
ei3Wilt8DbV4/URivTYvrjGt12KRtl7xjvVirfhDS3Jie5XaWF5cY6kSa9VrsV5bGV+bU3tci2nd
i2ndi6VKrFX3YpF+IsU7xovZ3/cPjee2SCzSRqFQzlvebu8f17lDPcOGOwjfzOqntCxmnTuFl5DP
I8+9fFzmjBg4LrKGOSc17vTW4jPs2XfPI8d+at6yerGekWMyvds8w0h/0WOieSXvGC82Q6Xf1mvI
u+vcygdwXa+1od6L9wb5rP/rLnJeeVOdH3si/ZyM/mAcUf6Abf1gnTFW1JFjTbXHhrGmNdZin+35
cdSaXNWaj1m/PSJ6XpHLJ5KjWmNehPdLuhcDcH3PsaEuN3C5/mhnmMMeZpyXd9f65Js674fg6Ea0
vCNe1ktebA8zz+ul5SWMbECPsNi8TbVZ+7y8WMmbB5cYgCfzHBvq7KBNyFFqGxvdAJ1OuWH2Ns8H
OvMalhvrM8znUrxN2l7WjFVuQKPHrBXte7F4bs8R53VRrV+MAbyO59pQn+0udam3sXQ2fpE36PwR
gsjmbJc3fj0vrS/LfUw55+7q9eOYeq6F2ka9p/X8tNSOq8VHjZ7XKnmI1rRbOWs2da1+slZOZKxI
zijtW+s9i60/JtvruJmXWG+sltbz7tkyFoCnd40NdflDPj9ubeJqsZ68+dPYWpF+NEfrK+RNdX5c
U+YN8ebYGK9K+9F6K+Ypc2s5G+naaT0rY95z4h2nz1kkZxYdS+ul6HX2chb73GxpbK1Z/ajcb9lX
OZY+ziLzGcnRepR3nI41y4qxWq8F7/Xk5ffeNwBcwKW+Nq9WvK8a8mIUvpbpiQrPJYVCoVAojy9v
t/ePH18baTMz+/3rZ354PXpXjd/u76Q09+MBAAAAr+7t9m7Ps6EGAAAADvZ2e7f/0CAAAACAODbU
AAAAwAZsqE8hfZXr0L9cv4L0RyP7uuIaAY/C6wXAlVW/Nq/8A7beH7P12ufwvtdpRK8ffVPv5fXa
s1Zerc0s3k9E2deWftBzzGviOLrZeaZzm2Xm1531rp/eWL3nS9szzVujN+eslpe/Ys5r28ORY63W
+7Ew05FjRZxtPg+mr1Xvmu3laHvWy9N2dNS+Ni8VX8lVPtaSUmq2zyll/1vG6vUzEuu1t2KteK3N
i0XK6HGUkbL/a8IpO43pnYsXO33Zcc7R98tI6b2n9saKxrREcmqlN+doXqttdjlyrNUlObG9ypFj
RUpkPpGcJyjeNaoxrddiWjRH67UYxS9vt/eP6h3qiPT1G36q/PYzh/66ujgxrXsxrXv9ROgxo/3M
pOuvc5k7v/x8e7+9eteEl9dTfjxj+edvffnnb9zse57ZfXtWO97ss60cw8zPi8prUKWvF81N6TNW
5mmOWb/drD/WGfXmPGt9cj+9WIc+396dVq33YrX3VD3GG2smnYc3Tm/OWSRvxvlo/9pX2Z4fa85D
JbOJb9dttbH0KdKcfFyZpzlm/X5UZD619hnzifYT0RvryymvQQy521B7bzaerW96zy2yLuXa5sd6
nNY93juQF5un90NRrw2tR+VNbd7wth5nXszsM6ab75Iep/VpUjLTtYjE1taDsdrzqJu2wwTm7MbW
1oMi6zPTjH5H+vBeo9GY1j3ecXvwxtFYfqzxU0hmO751f1cby4tHYr16LZbV2jSu9UzjvXo0pvUI
7xgv1rHX9XnKa/8J3G2ol+X7HQJv4b3YYy32/WoduHLN7G8/GhtV9qX9rJ1r7ktztV4z87zajro2
Zm54Z/bVFF2baN5aA5uhrNxcrjlulWi/0byNZp1n5H11tkOer4AjzjU7apyX4y2rF+sZOSZqVt+z
+lGVfqPXbH49a35+b9nK60fHQtvdhvq6FqtvOqO8za0XiyqP29JP79jIi0mP7/V5Da27zqc18uZ3
gje28s11103SUeuzLJ9j5WPLxzsof2DttnaFGc+X/oC9givO2cyOfUtujbXY3x8ptRzPmlzVms8o
r7+rXhqd16+2jbwGvDG8GOruNtT5iSifEG9R9QnzcjBD753Ga1//Yroi72MZp99ge5u2gTe/fzeD
Zf0ZsD6Ha7131+JrHfXzwutXx0ZAXsK8dPOfqrjFvv9I2zKXLcc+iHdNbzG7P/x1t6E2+/smWlt4
jdXyjlVuLL1N5pFmjT+rHzytja+72majfD2f4/U9aOO8I+sTVa7jnmu6Z98jdC5nm98pHPlWv2as
I36kRvuO5FxQfo/xXhO8Vq7F3VCfy2LfX3Heq09jeowX0/aoWf3sxd8AvIKz3J1elhXfVFDZsIWV
x0fHK/JCc1yh9cNhyN7rsyx/c5z2yHno8+099xrTY6L0uJE+tth7vNn95+txV3mI1rRbOWt+hLT6
yVo5kbEiOaO0b623lE9l9Jgeb3wv5mmtsyfa70azX0OIu8CG2uzzKlx79Xp6/ZTtZUzN6idC+zH7
3peOpfVWbL3yB9T0zdNK+s0dWs/KWH6sHxU5TLmB8+pRKX0e24p5fesxAXkTpzGPl7uKzlnrUboW
tdgk5XnX1iYi8vrqjeU9B15eT7SfyJyPonPWeqm3ji9rMZvy42JWP8nuj/NiPdH5aJ6X06N95Jij
d+15168eo9f8CO+1MtrXy6r9wy4UCmVbSXt+Kb7Xtxd7QNn1vKPFm4MXo5ymnOK6oZyveP+Iixeb
Ufbql/L05e32/vHjayNtZma/f/3MDwGcnd65OMHdhJRO9L8bT7g+AAboTdq9Xsojd74BM3u7vRsb
agAAAGDQ2+3d/kODAAAAAOLYUAMAAAAbdDfU+lefW2hfWq+J5l3Vs58fAADAM2tuqM/yB0be17lc
wRXnDAAAgHWaG+o12DyOO8MvLQAAABhT/YddenenI18kHskxi+Xlu9S19gjd9Ht99XLyHFpzLtvy
Y83JWu3RsaKxkrYDAABgUO0fdkmNL9nXNq17sZRSOKZ9Rdp6xTtWY1r3YmvmXItrqeVFxtK6F9N6
LUahUCgUCoVCWVfebu8f0z7y0VO7I1qLH2F07NHjRhw5FgAAANarfuQDzyXJRz4AAAAwx9CGuve5
XpwPzxEAAMA+hjbUGZs0AAAAvLrqZ6j1LrQnpfRv6anl1OIqOd9csVV07CuJnlM0DwAAAG1Dd6i9
za3GdEOu9Vpc+51Fx8kxrfdy1ij78/opx2rlteictd6KAQAAYILa1+blkpyvV4vGZpU9+6ZQKBQK
hUKhUEbL2+3948fXRtrMzH7/+pkfdnHHEwAAAK/u7fY+9pEPMzbQAAAAgFnjjxIBAAAA9LGhBgAA
ADa41IZaP7e9pyPHAgAAwHW5n6HWzeTen5dO8pV7AAAAwFXcbai9za0Xe4Qj5zB7rLOsIQAAAOa6
21BH9e5i5w1kmefl6GPNyVrt0bEisRw3u+/DLDaW2fdz89oBAADwJPQfdkmBf0TFy9FYSsmN6XGt
uJZaXmQsrddivbaRsbROoVAoFAqFQnmO8nZ7/9j1jxKPvDP7rGMBAADg3HbdUAMAAADPbvgz1KiL
fMYaAAAAzyF0h7rcHCJuWRY20wAAAE/uZe9QH/FLQuQudc6ptQMAAODc7jbU+nGFHNN6L2eNsj+v
n3KsVl6Lzlnr2YyxUrr/Oj4vBgAAgOv78fV1eWZm9vvXz7INg7zNsxcDAADAtb3d3u/vUGM77+43
m2kAAIDnxIZ6J2ygAQAAXkPoWz4AAAAA+NhQAwAAABuwoQYAAAA2YEMNAAAAbMCGGgAAANiADTUA
AACwARtqAAAAYAM21AAAAMAGbKgBAACADdhQAwAAABuwoQYAAAA2YEMNAAAAbMCGGgAAANjgP8tK
SqmsupZl0RAAAADwsrhDDQAAAGzw4+32/pEr/++//6tsAwAAANDwP//7f9yhBgAAALb4/0/WgO+0
DbEkAAAAAElFTkSuQmCC


--nextPart2434568.3c9HiEOlIg--







Acknowledgement sent to Bruno Haible <bruno@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-grep@HIDDEN. Full text available.
Report forwarded to bug-grep@HIDDEN:
bug#77613; Package grep. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Tue, 8 Apr 2025 14:30:02 UTC

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