DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 54GJ8wD04164928 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 54GJ8wD04164928 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=guMjLSu4 X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F297F384B073 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1747422536; bh=FF/tfh/LVb9oTBnT55jq6NnoLo4RaYaUr3yIYTpUw9o=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=guMjLSu4kU+VT9wVo/fTWqrkRYh/dk+WfkvT/NalMctOM14G6QEJQlXtp7TtaDRds Ew+MDdp3DDo6IZVEZ38koOQQVrlKTiTY8qvok4USQBqMtTZUa34F0g7R3ljOhPr5nu 9wXNiwpMsilLa6kQRUEATXFGke7Lb47ZYjKlmM6Q= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4F77A3865C2C ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 4F77A3865C2C ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1747422508; cv=pass; b=EQtVcO2wND275hQh201fwE0uOg/z43ksO2oBvbYrqQxukoa4PQdHG+bixurkri83OfePvzmRzpCdTHjnTCFs0CwKntqWL62lTuTatdWr+5bBHI35R19LduxHDau6NN7RTFISLHJiPEIUd9Gmxa3PvSmFptJUiET8BiPqTazzn4A= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1747422508; c=relaxed/simple; bh=TURBqnv12afiCW+dbUJmCzSNOqn/Q+kWjO4UKmWEl7w=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=DdzYf9EBb00eaL/VwIhsp+Pcb/aYITmBtX6iB9BlXFfI51AVoLWG1MNzjcgk5aRHMU6pQl8Np1CKPuK6mBRuJhUAgn+E844m5hjagVKv+m4+WWsEUv7urXgDfDeqDn7nWPTW3OxGUC9OUKQ+wnZsYRFzHjG9ccWHiJd597V447Q= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4F77A3865C2C ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KxrHMHHSab+Ay8cbODXiokP3y/+VOUjl7QxkvD+SNeapC4nbRpASqWA2FtLoe3qKxep1r5zjvU6LOKugBrhgAVQPdAs0W+MkJB4ZEitQxOilMiwX56G8fdq8xh6Vron7LMNLda1OTlEwJpxZxq2nBCtPpjF1YXXY8kd1VSO2KxDwHySHzia5JmkorVlQjEUcoeZ1xQC7qOtkoTVHZEPVFuOX+Zy7YWnJdf5WIoQ1Umdq6ToktO2ZLRjbvSAQpDLLjW05OaYK1gFttZqE/KUSVnKSXPZgJkj83gYqRpN2teN2yUlOCS2PiAObIgLYFIhE6MossZimaEFxWP52Jbns4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2oFGkqcrEG6dpix30rleY5MQ6bhUfKnXlHt/mn2ycGU=; b=jn1gP5K5RPrEwWydGpkHl24IBNWcPwHSyTZB0+wlqa/GaR+4MCXyckaoaWNdb5BvJZbXX9OXDxDhUEffMErn79GubLxISGNL0y1EPqrn2x8aQXif3gAQLyvUFEj6TIbps6tdGLh6sSrQOBBFwI11f0NzFuPtZd6bDQZAcNXzYzbG/HPVhb9U/aiWUfyeFLt9dZw4/XdXfqgumLDTJrHOdgjl0p9ksx2jdMbS7T5TBpBzw9l/Ln+U02X6k36QwSQhFp8ANZtMUTkrcaj3+QuGrUHcTwJLh03Vs8sM2U8oFGewB9+yxsVFoWQSh2Zy1tfoEu7xTbrfjRJqSDZXVakAVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu; dkim=pass header.d=cornell.edu; arc=none Message-ID: <ee7e023c-e5ba-4381-a9f3-e1cc595a730a@cornell.edu> Date: Fri, 16 May 2025 15:08:16 -0400 User-Agent: Mozilla Thunderbird Subject: Re: FIFO hangs (Probably a bug of cygwin fifo) To: cygwin AT cygwin DOT com References: <20250514182934 DOT ee8ff6c46ecfc44c69e70b72 AT nifty DOT ne DOT jp> <adf4f021-6a6f-4bc1-96db-f0ea5b9cd2f9 AT cornell DOT edu> <20250516084640 DOT 2b20feda1c8f65cddbd264bc AT nifty DOT ne DOT jp> <20250516175923 DOT 680fc55b6aa2c3cd9d83199d AT nifty DOT ne DOT jp> Content-Language: en-US In-Reply-To: <20250516175923.680fc55b6aa2c3cd9d83199d@nifty.ne.jp> X-ClientProxiedBy: BL1PR13CA0397.namprd13.prod.outlook.com (2603:10b6:208:2c2::12) To SJ0PR04MB7470.namprd04.prod.outlook.com (2603:10b6:a03:2a1::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR04MB7470:EE_|SJ0PR04MB8423:EE_ X-MS-Office365-Filtering-Correlation-Id: d8767a89-06df-4ac0-fca5-08dd94ad0552 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?MTBhZ0VBelhGUC9yYkJuSVhjT0QwU1h4MnhYblN6VlNrQjREd2ZHWVRkY2RG?= =?utf-8?B?cWkwcEFjbFBxN3pUeW1NY0lFVEZFTzBIRW00cjBWUndFTHJnbDZYaHJ4U0dU?= =?utf-8?B?OTNFb0d6OStsM1daV3plVEtWK1dWcUNsTHliMkxHNmhyQnZGa2ozM2tObFhD?= =?utf-8?B?YVR0bjFPeWFiQ2duckZDSTRXMldmaXdBRnRwMkRHT2ZjNzhwNmdUZVpkSWM2?= =?utf-8?B?WDJoaHloUGpsL1dkanM5OXN5NUp4VUdXSnFOYnppL3p1YVBVd3A5NDBTZlJn?= =?utf-8?B?QW5QSUc4ajZMLzVvU3Myci82bm5seXMyY2RzaUFMR2xyRVdmcnc3MmRxTHZi?= =?utf-8?B?WHRlZ1A4LzZWRnJDQTN0TThRNEwxMmRocjJVWmZxNk9kbmtudkgydHZQNThw?= =?utf-8?B?SU9iaUw2UWVkYk5jRzZhSTBSbDkwOU9pazlNeGpLMlJhUndINTBYNktiQzVZ?= =?utf-8?B?a1lJZ25DSWdYVndUZVBmVGtZZzg5VXdTNlQvcjMwTzlXMFdONzBpWTFTaXB6?= =?utf-8?B?c1ptTGRzWit3Vk5BcWpNTG1hcUY3Z0t4Tmp3OHExL3ZYSnVBVEFJcnBhVXA4?= =?utf-8?B?cUU5RXJyRVJma1pDY0tHbWt3OGF4ZXk1TVN0Yk5TaHUyZU5SQ0FVdlBJNno0?= =?utf-8?B?M1NwWXlIc25oZmxOS3UzM3h1RVRveHp2ZmpzM3dwc09XSzJRQ1o3cm1DMTBH?= =?utf-8?B?MmVXdERNVFNZQkIzNkJ0L0x6aTF2Y21ISVRRbytqbmloK29lUjQ3U2hDSlJk?= =?utf-8?B?SUNHVnBXN2tOY3J1U3puMld0SVZtRy9MSzA1dVVIc3k4d3p4Q1AvNnVib2ti?= =?utf-8?B?RytnTkkwQ2lIenJLc0w4eDNORlBSbG9QcWozaUVLQUNhRGQzZTJlSlBBL3VJ?= =?utf-8?B?MVJaRnUwczA5bkNDbWFabW1QR0ExTm15UndiT2pSdXpyQkdYWEhrMVVGZWwv?= =?utf-8?B?a0Z2Z0NmS3ZzaWlFRWdURFRna1ZaN1NVbjFHMFU3ZkdMbmNiaEhiSStBRG5M?= =?utf-8?B?M2NKMGtkbzVFVkFWbTQycTI5d3VUYk9KTDZLVmNVc2RhVC9CbStIeVAyNkQx?= =?utf-8?B?NjdZSU40My9EUDVoeXZ5cXJCK29Ud01sUWNWZlhRNXJKN3F0dEg2OEJ6WmZa?= =?utf-8?B?bzBJc0hEZzI2UWtoVVIzK282TTJUdm5wUnRKcTI4Z1JIM2x3YVNuRkxoZnAx?= =?utf-8?B?NWQ0VnhsbGNJa2gzL2RCTnFjOUNMclFGRUV1eHZvMG5IUDhHUUExdksrOG0r?= =?utf-8?B?V0NsZUF5VFpOUnJ5aVI5bVo3cEJtaVhHOUtxZHFibHlOYjZTc09LcnAweGVG?= =?utf-8?B?MFZtTUVlV2hSZ240UGx1UFJ6ek9tN29xVEczMWRVdnc2dXNIZWtra2llUkhM?= =?utf-8?B?Rnc5ZFJwY041c0ZMRE1welBHOGxYRU9GTTJiRzBhcVQwaURXQXJtcFlVcnZG?= =?utf-8?B?U1Q3ODdFS1dPVHpITExjT1F5SlJaZGZGMkhQV2NBa2Z2S0tkSkMwMVJwRmFO?= =?utf-8?B?THVlTi92YnluVVM2bEZKb216b21kM0wwalpveHBOU2JGbXYzejBJSk9Ea1B5?= =?utf-8?B?YTVvS2hnSXkxWEZWaTVGNWVjK081QTN6K2FYdHR4aVpJOFY2RXJ3cXFCUFV2?= =?utf-8?B?aFl4RzYvQ2J1MEpWOFRSTU8vdnJkWmJyZ29ZVU0vcllnR2p5Y2s4MVg4djJv?= =?utf-8?B?RzBsYnJ1V2JNODdZakpCdXdrUjZZUFZ4M3dUT29xVVF2OTdxVXdHVWY0b2Y2?= =?utf-8?B?UU9KeHIxaFhNYThVcG1pUzIwMGQzSHVnS2ZWSXFtUU96eHBGbng5SnROazBi?= =?utf-8?B?dXgxbnNXZS9zaEU4cTBraS9ub2JPWGJpUkZqTDRzeVFZTXhoSTRYVmQrTjBD?= =?utf-8?B?ZDJZeDltWENEWVVBNng1NHhjMGNhb0JVZkRZZTYyRHJndUE0djUzWXFCN0hJ?= =?utf-8?Q?S0fQ/cjGePc=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR04MB7470.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bFFSeVNBMHlYeHBid2JhSktnd1IxczlUS0FoK3JraTNSRFg2SWROTUFMUVNr?= =?utf-8?B?aXlzSER1TEtzVy9pOHRUd1hKTnpZb2VtbmVjK0lYanlwTEFvWWxkVVVsUTVi?= =?utf-8?B?bzMrd1pQWC9na05UN2xZbjZSbjNCeGJvTWREUXVwNlBuZHFRZlZkTFBQUVg1?= =?utf-8?B?L3UyZkNmRmg1eWh0Zzhhbm84VU8rS2dBZ0dJMnNMSUZLQzhGU1FZK3JiUkhV?= =?utf-8?B?dytVS3I2dnZJMlY4UDB6bXJOY29YdCt1czkzMlcxdEYwSzduZlVnVHZYRGRw?= =?utf-8?B?MTBRNkVBUXF4eWlMZWx1WWpwNFNGOVpoaGc5OGJ0Z1d6L2lrTmpJelo5cEdY?= =?utf-8?B?b2w1dmU4QWZBQzduTllIV2VoZHJlb1pHSUVablVVeFBGaXpIRWFqNFExam9s?= =?utf-8?B?UUkyUm5yWTF5WTZFRlZQTUJuR0p0UWt3R3plaUNLZHdqSGxSVlJXVU42QlBU?= =?utf-8?B?WkM3bjFGVXhJUUZsTzMyT0t2Q2c1Qld3TnZaOEgyd2oxNStZVWVyeWNNcHgv?= =?utf-8?B?N216WGc0Q1l5TWQrUmpHeHlqSHZ6a0xUN1ZYYVcxakRESVg5RHRXYlgvbkZq?= =?utf-8?B?OWthemhPWW03NlhxdlNwVk9TcHBNbUNobm54YkRrWWgxaFZ6UTJ2dUkySVE3?= =?utf-8?B?NU84M3p0UVlJZ2VENy9ZSGtmS0I5SEpVZmpEUDB3cE5XaW9Vajg5MlZMa0l0?= =?utf-8?B?OVAzTDJiN2JuK1VCT1B0NnF3a1NKUDBuS0JhRGdNNnV4dGtpakFWR3ZMTUFD?= =?utf-8?B?WmRZSmpHdHlUYXcrdWpGNE5XUGtqSjJxRmN3T3Y4WWYvakFJcno3aGQ2eFB4?= =?utf-8?B?VW9VcUNlNHpxYjF1QlZxLzlSQUpsaVp2V0dzdUlQSEJuaEdWVGZ0UVJxZVJH?= =?utf-8?B?OUJYelo5amxxQnZ2Q2ljSVBDQ1JFZUxTZmtJVkVmSU54MmhCQVRsc0ljazFZ?= =?utf-8?B?aW1yNDdwMzFoK3dNbHdkOS9CZjBQNm9mdXRqYXZnR01xUU5wSEk3aTgyVVRm?= =?utf-8?B?Yk9UK3YrdjZ2LzNBSVB5ZGFOMVkxRkpyZ0tXbWp6S2hKWXRHbDRIdFg0NGdF?= =?utf-8?B?N1ZDbzN1cnNQendoSThYbXhyRDdzakR1UytpVHJCL2pWTHZmTi9QT1I3WE4r?= =?utf-8?B?ZzdzektDQmh4ajFpUVZJMDk5b1F6a0h1YmgyMkh0WFRlemxaOXVGUjhGb2Z4?= =?utf-8?B?L1htZ1A4MDBENnpSQ3VoVVB3eEl3d2pwWHB5RlNWUzR1SjRlVkkwMGFJMWQ0?= =?utf-8?B?YjJQNGpYb0hNWlMrVFZIUXJleTZUemRYaStSbHFSTE1nQitOTkYrSXN3cEo4?= =?utf-8?B?UXdhREIzWnpKN0IwSmg3K25WRUFBVE41cE9HSUZBMy8vSURpV1JuV09QWkZs?= =?utf-8?B?dTEzQjVySWRHbDM2ZjZFNjFZV1FWVmNwTmI4L0VpakJPeFZZK1plUzY3eDhz?= =?utf-8?B?VTRwRHE2K2Y4cWpGelVvK21YM3E4L0dhTDJWdTlKWWlJbWZUbTNMZm9TUTB5?= =?utf-8?B?WjR3cERTWExLOTFtY3V5dDZGaWlEY3lCRS95cmFGcmFHQkMxNTNqbCtaY3Uy?= =?utf-8?B?aUw0VkpSbFhzelZET1UybDBUMVFad0hoV1NZYllzT0ZucENKdXFScEVVMnA3?= =?utf-8?B?cFJMSllXU1lkRjNhTkZ1UGtMS1FrRDdQNVkvdEpVQXl4VE1VTGVDa1NIanpM?= =?utf-8?B?WHkzTk1oN3BFMlI2S1JSMWowV3NPcmd2bTNZTENYN3R1UGJ5c3FRbk1MbVBv?= =?utf-8?B?WUpwQmFzbnA4VkdncnBQUXovdUd1bmlkWHJRb3ZjQnF1a2RVVHlmSDRLMUE5?= =?utf-8?B?ZXprVU5SQVFsU0RibHBoRExobW1WWFRZSlYveVZMK0N6WG5neFhuSmxXVTBL?= =?utf-8?B?MWdhekNnNXpyYUU1cnprbkh4UjM4M2VadVFYeWVqbUVNbTdpamIzaVZZQVB5?= =?utf-8?B?Umt1blVtU3JxVnlyNnZabWVQVWF2YTd2bGVmcmtrc2l3bVlsUFpRa2psZkxh?= =?utf-8?B?WjlOa0NvVGxkTTltTnczOVJYamZtV3VqVGs2UlM1VDIzOXhiOUhFak5TYUEx?= =?utf-8?B?N0VscUhlZDh5VGJ2UGZZMERxUkdvTU1rL2w0VjI1TzQvWWgzZHMwYVNRclJV?= =?utf-8?Q?uB+yLTzb6MMa8sD40OSBf1DOg?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: d8767a89-06df-4ac0-fca5-08dd94ad0552 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR04MB7470.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 May 2025 19:08:19.7215 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d7e4366-1b9b-45cf-8e79-b14b27df46e1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Tt0vWyhZ3ccwI+GsezbzpA6DDZrHxtwyuTJeTTmuKcRZVMRGLDSjaqeXuwoIe2RFEUrX9TYI6eGiip3pLl6FVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB8423 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list 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: Ken Brown via Cygwin <cygwin AT cygwin DOT com> Reply-To: Ken Brown <kbrown AT cornell DOT edu> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" 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> On 5/16/2025 4:59 AM, Takashi Yano via Cygwin wrote: > On Fri, 16 May 2025 08:46:40 +0900 > Takashi Yano wrote: >> diff --git a/winsup/cygwin/local_includes/cygheap.h b/winsup/cygwin/local_includes/cygheap.h >> index fed87ec2b..7d11fbb37 100644 >> --- a/winsup/cygwin/local_includes/cygheap.h >> +++ b/winsup/cygwin/local_includes/cygheap.h >> @@ -604,6 +604,8 @@ class cygheap_fdnew : public cygheap_fdmanip >> { >> if (cygheap->fdtab[fd]) >> cygheap->fdtab[fd]->inc_refcnt (); >> + if (locked) >> + cygheap->fdtab.unlock (); >> } >> void operator = (fhandler_base *fh) {cygheap->fdtab[fd] = fh;} >> }; > > This should not be done, because the parent class cygheap_fdmanip > does that. Right. But the other part of the patch (to syscalls.cc) looks right to me, and I agree that it fixes the hang. Here's my understanding of why it works: The main thread tries to open the fifo for reading, but fhandler_fifo::open blocks until it detects that someone is opening the fifo for writing. The other thread wants to do that, but it never gets to the point of calling fhandler_fifo::open because it is stuck waiting for the lock on cygheap->fdtab. To fix this, we need to delay the construction of the cygheap_fdnew object fd until after fhandler_fifo::open has been called. Do you agree with this explanation, or is there something else going on? In either case, I think it would be good to include at least a brief explanation in your commit message, since this is a pretty subtle bug. And thanks for finding the fix! Ken -- 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