delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2021/11/09/17:17:52

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 246303858439
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1636496268;
bh=VL5rFKapXr+gmYO0BI/3sNU7LHQNCqcx6CWyEmCruQw=;
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=eGUHV04ERXSTnnKnYXR3q7fRoIE29KOsNyQq1ytY/bAUljAucKDs73bcdEmABoi4b
vGRibYI+23r53an7IRPEslJp/q1jwxMX1mAVSuUrsRP0WIdTWFJZUU929/K4XZzByz
cFihMEHUFdBKVEF0NPNVQli8xJ6LlNToIjS34TZw=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
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
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?
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>
In-Reply-To: <eb8d7d4f-d1ed-6f30-2ac3-1b24166243d9@cornell.edu>
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
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 862b095f-246c-42a4-6b7b-08d9a3ce96a4
X-MS-TrafficTypeDiagnostic: BN7PR04MB3955:
X-Microsoft-Antispam-PRVS: <BN7PR04MB39550AC526C96703C6CC4BD3D8929 AT BN7PR04MB3955 DOT namprd04 DOT prod DOT outlook DOT com>
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 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>
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 1A9MHqXH008734

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

-- 
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 © 2019   by DJ Delorie     Updated Jul 2019