From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2115.outbound.protection.outlook.com [40.107.220.115]) by sourceware.org (Postfix) with ESMTPS id E49643858404 for ; Tue, 9 Nov 2021 22:16:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E49643858404 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MI2sQIB1LQpGD2kGefdM9iGDlPgTXZF7otP5Pi7i/t3iNkchAXyUzMx9iucfjsnc4odBJGcq6G0hSopcJq97wgxSXOdVZd3KpJgdrex4X5zOajqDc9ubCB+DYKTc58GxmYv8OPS3zeq3Z4Xr1uvaOoe5lSFjagmkKhctU0WXgGsbFs+IKx/czR4gkXSOf3xh52MGvIIW2Jfg90bbjOmIhCcH9aQ1nTCDepXpnfUeCmb5kgUV+JopFC9kvTDdP2r9F+Qj+qVZKF+dhXWgXIde4+bGSRYz+zel3d3R6keW8AAW+L5ieW+vhW2lA6viqgOywyBuH2lXA54t09d/w01mPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=RUHzIsLvWfnhs2Y9ffvjaaBSMk5x1RQ0Cs8UtxctwZc=; b=Tfk3LC3i7OoKW8v4pbPovPpDQz0iGaFdi1EOAqJ96BEXivXLgQ2YzXALC9W1sS9ITCBMRRpm+it0rdDAWBZFI4/x0ZuLqiMqFkVaehGI0Rm62VHN55rPuR1Pfni+09zKxWavA5n2QZDRIRWUbcYugqyfSuZIinvW3EDqp7tfKQGmZgHCzu09TK4tBH6CQzLngx4wq443ALyvC06COmHCH1u+r9OwndP3vROFtO6spCjwwTS0xU6cR0AUdAXcXl8PJeqtFlIuR60oPL2xzrfTgjOfSg7WQcPdR+xSUZatZnQuVBOzbTuwRnRjQNiNJvWJmO3JnPwc8jBj5BztlzbWaQ== 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 Received: from BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) by BN7PR04MB3955.namprd04.prod.outlook.com (2603:10b6:406:ca::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15; Tue, 9 Nov 2021 22:16:33 +0000 Received: from BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::88c4:79c5:1eb1:b969]) by BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::88c4:79c5:1eb1:b969%7]) with mapi id 15.20.4669.016; Tue, 9 Nov 2021 22:16:33 +0000 Message-ID: <0971ace1-5ee8-bdcc-5fd9-4551b294ebf8@cornell.edu> Date: Tue, 9 Nov 2021 17:16:31 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: Re: Another pipe-related problem? Content-Language: en-US To: cygwin@cygwin.com References: <05c4180e-396b-4af3-ac0c-2ab8125df17e@cornell.edu> From: Ken Brown In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: MN2PR20CA0025.namprd20.prod.outlook.com (2603:10b6:208:e8::38) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 Received: from [IPV6:2603:7081:7e3f:3419:7428:1d03:8434:f8fd] (2603:7081:7e3f:3419:7428:1d03:8434:f8fd) by MN2PR20CA0025.namprd20.prod.outlook.com (2603:10b6:208:e8::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15 via Frontend Transport; Tue, 9 Nov 2021 22:16:33 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 862b095f-246c-42a4-6b7b-08d9a3ce96a4 X-MS-TrafficTypeDiagnostic: BN7PR04MB3955: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jf3XEwmGSFDgZDcYKzwOcF1ev2jnJtW0OHUlT/afJfsJqbYpWNIDffwB+e2EVtf/qmS6NlEVgK19us4xJ5e8zKApf7mv/NfrAu9nD8es+4B/9NJbzjkDJu32eo/AQkL4DxMt8N92AqktqmjmpL3fQKk7YKmLaycNnqgG1eRKkKxDg2YauwKyAbyALYmjY1REg+yKfp3dXkvhvXd4BKbhwGJ6orfvXbm1e6tFRG0DCoNbAJs96eR+gfl7lm+CdC4IUq9UAMLjubbrX1jS4EAAOs9cQNIfr86IS1pzlXg/5m2faRO3q6h5e4oLXGAlRWYJbBJs5n0uVjvi+U+IiEUg94H2PjUz1eKw4LQYnXNNiMMyGgJSgZgdAVC5ilE2Ye9rivL/YqywuSv25h5Y8QTFzepkkaT6kkMv899S5f13Y8T7z/nhM/36w0Cq2yTjlVJgOX9e0e8/vLHnDpqlshoK+Xbq39xY1YaZO61+5e4qp2g0KnaV8KR48iuEsvKYMsnrJBlZGLOaCt6izFxoFKWekvkJyXdZV7M3fmLds1ePZSna3aZwK9cDmDq5Hiv+JIAWX0WXjV3G/HuY97ThP6CxV23cH1AY/SnmPf8RDTBT62lctOF0X3HhyzXtq9n7pkuQIl0+vxE0xUyttmdGcRxxqjX4xQVQqIdBPiA5I3jY9K55hkpVx63eVcfJacF/pqjA179Kv6Nk+ixFz2W8H4+89/EPlHG+iHFq096IRD8dM4Y= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN7PR04MB4388.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(53546011)(66946007)(66476007)(6486002)(31696002)(5660300002)(2906002)(83380400001)(316002)(786003)(508600001)(38100700002)(31686004)(6916009)(66556008)(36756003)(186003)(86362001)(2616005)(8936002)(8676002)(3480700007)(75432002)(45980500001)(43740500002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eFdVa1VpTGRzKy9INUFvNTVvTklab1NNOFpub0NvUVJWNU5PVENwaFp1T0c5?= =?utf-8?B?WmhhOG1FRlNheWQvRTFXSEpnOFpLZ1Z2bk1laFFGd1F4dk50dm80WnBuaWdP?= =?utf-8?B?dkFITzVRVmM4aU15MmVwT3dlRm5lRDVSakF3eks2Rm1DejR2VlJQZzhNSkJ6?= =?utf-8?B?b0NTYkV5TFArakZRbHlib0hhVmdteHFaZGQxRnBmcWIvZlFOYWc5bW43VEd3?= =?utf-8?B?dE9IQlpaM09mbWx5Wk01Q1lwVzVDYks1ZHhiRnk3UmdmZFowS0wxMGVtU25l?= =?utf-8?B?WW90Q0NGY0NBV2N4WWVaaDAvZXRGL000bTNlYmVCc05QdmxoNnZHNWJDMkwx?= =?utf-8?B?clpVb0xLWTFsZ2pQUFdpQXdsYXRBdHlORzBIUWVuMVpYbnJUaVhmckFmZUF0?= =?utf-8?B?elJhZjRGMEZSajJPNW84ZU9hdFNLVXJoQ1pFd0dGZFdmK0gvZUQ4NEFQTzlE?= =?utf-8?B?Z1JMS1FGUUE3b1VJWnBqRnBVeGx3emJFcXljREM1ZDIvd2VZQXVxckthbGxi?= =?utf-8?B?TjFnRG52bEZQUUcwWjRlbFhTV3FKSCtvRUpldmpvRUYvOGR1Y3cxVVB6QW5t?= =?utf-8?B?aHc3MklNN0ZvYTlEMVdNTFBnVlYzaVo2M1RlNGdkdEVyc3Qxa0gybGRvd0lL?= =?utf-8?B?UkRJNjk2a0ZnMFgzdjRVN1NManpYOXZEdDFXMjhiMVlsMk5OcmUxc09NdHdS?= =?utf-8?B?L3E1YWNYSTVGY1ZHVVdZeFZiUlZ2YWhLbG9Jcmo3NWZLbFFsUUp1OWhURzVJ?= =?utf-8?B?bTlzbzlWcVQ3MWFabEErd1dicG1CT1haRkhqM0h5MHF6SjNRNHF6M28xa3V6?= =?utf-8?B?ak9lVkgxem1SSzQ0UDdxNUYvZk92RjMxVTN2K1p0UmF6WnU0YWpxb0lFbmtS?= =?utf-8?B?Y3pwNEl0VUxNVm9xNVdsSENtOGNRRnBMZFJGVzZ5T1FibUh5L05PVzh1ZnZU?= =?utf-8?B?TWd4L05QdlZvZTJjTHVtUDhSN05WWERzVTJaeFI0aWZDUENTU01IQ0kzcVRE?= =?utf-8?B?K2p1dHJkbEFuY3lIMVJuY3RDc3VmVlA3RS8veTdIV2J6a3cyTmd6S0d2RVFj?= =?utf-8?B?SStNa0pENEtWbWphMGdLMzJQUEMrVUtGVTRPOGFjS29KUENWdlQ3UlN6MGdJ?= =?utf-8?B?TmlIVUJRUTZReFZDdzRlWjFQN0d2TVQ0SE5Na2F4UjU4ZEQ2SG5zbzY4dUlt?= =?utf-8?B?WklVTzJOaW9JUlBITE1FeXpaaWVyMWk0YkFJTlZwclhUTXlIQUc1UjROYUlR?= =?utf-8?B?dGVhVlpMNUtYekQzelhEZG1iS2tiNHlNSmZUTWZWOUJ0aXUvZTU5YzdPcDA3?= =?utf-8?B?bnkrY0lPWUlnb3RwRGpJSkZMN1VIanFMMElqeHRhRDl3Ylo0VUxaT0MrNG5T?= =?utf-8?B?QkQ3M1V3ek5vTXF3RTBrbnBYNUN0Um83Mmh0YzErVFVYR0lTMmpJRkwzSFZk?= =?utf-8?B?M29HZkhWVGdJMmFYUlRHSVp2bldOeFpoY0UxdFlHYVNwMWNuSkZtcDJEWnRl?= =?utf-8?B?Y0pYR1NyWXN4RFRIcXdqRGdSbWgzUVIyTklOd1o1UkdhSnRHL0xsY3BFa3Iy?= =?utf-8?B?bUJsZzRMVGEyektiY2YyaGRoZHQ5U1ZmK2hXbm5Gb0xYWFYrMURqTTBzUG5U?= =?utf-8?B?cUF6TG5xQ2ErNzhXNG84ZHdmdnJUTnNySkFENkFaeU9mNGtGYXlPbm8zR3dJ?= =?utf-8?B?L3h3T1g5MkgwQVhRT0g4azNENVNES3RKNklzQnVkMDd3Tk5ySzYveXpLY1N3?= =?utf-8?B?K20vVnE3Uy9ab1B5Znk1ZU1uRkJTUmhEcEVxWHFnK3lkSGN3U3c0RFJ3UzNx?= =?utf-8?B?cEdxQlYrYnFjMlByaFl2TmVyaHNQZE0zV1YxNk1ueXlVV01QVDhiL0t4WWVD?= =?utf-8?B?UURUMXpZMVZQV3RIZVZIODFmOWZ1SjF3dk0vcHFqR3dPa3d4Z0VqYnl5M21W?= =?utf-8?B?T0ZXdG90WG5BbGR3QWZCbG9JOWVFZHVOekJpTlFjWHY1azR4RjFRRFozcktU?= =?utf-8?B?V2huZmE3Q20zeEhTMzhyRVdKTlFRV2x0VmlPek5vQS9JNjZ4a1FwZ3h3azFY?= =?utf-8?B?dlBJbjdsUXZkQmtyRzFRK2RJdVdLL1ZKZ3BZWFA2WFFIcEFPOFFPZ1lBUzNN?= =?utf-8?B?Y2lhTGNmUnl1TkNQckhEWHVpdjlkVXNIQW5iOTJNVi9kbEszVTU5emF6L1lP?= =?utf-8?B?UHE0YTcvOVh1QlVWMks4dUJsNkhlcnQrNHp5d0poRUJ3eDJ4S3o4WmVwOEM4?= =?utf-8?Q?P2n2Oul+4vU9YN8dAwVBvI/XiockmdWdR/RfpF6i+c=3D?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 862b095f-246c-42a4-6b7b-08d9a3ce96a4 X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2021 22:16:33.7912 (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: 4x7lBXJw0OxeKaoaVkG+nL+144Us/SJcLT+7JofpoUb8RJFtesOESTZTzL5M43FoubDIWjZC4KbqOxJB54T1EA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR04MB3955 X-Spam-Status: No, score=-3.6 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, MSGID_FROM_MTA_HEADER, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Nov 2021 22:16:38 -0000 On 11/9/2021 9:11 AM, Ken Brown via Cygwin wrote: > On 11/9/2021 5:55 AM, Henry S. Thompson wrote: >> As you may know, the XEmacs situation is complicated.  The old source >> repo (bitbucket.org/xemacs) no longer exists.  There's a fork that's >> still being maintained, but it's not widely publicised.  That's the >> one I'm working with -- are you aware of this. > > I was aware that the bitbucket repo didn't exist, because I tried to get the > sources there.  But I didn't know about the fork.  Please point me to it, or > just make a tarball available to me somehow. > >> Here are the immediate contexts from the sources for the xemacs >> sources in the above backtrace, might be enough to check your >> hypothesis: >> >> sysdep.c: >> >>    retry_read_1 (int fildes, void *buf, size_t nbyte, int allow_quit) >>    { >>      ssize_t rtnval; >> >>      while ((rtnval = read (fildes, buf, nbyte)) == -1 >>             && (errno == EINTR))                         <<<<<<<<<<<<<<<<<<<< >>        { >>          if (allow_quit) >>            QUIT; >>        } >>      return rtnval; >>    } > I'll have to reproduce the hang myself in order to test this (or maybe you could > test it), but I now have a new guess: If the read call above keeps failing with > EINTR, then we're in an infinite loop.  This could happen because of the > following code in fhandler_pipe::raw_read: > >   DWORD waitret = cygwait (read_mtx, timeout); >   switch (waitret) >     { >     case WAIT_OBJECT_0: >       break; >     case WAIT_TIMEOUT: >       set_errno (EAGAIN); >       len = (size_t) -1; >       return; >     default: >       set_errno (EINTR); >       len = (size_t) -1; >       return; >     } > > Takashi, is EINTR really the appropriate errno in the default case?  Isn't > cygwait supposed to handle signals? I was able to build XEmacs and reproduce the problem. My guess was wrong, though my question to Takashi still stands. I think the infinite loop is actually caused by a bug in fhandler_pipe::raw_read that only affects non-blocking pipes (which is what we have in XEmacs). Consider the following code in fhandler_pipe::raw_read: status = NtReadFile (get_handle (), evt, NULL, NULL, &io, ptr, len1, NULL, NULL); if (evt && status == STATUS_PENDING) <<<<<<<<<<<<<<<<<<<<<<<<<<<< { waitret = cygwait (evt, INFINITE, cw_cancel | cw_sig); [...] } In the non-blocking case, evt == NULL, but we still might have status == STATUS_PENDING. We then should wait on get_handle() to let NtReadFile finish. By not waiting, we end up using a garbage value from io.Information, leading to an infinite loop in drain_signal_event_pipe. I'll try to fix this. Ken