delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DKIM-Filter: | OpenDKIM Filter v2.11.0 sourceware.org 79519385841C |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; |
s=default; t=1693314240; | |
bh=XQYl3kR8KEk96a+niEpiec1BRXSEF5vrd9aekBFP3tI=; | |
h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe: | |
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: | |
From; | |
b=BAejaRbbF2x4PF9yHHIs9AIT5RgDzuHa3qe12oDqFRaS7JOcGPN7vkxecVx00Biya | |
xTBwWg1wjlO8jcHsq2xn4DTC/5r10foNj1lbnqtUaabm7rPF7BGZLoIKfPOCXfF9Mx | |
jCNkVlN0T8gkCSRAa2nVR+iQwn2YsfJn9euYxGR0= | |
X-Original-To: | cygwin AT cygwin DOT com |
Delivered-To: | cygwin AT cygwin DOT com |
DKIM-Filter: | OpenDKIM Filter v2.11.0 sourceware.org 1EB873858D20 |
Date: | Tue, 29 Aug 2023 15:03:45 +0200 |
To: | cygwin AT cygwin DOT com |
Subject: | Re: gawk core dumped on too many input values |
Message-ID: | <ZO3sscyAaiViiLBI@calimero.vinschen.de> |
Mail-Followup-To: | cygwin AT cygwin DOT com, Ed Morton <mortoneccc AT comcast DOT net> |
References: | <e0fa509d-890a-2db7-c91f-2b1d904a9a1e AT comcast DOT net> |
<0b55205e-fc7c-98cf-c186-783e5c0655b0 AT comcast DOT net> | |
<CAOh4nm=yYKtBWhWOwW9rUxu3y8vFOgRA+rW-tTzq-=q63OL_0A AT mail DOT gmail DOT com> | |
<CAEEMktOg5iA-6Q+14ZqgKf_DpjRkjmAyjsuJFDxWie_sjBJLQQ AT mail DOT gmail DOT com> | |
<50471900-708d-2e92-bd90-aaacfb64873a AT Shaw DOT ca> | |
MIME-Version: | 1.0 |
In-Reply-To: | <50471900-708d-2e92-bd90-aaacfb64873a@Shaw.ca> |
X-BeenThere: | cygwin AT cygwin DOT com |
X-Mailman-Version: | 2.1.30 |
List-Id: | General Cygwin discussions and problem reports <cygwin.cygwin.com> |
List-Unsubscribe: | <https://cygwin.com/mailman/options/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe> | |
List-Archive: | <https://cygwin.com/pipermail/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-request AT cygwin DOT com?subject=help> |
List-Subscribe: | <https://cygwin.com/mailman/listinfo/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe> | |
From: | Corinna Vinschen via Cygwin <cygwin AT cygwin DOT com> |
Reply-To: | cygwin AT cygwin DOT com |
Cc: | Corinna Vinschen <corinna-cygwin AT cygwin DOT com>, |
Ed Morton <mortoneccc AT comcast DOT net> | |
Errors-To: | cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com |
Sender: | "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com> |
X-MIME-Autoconverted: | from base64 to 8bit by delorie.com id 37TD41hJ013277 |
On Aug 28 12:20, Brian Inglis via Cygwin wrote: > On 2023-08-28 05:47, Joshuah Hurst via Cygwin wrote: > > On Mon, Aug 28, 2023 at 1:08 AM Jeremy Hetzler via Cygwin > > <cygwin AT cygwin DOT com> wrote: > > > > > > On Sun, Aug 27, 2023 at 2:25 PM Ed Morton via Cygwin <cygwin AT cygwin DOT com> > > > wrote: > > > > > > > > This (original email below) turned out to be a general cygwin issue, not > > > > a gawk issue: > > > > > > > > $ LC_ALL=C sed 's/x/y/' $(seq 1000000) > > > > Segmentation fault (core dumped) > > > > > > > > $ LC_ALL=C grep 'foo' $(seq 1000000) > > > > Segmentation fault (core dumped) This is fixed in current git and can be tested with the next test release cygwin-3.5.0-0.404.gca2a4ec24362, which is just being built and uploaded in a few mins. > > [...] > > Is this limit? > > > > $ getconf -a | grep -E 'ARG_MAX' > > _POSIX_ARG_MAX 4096 > > ARG_MAX 32000 This isn't the real limit. ARG_MAX has been chosen at one point to be 32000, because that's a safe size for the Windows command line length. Therefore this is a hard limit if you start non-Cygwin executables. Cygwin executables don't have this limit. In fact, the limit is defined only by the amount of memory the parent process has available when creating the argv and environment lists for the child. We fixed that in git. As a result, sysconf(_SC_ARG_MAX) will now return -1. I. e., ARG_MAX has an indeterminate limit: $ getconf -a | grep -E 'ARG_MAX' _POSIX_ARG_MAX 4096 ARG_MAX $ getconf ARG_MAX undefined However! limits.h still defines ARG_MAX as 32000, and we'll stick to this, on account it being a safe value. This has a precedent on Linux, where getconf returns something big, but ARG_MAX is still 131072: $ grep ARG_MAX /usr/include/linux/limits.h #define ARG_MAX 131072 /* # bytes of args + environ for exec() */ $ getconf ARG_MAX 2097152 The limits.h limit of 131072 is historical (32 pages for argv and envp). The getconf value is a quarter of the stack which is reserved for argv and envp. I hope that explains things sufficiently. The patches will be backported to 3.4.9. Thanks, Corinna -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |