From nobody Mon Feb 9 18:04:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4f8syk3X3gz6Rnqp for ; Mon, 09 Feb 2026 18:04:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8syk0WfJz3t7l for ; Mon, 09 Feb 2026 18:04:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770660254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2fjhLFiW+uKblSrjtwz9I+IVHaS00Wc8cYlZlYE7q9U=; b=mh3/PdTNPkCGQZPAa17H/c9ctDH3c1AEXXCTNV12fARcbOzaPr+79a5PJjh/JrkTBs1Ni/ xlOEatdMkCaGjZcMSL5LyEjOqMdjVLbotquktuOE67TNBNmA2ojplZO7IrF6AK8iDJEkVw L2yUaqQfY+e/EKoawPLbKQ7R7lewzJv7fJ2zpiypaHXlTGwLnI4cD/2shIenswKvidevTs rUpGZp2958ZGpTEcaqaS7jBpo9oSOO7piprVoyKNY4SSNL/Ck4TB0a7TOGhu5HLWTdr9vL uEAWYGqpcOoJsCnIYCor9ZIoSsHR7LHykf5ewdTOKg3KcCcNYB5ej7r/HyDTWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770660254; a=rsa-sha256; cv=none; b=vSvBPoN9C1/fBcST/pFZyqm+K5TO/S9O198uHL8EGNhRdr+FCJPbow/9GZdLnMNytTXliD G2ptykW0ELSXTx9zcoODkR9l8UqD3avdWyHQbgbIG6kiDCHnGQZ7BtWBHpA8hqQIwhSwvD On9aTGySLVu699gJ9s4bFvkUqcm52epHIiuvCY1z7k0F0cGbodjFH/q2fdAdzYsUOF+PVP fdYB6zuIZKdjF2jXmOCju13Dpe2eXvIUOHf13axBQJ5rnymUJ6qe8RTW2F8zDJF2Yd39oA txOo5X+CFr2snfRLd/QqColdaXH1xcwKSjx8qBHlpYs2BoYiOgmdE2QRzsFaQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770660254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2fjhLFiW+uKblSrjtwz9I+IVHaS00Wc8cYlZlYE7q9U=; b=QI8f/Py8wjhYUBLQAUT40ZgBMV9bX370NL0EDmEcT4UkwCCr3ihfqQ0osHqppHTfWQAT8w l7CG7SXlY22B3x/wBmVXJ0nk8qdlNxpEjKxYo6NtjHZEdjo7rmHqKGEuRakrTOq+H5wAXl /B1xLNPQ/ZAhEMaR4eLYdS42iL9lPCi1L5wi6Si+U+wbhaIXWNMlS5b0k1QyRdEAEDnSid AHTxFknxoMr8vkfZZeYb6V+2Uigb+Ikftmh+de1K/GoatY50aeOqxgJ6tA/RuOFOB4YcpA Wr85NU5zsF59Hu+pEY3cx1OCS97IT/+lKdYMGCeoh6gZfwFzMyfNGr/T7bUecg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8syj71H0zkcX for ; Mon, 09 Feb 2026 18:04:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27176 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Feb 2026 18:04:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: d17e192524a6 - stable/15 - netbsd-tests: Fix regcomp_too_big flakiness List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d17e192524a62801e3ca52ead3716be6c7c22531 Auto-Submitted: auto-generated Date: Mon, 09 Feb 2026 18:04:13 +0000 Message-Id: <698a219d.27176.51f92274@gitrepo.freebsd.org> The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d17e192524a62801e3ca52ead3716be6c7c22531 commit d17e192524a62801e3ca52ead3716be6c7c22531 Author: Mark Johnston AuthorDate: 2026-01-27 21:08:35 +0000 Commit: Mark Johnston CommitDate: 2026-02-09 18:03:41 +0000 netbsd-tests: Fix regcomp_too_big flakiness The test sometimes crashes with ASLR enabled. This seems to happen when regcomp() grows the process stack and happens to run into the virtual memory limit set at the beginning of the test. ASLR triggers the problem since it introduces a bit of fragmentation and thus introduces cases where stack allocation can be the trigger of virtual memory exhaustion, rather than dynamic memory allocation in regcomp(). Make the test stable by priming the stack before doing anything else. This effectively reserves 16MB of virtual memory for the stack, which in practice is enough to make the test stable on amd64. PR: 259971 Reviewed by: ngie, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54880 (cherry picked from commit 938915a22c84af88afa587694e8d63ce9dd202f4) --- contrib/netbsd-tests/lib/libc/regex/t_exhaust.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c b/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c index 2f3d1025536b..9741f3311ae0 100644 --- a/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c +++ b/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c @@ -168,6 +168,14 @@ static const struct { { p6, REG_BASIC }, }; +static void __noinline +prime_stack(void) +{ + char buf[16 * 1024 * 1024]; + + explicit_bzero(buf, sizeof(buf)); +} + ATF_TC(regcomp_too_big); ATF_TC_HEAD(regcomp_too_big, tc) @@ -186,12 +194,15 @@ ATF_TC_BODY(regcomp_too_big, tc) int e; struct rlimit limit; - if (atf_tc_get_config_var_as_bool_wd(tc, "ci", false)) - atf_tc_skip("https://bugs.freebsd.org/259971"); - limit.rlim_cur = limit.rlim_max = 256 * 1024 * 1024; ATF_REQUIRE(setrlimit(RLIMIT_VMEM, &limit) != -1); + /* + * Pre-fault the stack to avoid crashes caused by growing the stack + * beyond the limit. + */ + prime_stack(); + for (size_t i = 0; i < __arraycount(tests); i++) { char *d = (*tests[i].pattern)(REGEX_MAXSIZE); e = regcomp(&re, d, tests[i].type);