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--
bug-grep@HIDDEN
:bug#77613
; Package grep
.
Full text available.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--
bug-grep@HIDDEN
:bug#77613
; Package grep
.
Full text available.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--
bug-grep@HIDDEN
:bug#77613
; Package grep
.
Full text available.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--
Bruno Haible <bruno@HIDDEN>
:bug-grep@HIDDEN
.
Full text available.bug-grep@HIDDEN
:bug#77613
; Package grep
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.