delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/03/31/20:36:39

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,TW_CG,T_TO_NO_BRKTS_FREEMAIL
X-Spam-Check-By: sourceware.org
Message-ID: <4BB3F897.7090306@gmail.com>
Date: Wed, 31 Mar 2010 21:36:23 -0400
From: Mark Levedahl <mlevedahl AT gmail DOT com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.8) Gecko/20100301 Fedora/3.0.3-1.fc12 Thunderbird/3.0.3
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: git on cygwin 1.7.2
References: <4BB29285 DOT 4010701 AT gmail DOT com> <20100331042545 DOT GA23824 AT ednor DOT casa DOT cgf DOT cx>
In-Reply-To: <20100331042545.GA23824@ednor.casa.cgf.cx>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On 03/31/2010 12:25 AM, Christopher Faylor wrote:
> On Tue, Mar 30, 2010 at 08:08:37PM -0400, Mark Levedahl wrote:
>    
>> All of the above connections and i/o processing are done using
>> bog-standard fork, pipe, open, read, write, and associated file
>> commands. Git has no trouble opening all of the processes and pipes
>> under Cygwin 1.7.2. However, in general before the data transfer is
>> complete the demux process issues an error upon getting an incomplete
>> packet (fewer bytes transmitted than declared in the header), and
>> debugging shows the error code of the read() is ENOENT, indicating the
>> pipe or socket has been terminated early. The index-pack process also
>> issues an error due to receipt of an incomplete pack.
>>      
> ENOENT does not mean that the pipe or socket has been terminated early.
> It sounds like read is not returning an error in this case so the errno
> would be meaningless.
>
> cgf
>    
You are correct, the read returns 0 bytes while more are still expected, 
not an error. I put in a "sleep(10)" triggered when this happens 
followed by another read(), the second read still returns 0 bytes but 
all processes (including the git upload-pack on the server) are still 
running: they die only when I let the demux process terminate after the 
second time read returns 0 bytes. So, something has deadlocked. Are 
there any debug flags or other tricks I can use to try to illuminate 
what locked up in the dll?

Mark

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019