X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AED90385781E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1636512849; bh=fvBWA+V8PCqCaFEP+U7yhK3FyBVz0hjHtEJ5zuXqCTU=; 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=yG/DILibfhkr98W0k/1fqLP3N6x+Hme8gUuWvzDvp4lUMqz/2AfbKgPBF04ZKY5jD Do/fEU96SNiQUfQxQHklKh7DLcetDU4a9WxObMhs0cjnjah3gaHKM8Rir+ZgRISfnB i65hB6CK/S7MkmTHZuSr7hW2FWEWnnVgo8PH/t2Q= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0A6913857C4F ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jkDZkkpNv8o0cU4XdAdnL1KzJSbHRJ1ZuHG8gKbu0Y9ynikXlfV6IFj2nc6aXWSpAHYYdoK8d3gUX1wL775qNR8Ke0V/P7u1zeHUGrKZga7UMZjekIih2o0qcfqRKi6mUKXK09/wwsYhm9Q/8Xv/uHtgnzL4iElqQr4PiwzBmSxFNJ+flKRWS6ShravKYYRK0fAK6Bj5WRhNpWNdzni73+4VrVrUkG50h6OaPIRKG2ZBabMiyR70O4buTCrjfhiye1YAYpJpvLTEjaAj8BY7N4WzL47518eij//mJmfCSwlmjXlXxHmMaLUnzURZOR/LMJ83WOsCFBajnVHmIpgq0Q== 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=UX8j5IpiZYIzjOhjum9kGP2waDG83j+Typ8TNAjrIyc=; b=ivCqlCTF2xJhe+Wg24dW1Pbi6OyKEMqhrYiK7G+L4Kw3IMBjlJLhMTeM1fVtexYdEXrUzgkaC2L/9QTxg7uQWvHqT1GqY6pXPYvW+r/vfBer7ILNuFHAlz8YAWcX4FHxBEXaldAxWRqVf0tNJiKAwxsmP5/KK2GvBrE/V8U9FrZbyMaUnHS+wJvv/VbTTlgDY8zsxw4yGciQMyyqBfu83skajIOjp2YEy2FJ4xW30kTvGTgswWc5z6EGftSGqllp1vrOEPVgG+vm2/ilg9pW4EMKlJbpXsrR9ZMM6g7u7GV+IPsKV9eX05ur5RSkIoztSZteSzaVKXTq1Eyi84IfTw== 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: <bb6c5229-ce46-5fb3-c8c3-a19c0826d8d5@cornell.edu> Date: Tue, 9 Nov 2021 21:53:35 -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 AT cygwin DOT com References: <f5br1bqaj11 DOT fsf AT ecclerig DOT inf DOT ed DOT ac DOT uk> <05c4180e-396b-4af3-ac0c-2ab8125df17e AT cornell DOT edu> <f5bk0hh8uox DOT fsf AT ecclerig DOT inf DOT ed DOT ac DOT uk> <eb8d7d4f-d1ed-6f30-2ac3-1b24166243d9 AT cornell DOT edu> <0971ace1-5ee8-bdcc-5fd9-4551b294ebf8 AT cornell DOT edu> <75197fd0-d5da-3236-a7df-b8ffc3f67da7 AT cornell DOT edu> In-Reply-To: <75197fd0-d5da-3236-a7df-b8ffc3f67da7@cornell.edu> X-ClientProxiedBy: BL0PR02CA0043.namprd02.prod.outlook.com (2603:10b6:207:3d::20) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dada2a34-2bce-4aee-6ee6-08d9a3f54b20 X-MS-TrafficTypeDiagnostic: BN8PR04MB5828: X-Microsoft-Antispam-PRVS: <BN8PR04MB5828606F6B335ACC0427C024D8939 AT BN8PR04MB5828 DOT namprd04 DOT prod DOT outlook DOT com> 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: OZWDBgXX34tATDYiK2Qa4rPpE+VaiSSGSoU1uKcDd8lnpqvtQVZ+UqOwPF9gktGzJFHPaafabOKkvr6y/hZeZ63PfTznlCOo0OuR7JCYE9HstinbwkwTICubJgzIjA3ByizZ39WuzFXt6qINxxrvUjkLy0Ql02SBXkzfGMGJ8SWAOsjAtXNmUVV2Cv6k/V2ZHZWq74Opo2tnXOk2wx7DPJkErfjuq6MijgyPuyeS5uMT0gMs8WiANHjwis5pVwdls7vBmXp4SdC+r9OBQPbdo+10lkR1zWfP4Thfskpq9O+4umelx06M9gOy+4eWSpvZT2IPLsfiOXIeJqjK1nMQ6VAFoltgeIzawA4r2CH96RL4utoNpZ2phWKs7BIyzI1iekphkz/FBHTcJ1hJLOEYEz4lOfhreH+fwiGWBktC6XeXnC030voPDYAKIsaefTxBooIgkXbg8IBDj8TwCgrDO552ommpRIVO1LKE+YBQ4G7d712NipXFEMDBJ20QlXiR+fe6X39pmogUNq+KU2ZT08W7q+E2LhSp+Wm2SKSOhbVwUqqFM0YiStkKpji/qdD+7jgKHJJbj33Z/YZ7gqEgjs7XydnPsBEaBVhodqVyCZAksp4T/wB5/Xsk8dpr2NY7TMXN+2j7qNSF/x/qYZDg87rMWZ9uSVWmPhnX660ovjkejkoAFD1ZL4FVI+Rhppd3GbhmDfybvR7EvPLBW1PhsHmSZrfKG+CMxa+FA1dObkM= 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)(31686004)(3480700007)(5660300002)(38100700002)(86362001)(66476007)(66946007)(53546011)(2906002)(66556008)(186003)(6916009)(83380400001)(786003)(316002)(508600001)(8936002)(2616005)(31696002)(8676002)(6486002)(75432002)(36756003)(45980500001)(43740500002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZWV1bDdoVW1JYjJTR21FSGg3QjF2emxRMUVrZ295cTJiN2JSMHFXOUo2ZFFk?= =?utf-8?B?clppRktZaDlPb3pJdkgwMzdoaTRJbU5vVVp3L0g2YWhad3FVQUtnZFcwbit6?= =?utf-8?B?V25NQWhMN21vN0FHZ1h3UjFWSnJIbkdabkR5YjJLZktvZ1pyMGRQTXdyUTBI?= =?utf-8?B?YXBrNkFOMHBRaUZtRk9iaFVVTHBJbWFMclBBdXBOcU9HTEhDaVdzZ09FUDJv?= =?utf-8?B?QUNPZTJUSmJsRFRZUDEvenlTOUx2dnFLT3pUUlFSemZUV3drTjRYdDh3OCt2?= =?utf-8?B?WmF2UUlQZjkwQ204czdKL3lKeThhOWlzMllXRkVCUWpKQWUxcnlnUGNoMEx1?= =?utf-8?B?QU5rZFlmQmE3d21YbFNGSzRhMFhRNVFSYzVYYSt6Mlg4aDdTemUrci9Pb1NF?= =?utf-8?B?eVRPS21UeExwdGFZVVd0cjduVlBsbTU1ZkxqT2RsYjY2QWZLSGNJaCtmRVla?= =?utf-8?B?ZzUrcVR3TWVOaldFMnk1QWwzLzZOWnV2bWF6Nnh6ZTBWVy94QUdhaWxpMkI0?= =?utf-8?B?cWcxNHFuZG1QNnR0cm90MElZd2xUS1ZFUThvVGlYUllUTS9ZVGV1MGxFc00z?= =?utf-8?B?R0UrRVlRNlV5VkJYZTNFZm5RbFZDaUdtempnWmlvT1VuVHhLblE5MW8rOW4x?= =?utf-8?B?aFJMYlRDTVJNbjdpS1lueDcyUE92SDc3ZU12NGR2aThJRHZpQWxaYjB0bTg3?= =?utf-8?B?Q2NwZVdLZ1I2dFJGekdDVXBnc0pnTXMvcEdMZWJETHZiMWJLd1E3TGM0UU1S?= =?utf-8?B?WStWMG9iNjE4bHA5Y1RTZjBobVZiaDU2bHhaL3Zhd0Z3VTZVV3Jpc0pqS2lJ?= =?utf-8?B?bXZvR3JWb2NIdkxmK3Q5YWtlWmFORG9HWnF4WmFMYkptM2t5eS93NUxSR3hI?= =?utf-8?B?S0dMTDNkRHFNN0dwcGprL3I5UlBJS0pqMVZmWXhBRThyNThxZlcxbzZGS3BX?= =?utf-8?B?V1ZHaElIc01ybE42MHlmOG93c0VBNGlGZ1ZCcDdjVzQ0cE1yUEdKTFp0UEd2?= =?utf-8?B?RmdIRXFYUlFDMGNpQXlHZFJSZ3NpNm03NHFJRVVlL1lINEJTbEJkZmV1YnhT?= =?utf-8?B?UW04cnhJcTF3MUxWejliR1ZhYmxrajBSQlRkQUZ2ME5mRjlZU3lqaXZNbEU4?= =?utf-8?B?bzhuNkVIQ25HbzZvYWN3ajYwVXVmT1hpLzd5Ri9oRVJFV3AvQjhGWHlmZ2Zo?= =?utf-8?B?L01RUFpyWkZxZFpacWNxS0huY2JYdWpjWTJ3ZTFoNU5oMkR3akpOcmN5MVF2?= =?utf-8?B?cm81VVhRQWlZV0NtR1BoMmZ3NGVkYnN2UnpVckEwRmg5VVd4aGNPWVFlV3VB?= =?utf-8?B?dmdPNGE1REdzbjIzSGd5ZmFHdXE1UUdZRnZtdmlseXA3elN3alEwZWNqTUJz?= =?utf-8?B?RnMyUEowMm04aE5RN1poaWluTU5oQ2Q4Q1E0ZlRZSVBpRk8rcEtRSlRsMEZJ?= =?utf-8?B?eTFnZENMbjV1Z2c5dXI0d2NPYktVLzB3SVltQkxZKzcxMm9KSkZwdHF2OVhV?= =?utf-8?B?dnFoblVuTGNpVWt2RVI2eGRraXk0OVlPTS8yTGtGYTJHRFg2Z2cwa09rZWht?= =?utf-8?B?UFNkb0dWN2dMb3pvc1l2R29FWHZqdlJQR2ozdjZqdXJLRXRwL2lrMzhoV1BU?= =?utf-8?B?UW1rbGN6UXI1d081eEtwS0ExUmZNZXFzSHFMYnhrZ2tWMVZnc2dDMy9KcmFv?= =?utf-8?B?UHB3TUFVcDhiMHV2bEwrNE5lTmV2cnJMeGN6anlaWjhtY3RWR0UvN3RvM0hT?= =?utf-8?B?S0FOb2FYVGpJN2FEWG5KcUtSdUF2SFVoWHRtUTNuTUdkbXVNZU8vTyttdUkz?= =?utf-8?B?RWRyNDUreXo5TjJ6WlZaY3ByWEsxclZvU0UxUm5wN2xRMXlCQW4raThvRXFB?= =?utf-8?B?T1ZlaGc0QmlhUCtWc2tWRExjZ2xkS214TVJOb2g1NDBtb3NES2Zta1lISlZl?= =?utf-8?B?NzFheStuTHdlNXkybk5xSUN5ME9BVi9xYTFrNS92VTl0ZUFFZTN4MUluQktL?= =?utf-8?B?SXVyTUdvMVQ3Vi8vUnpiM2Z3THFQM1gzMDg4N2lJa0VweDZhUlU1bXIxUERY?= =?utf-8?B?UFJtTzNZMEFkUTA0RmpsS25hZzdweEREeVNobzI3TzFXNzZiREhmVEt6M01o?= =?utf-8?B?SVA0dGtjT2lLdER2TEdJazkza1ExT1dGdUFzTzVnYkJLSm42M0xkRCtwZ2Fl?= =?utf-8?B?OGgwZFdnR0c0dDNFSS93Z0tmTmFwOFRJaTRKdmsxa0JtdnV0SWdLZTRDQkU5?= =?utf-8?Q?tXKdu+/YKRqEhHYi8hSSGqM8c6r5I+pBxzWSr/e0oo=3D?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: dada2a34-2bce-4aee-6ee6-08d9a3f54b20 X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2021 02:53:37.3267 (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: tR6IguSlazA+6smzgT8En108pDo3lOlCraESrLotMss88zhajFZPzZFMR73WkO18Rpk630Et7NXwrFlMK7CsMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR04MB5828 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 AT cygwin DOT com X-Mailman-Version: 2.1.29 List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com> 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-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com> Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 1AA2sB7j023017 On 11/9/2021 5:20 PM, Ken Brown via Cygwin wrote: > 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. Nope, that doesn't seem to be the issue. Even after fixing this, I still see an infinite loop. Probably NtReadFile finishes quickly enough that io.Information is in fact valid by the time we test it. Back to the drawing board. > 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 -- 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