delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2026/08/24/06:41:33

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 67OAfW1n1543403
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 67OAfW1n1543403
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=hdt+bL44
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4D0194BA2E24
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1787568091;
bh=ggkNFUmhL94wWs38R8dsTwZrC8F1Yw0/WvshIpgIK1g=;
h=Date:To:Cc:Subject:In-Reply-To:References:List-Id:
List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:
From:Reply-To:From;
b=hdt+bL44dhsqe9mrwBt5F+5PX0JUO13Xbfvu+hC5wtR7dNv/dBv6IZIsLGwUfovQv
+XM3ppy+ri50gokWbPXWKaeucomT9RuZGtdlC3s+98X2Ktwld09p7XXHD6f81XcMBT
wqubaZ91hhDpD4Tl6kJ5qlOMaX6h67iKFmmlYpNo=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 09C2D4BA2E2F
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 09C2D4BA2E2F
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1787568059; cv=none;
b=xCzGH3H9neQWjcBT7DWm0GaXIpaloH6VAFCPpD7kGq1oNUHFPdqNqd5knid3gxKbxdzV+HFbFDwQLh1m9N+eT7SZ7GOsdi4QQPO7+fe73yZvufKCzvUDEmyNYw1tpLtKzAZwa9nzG8TlE8KL6YHiP1q5c0wgVVVp0IWyss08D6Y=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1787568059; c=relaxed/simple;
bh=KDkXssZPqQTIJw7yVKcF8Fz3xq//LA769VCyKuI/E8o=;
h=Date:From:To:Subject:Message-Id:Mime-Version:DKIM-Signature;
b=Q4g+SGF7E2y7jkoon4HALeEZuVYyKtpiYeVYr2LG3rGg8iofr+zu9C20RN+n5Ytcuhwp0erw5WuZBjMZ7wcIqUb0S/qkuhU/iEmpBWYDN1G4u+aa3y/AsQSmq0Y+AmSQ/Acloua+NH41VlPnYK0tYnsIg8Uu0Hji8YDNnX/wd1g=
ARC-Authentication-Results: i=1; sourceware.org;
dkim=pass (2048-bit key, unprotected)
header.d=nifty.ne.jp header.i=@nifty.ne.jp header.a=rsa-sha256
header.s=default-1th84yt82rvi header.b=YbwBczCH
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 09C2D4BA2E2F
Date: Mon, 24 Aug 2026 19:40:51 +0900
To: cygwin AT cygwin DOT com
Cc: Nick Popoff <nick AT nickpopoff DOT net>
Subject: Re: Regression in Cygwin 3.6.9: Deadlock when spawning many
concurrent Windows-native processes (nmake.exe) =?UTF-8?B?4oCU?= works in
3.6.5 1
Message-Id: <20260824194051.e61e716cbdbe3a1c246fa51d@nifty.ne.jp>
In-Reply-To: <000001dd33b2$6a4f2570$3eed7050$@nickpopoff.net>
References: <000001dd33b2$6a4f2570$3eed7050$@nickpopoff.net>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
Mime-Version: 1.0
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: Takashi Yano via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp>
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 67OAfW1n1543403

Thanks for the report.

I guess the patch:
https://cygwin.com/pipermail/cygwin-patches/2026q3/015286.html
fixes the issue. Please wait for test version of cygwin, where
the patch applied. The patch is now under review, so hopefully
it will become soon. 

On Mon, 24 Aug 2026 06:22:06 -0400
Nick Popoff via Cygwin <cygwin AT cygwin DOT com> wrote:

> Hello,
> 
>  
> 
> Regression in Cygwin 3.6.9: Deadlock when spawning many concurrent Windows-native processes (nmake.exe) — works in 3.6.5‑1
> 
> Version affected: Cygwin 3.6.9 (latest as of August 2026)
> 
> Version NOT affected: Cygwin 3.6.5‑1 (stable, no issues)
> 
>  
> 
> Summary
> 
> Cygwin 3.6.9 introduces a regression in process management that causes complete build deadlock when spawning many concurrent Windows-native processes (specifically nmake.exe). The same workload has run flawlessly for 20+ years on all previous Cygwin versions, including 3.6.5‑1. Under 3.6.9, the build freezes once some parallel job limit is reached, leaving dozens of idle sh.exe processes and stalled nmake.exe processes. Ctrl‑C kills the Windows nmake.exe processes but Cygwin’s sh.exe instances remain stuck, and the terminal never returns control.  Reverting to 3.6.5‑1 immediately restores correct behavior.  This is a reproducible regression in Cygwin’s process/signal/pipe handling.
> 
>  
> 
> Environment
> 
> *	Windows Server 2025 (WS2025)
> *	Heavy parallel build workload
> *	15 concurrent nmake.exe processes
> *	Each nmake.exe spawns many short-lived Windows-native tools
> *	Cygwin shell (sh.exe) orchestrates the build
> *	No Cygwin-native processes involved — all Windows-native
> 
>  
> 
> Steps to Reproduce
> 
> 1.	Install Cygwin 3.6.9
> 2.	Launch a Cygwin shell
> 3.	Start 15 parallel Windows-native builds, e.g.:
> 
> Code
> 
> for i in {1..15}; do
> 
>     (nmake.exe -f Makefile$i &) 
> 
> done
> 
> wait
> 
> Each makefile repeatedly spawns short-lived Windows-native tools (ASN.1-compiler processes).
> 
> 4.	Observe behavior once all 15 jobs are active.
> 
>  
> 
> Actual Behavior (3.6.9)
> 
> *	Build freezes completely once a certain parallel limit is reached
> *	All nmake.exe processes become idle
> *	Dozens of idle sh.exe accumulate
> *	No CPU usage
> *	No progress
> *	Ctrl‑C kills nmake.exe but does not kill sh.exe
> *	Cygwin console never returns
> *	Terminal must be forcibly closed
> *	No such behavior in 3.6.5‑1
> 
> This is consistent with a signal-thread or pipe inheritance deadlock.
> 
>  
> 
> Expected Behavior (3.6.5‑1 and earlier)
> 
> *	All 15 parallel nmake.exe processes run normally
> *	No idle sh.exe accumulation
> *	No deadlock
> *	Ctrl‑C cleanly terminates all processes
> *	Console returns immediately
> *	Build completes successfully
> 
> This behavior has been stable for decades.
> 
>  
> 
> Notes
> 
> This workload is a strong stress test for:
> 
> *	spawn.cc
> *	sigproc.cc
> *	pipe inheritance
> *	process table updates
> *	console control handling
> *	synchronization primitives
> 
> The regression appears only in 3.6.9.
> 
>  
> 
> Conclusion
> 
> Cygwin 3.6.9 introduces a reproducible deadlock when orchestrating many concurrent Windows-native processes via Cygwin’s shell. This is a regression from 3.6.5‑1. The issue affects real-world build systems and should be investigated.
> 
> I can provide:
> 
> *	process snapshots
> *	strace logs
> *	Windows process tree dumps
> *	minimal reproduction scripts
> 
> upon request.
> 
>  
> 
> Nick
> 
>  
> 
>  
> 
>  
> 
> 
> -- 
> 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


-- 
Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp>

-- 
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2026   by DJ Delorie     Updated Sep 20 2026