Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <3A797D05.EBC251A3@ece.gatech.edu> Date: Thu, 01 Feb 2001 10:13:09 -0500 From: "Charles S. Wilson" X-Mailer: Mozilla 4.75 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: "Henry S. Thompson" CC: cygwin AT sources DOT redhat DOT com Subject: Re: CVS :pserver: bug -- can't get winsup from Win2k + Cygwin 1.1.8-2 References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit In Corinna's message on Oct 26, 2000: "descriptor is a file, not a socket" http://sources.redhat.com/ml/cygwin/2000-10/msg01379.html she detailed reasons why this error might occur on "mostly Win9x/ME, seldom NT" systems, given the code that was part of cygwin1.dll at *that* time. She then introduced a patch that caused cygwin to use winsock2 functions instead, in an attempt to avoid the earlier problem. AFAIK, that new workaround code is still in the current cygwin1.dll. She mentioned one drawback, namely: win95 and winnt3.51 do not have winsock2. But, you can install winsock2 by using this link (do NOT use for Win98) http://www.microsoft.com/windows95/downloads/contents/wuadmintools/s_wunetworkingtools/w95sockets2/default.asp On win9x, the winsock2 have an unfortunate side effect: it is possible to get resource leaks with long running programs; all leaks will be cleaned up on process exit, though. Now, Win2K was never mentioned. I do not know why or how the winsock2 functions (which are being used by the latest kernel, as well as all previous kernels going back to Oct 27, 2000, AFAIK) would fail in the old "winsock1" way on Win2K. Steve Hirsh in Dec 1999 (Looonnnggg before Corinna's fix) said the following about an identical error message ("cvs.exe [checkout aborted]: writing to server: The descriptor is a file, not a socket") that he experienced when trying to use a local repository: > For whatever reason, no one else is reporting this runtime error. The > error is coming from a section of code that tries to flush a buffer back > to the server in client.c of cvs. After running cvs under gdb to debug the problem, Steve gave a very thorough analysis here: (note that his problem was unrelated to any winsock2 issues; yours may be similarly unrelated) http://sources.redhat.com/ml/cygwin/1999-12/msg00502.html The basic problem was that Steve was running a VPN client which hijacked all socket communications, even the loopback one used by cvs to access a local repository. Others have reported various similar problems with VPN or PROXY programs. Henry, I think you're going to have to use gdb and trace through the program's operation to debug this. I do not see the problem (Win2Ksp1, 1.1.8, connecting to :pserver:anoncvs AT anoncvs DOT cygnus DOT com:/cvs/src works fine), so there's no way I can debug it for you. Take a good look at Steve's message referenced above, and set a few breakpoints at the code he indicates in client.c -- BTW, this means you'll have to download cvs-1.11.0-1-src.tar.gz and build your own cvs.exe with debugging (-g) enabled, and don't strip the executable (the distribution version of cvs.exe is stripped, so it's not readily debuggable). Note that /usr/doc/Cygwin/cvs-1.11.0.README contains build instructions. --Chuck "Henry S. Thompson" wrote: > > This appears to be a known bug, and the archives suggest it was fixed, > however if I try > > > cvs -d :pserver:anoncvs AT anoncvs DOT cygnus DOT com:/cvs/src checkout winsup > > I get > > cvs [checkout aborted]: writing to server: The descriptor is a file, not a socket > > cvs 1.11 from the cygwin setup distribution > cygwin 1.1.18-2 > Win2k SP 1 > > Help! > > ht > -- > Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh > W3C Fellow 1999--2001, part-time member of W3C Team > 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 > Fax: (44) 131 650-4587, e-mail: ht AT cogsci DOT ed DOT ac DOT uk > URL: http://www.ltg.ed.ac.uk/~ht/ > > -- > Want to unsubscribe from this list? > Check out: http://cygwin.com/ml/#unsubscribe-simple -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple