From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2132.outbound.protection.outlook.com [40.107.237.132]) by sourceware.org (Postfix) with ESMTPS id 892953858404 for ; Tue, 9 Nov 2021 22:20:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 892953858404 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i0MjOY69d6U4XF7TypBi8eVhhJ+PdRioSbCBJW/y16ztoJzEZGYBBrt2mfldo5Cxw7d6POF7H5/9cL8aXyhWyvf0JKQcJJs4KXdNzMOyNsCnf9frjH45/5ZQVe1plBtE4fGryxJps0Lb97K1FNAw3PG2JEIhfqJ3ZXK2AMpedYb/QjzMqP40DilruE3ek2GGM5mN1R8U+PXKf5mYqk25WVgmMe/ZqyUTw2s9sX0ONDlDMKb3FNAB7Ymg11QnG6C4hqHmD8F+CuAs509IuDGhvbCaNEYYD0//1orH8QR3CebeKWIufuGz4AKS53WJpUHeVTs2pcSPunu2CDS0Jemb/g== 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=jGM4/ikQyKEhN5FhLFRLselNoIJCeFWD/yeDk8d7qW4=; b=henJBpS3bpnGglXqOOHVOVxbiPwFLEV+xXIAEGi7T6loiKPXLaqzsnu6plhL0ruwWS1rptm3hU3PXrwmv5U5uPOQM2DmqXSOiV+yoWio6zGxgo82xHBK6eSUResxiEBFcJrM5dCBC0i1SXpNQ5SRO/cEYYx6eFDTUBCgDzeJBEmt0T17j6VOlpoQy9JgiwV2dw6uDRVKHbA0vd/YgsKPNi7TSlvuNfqknx1CI+RtgipQ9r3V7pHRg06v+R/lc5FasMme8obavMp1gmq+YWI/qc9OY5vlIkY2/jv2janljjLtS1M2fZWCM7/RPE0x8B66uvJxBRHCCG96PzGfL5Rxcg== 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 BN8PR04MB6163.namprd04.prod.outlook.com (2603:10b6:408:5c::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.13; Tue, 9 Nov 2021 22:20:50 +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:20:50 +0000 Message-ID: <75197fd0-d5da-3236-a7df-b8ffc3f67da7@cornell.edu> Date: Tue, 9 Nov 2021 17:20:48 -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> <0971ace1-5ee8-bdcc-5fd9-4551b294ebf8@cornell.edu> From: Ken Brown In-Reply-To: <0971ace1-5ee8-bdcc-5fd9-4551b294ebf8@cornell.edu> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: BL1PR13CA0441.namprd13.prod.outlook.com (2603:10b6:208:2c3::26) 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 BL1PR13CA0441.namprd13.prod.outlook.com (2603:10b6:208:2c3::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.5 via Frontend Transport; Tue, 9 Nov 2021 22:20:50 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 98b1ddb7-2346-4744-7a6d-08d9a3cf2fb7 X-MS-TrafficTypeDiagnostic: BN8PR04MB6163: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gWo+cc8r94AKbg1aU0aLcXb8CNxWs/GumIkWsrpF6n5Djoi461OqZ1LIqFZuErWWDMsUwRk1S9KTiwUzBemI36ivBnRjfRZ7M4jJPOR/KBZJ73W42Oto08D5V+oLx6WLk0WYfODoeNNkEO+akjRI7l8OpC16OPLb3CwgRNhpwMbK3Qzg+JQetBNiBqs3xV0VPMtZJP8GSqcB84z44qRIehk78XqwAhacsZvJTGuFSYOw9PWfYhdyyjAgLDiq3VcASlJo1/PJ8iKgz6B9I0LW78qyjEQEYiavsHf/cR12tDGpFlVrWHbY33ARvsLWEhXxG/SQ2cZxUuSC/nmdgYwi/SYjP0RSUgXWI4rap3xkGSGJlyaGFJOY6a0JZyg6HA8WCpjVHVXKMKz2OZv1B7iZfBWvAF/WK370CNdXJL79Oc/pHDMTCqakmXRrUrNJG0k7FbhJbq5GoLF97DK/kE6Ga3xO5vzeTVbE9Z8nR5s57tJM/u1oey6X4vb/fbXaBwmeylAL0A1o6UqIfRJ5XJzBF6oM3GyXq37F02LV5TXn09SARaexUs4Ss8lO3XKYLkd0CdPomx9UyBJcXzfLjD6kJXZvE0yJpuifunUDK+S01Ff7V179eRZ9C1nyrsVBV7HGWJW9cDuYRul6XllwKMhPnx2bBV/duWV904l+Vs7E5xxADPwmjQrpRevf2NSnV6OctFEH9+rtlWUg54pE0tDCL888YoJX2c/PHvJu7nrdqow= 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)(31696002)(786003)(2616005)(38100700002)(316002)(8936002)(8676002)(53546011)(6916009)(66556008)(31686004)(66476007)(66946007)(6486002)(86362001)(186003)(5660300002)(508600001)(2906002)(83380400001)(3480700007)(75432002)(36756003)(43740500002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?R05aKzQwbDhLVWd2cW9PclBNY1laZ1I3OXExanhwTUg4TUZhZ09jM3MrblE5?= =?utf-8?B?SUlFWDZmcUllUUtvSmhFdUhxaFdKR2hRamZpYXBEMjZBSHVSVkYyZStoRFFU?= =?utf-8?B?MUpRbXR2WktkaG9aSUZZNUZWdFNncXh6cDFSN1NMN2NxQkhBanZocGRYWlU4?= =?utf-8?B?N0pDS1BqMGwyREI0c0ZzamlIeVRBcU50M09WSVk5VXUzT3Q1dmVXbzZpTFZx?= =?utf-8?B?WUE1NWRONXQ5VHRtcjlSMXdlQklkZTVMMnBoa2E5UGxLdERVdVFrWlQwRFVj?= =?utf-8?B?L2NiZUNKV2ZGM1NlOUZmbWxZMlFLenNNaHQ3WU12T05vaER2TVo4L1cyOGxn?= =?utf-8?B?QnhKakZWWitvY0xVOE9xdWplRDd3Q1l4c25MOFFsS1UrSjA1a250cVJBS2Rr?= =?utf-8?B?d0E0ZFo5RStPdERrSGtkQnEzcFc5UGhZMnFLN0E4TkdxQUxRbjRxN1NiY1Q0?= =?utf-8?B?YWh4Ly9YUWxFcUNmS09MQkg2UmNYZ1lmQ1p0NjRScTc3M1ZxNkJWMTMwU3Zm?= =?utf-8?B?eDRmTE5WeTU0dG5yQjRWRC95bTUxMkRINVlyd090OG8vMXp5RVc5WWRhanVn?= =?utf-8?B?aHZrc29Dd0xDdDNHKzlRQjJrdjBlZGZqNDBNTEhHNEpJZ2lUcmpPTlB4ZStF?= =?utf-8?B?c2xMS20zSjl5akpubkxzam1SdEFjazdEc2QyRWY0SXdpMU04MzEzc0Q0NmhX?= =?utf-8?B?NDdIOVR3RWhFQ0hVOVJDQ2ZWdE5xQ0xCamE0L3JONUxXL2EwYlpvMk5XeVhG?= =?utf-8?B?dTdtUThOa2UvWlRiWi9ZWUtrQktXc0t0ckpUNi80SDc1OVJjOVRtQjZMbTZq?= =?utf-8?B?WEJvOHVGaTVEaWlKclVGTWFqZ0lvSThRZHRyb205M3BoTDhWQmwxMnZFc0JT?= =?utf-8?B?Q2dmOXNFSDg0M0RMWGg5QzhFeHM0bGlKdElhVTlabW9MWWo3ZVRNUXNEdE5V?= =?utf-8?B?K1RnMTFEU20yaWowQW9tRzhyeXpIcXZlc1hLNjc4dXFHcWpnbkRFUTN2V1pm?= =?utf-8?B?alQxL00wM21RRVErYThkZWdJTHVBQVBPU3FmUWc5VDdNNExRcVpsS05tSWRj?= =?utf-8?B?cXVySTNGbEdPbXlKS1lCMU1QaDhkN0Z1UVNrQmdMUlFyRmpBN21MbVFIZGM4?= =?utf-8?B?QldsdVpCU2l1Y0FmTjBLZXM5NVA4U09Tc0VxQXkwVlZVWXNBMUJpQWRPRi9D?= =?utf-8?B?RFJReHY0WURvQ045ODhVSnhMRzR6ak5CaDZLUzdsOS9qNVlOK1NPTjAxanVE?= =?utf-8?B?WXNPbkwzWkUrbE5lUzAxS2Z5SlJRRUFrWU5zYmRQZHRJUUNlUk9haFVBNnBl?= =?utf-8?B?ZXUwSGtWNnIxSEpSdm5SdFZubDlVc3VlVnV3MGRuZ1NORVpmSkprV2VsVnJ2?= =?utf-8?B?cXRRckFMUHZRR0lYSVJoNmxUOW1ya1g4UzN3SFh2MlhESzZnYXlpdWxqU21I?= =?utf-8?B?UnBHM3JDd1Yvb0ZubzNwZGg2bmJYZVU0YXZMS2hJN3JtTW1uWTE2dkJ5L1pj?= =?utf-8?B?Rk5odi83bDFaRFNzc3RUcTdlZjFqNnFNU1E2RE1zK0Q3SW9ES1F4SFlwMlo2?= =?utf-8?B?cG1aVTZ6R2hCeDJvdE1lQWNnd0srOXRUbHZLVnpDVmxtcllJMmFOQWt5cHhV?= =?utf-8?B?TVgrZTFLN0tmTGVPSTM2NUhRcEl3OUptdTZtRHFGeU04eVRxdHVkRnVCbWtj?= =?utf-8?B?Q3RPRFZ6N2M2L3VqcXZZMDlEWjdhZkZrZlVtdnhKMWZPMGNtMi9MSkkvZmF2?= =?utf-8?B?L3MrWmc2QkNiOWZMcUFFV1duTHhSZDM3OFhiZHovQXJwSkRLbWV6bVZoakNC?= =?utf-8?B?V3pTTGhQVEJaMUhUcjlsMDViQnRmMThoVVJFaUZUekF0amsxRGNRbTQ5SGUv?= =?utf-8?B?VGh2ZHFwcnp2dVV5Mm04L3h4aHBsRjJUWTFDckp2YXZybHNmWFp3SmMxK01W?= =?utf-8?B?cDNCR05SM29yK1JpckJUbWpSWTJJblowYTloTEFYa0ZmUHJQOE96cGZOdjlx?= =?utf-8?B?UEpwY3FWdjJRVHF5S0cxSzZqZnhOQjkramFZdTd5VUlvN1FKWDU3anZmVU1I?= =?utf-8?B?TjVPU3BxMVdQZUNhK2FIM2wranFhcmV6UW5MSXV6dnNySG4yRXFkYTZOSmVn?= =?utf-8?B?M3k2VTdBdWYxOG1PanBEVDh6emZyRVRyOWo0eHhQZDlZV05zL0ViVnIxM2M1?= =?utf-8?B?QXdaTGo3enUwRTBBcmorb2liTFhKTGdDaXFuN3VGdUtuUEc4VnFlKzR4Wnpz?= =?utf-8?Q?sn8WQWMnrch4TUrb6BkgmDXASnBLvsaPs341RF1Q90=3D?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 98b1ddb7-2346-4744-7a6d-08d9a3cf2fb7 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:20:50.5276 (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: 9XWgYSJfSnCztEh9ZcVwt+K4swfACcuSg7ILPsTY1uZdW3WD8i9k0VatipRNQMUQw014YDJxDJqF8Z4Z7tyW9A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR04MB6163 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:20:53 -0000 On 11/9/2021 5:16 PM, Ken Brown via Cygwin wrote: > 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. BTW, a quick glance at raw_write suggests that there might be a similar bug there, but I'll have to look more closely. Ken