delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/08/11/09:27:05

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
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
Message-ID: <42FB51FF.3000000@byu.net>
Date: Thu, 11 Aug 2005 07:26:23 -0600
From: Eric Blake <ebb9 AT byu DOT net>
User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: Rsync over SSH dies before it is able to send with lots of files
References: <42FA081C DOT 25957 DOT 24F4EADF AT localhost> <42FA2A6A DOT 29370 DOT 257AEDF0 AT localhost> <42F9FC86 DOT 8060602 AT byu DOT net>
In-Reply-To: <42F9FC86.8060602@byu.net>
X-IsSubscribed: yes

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Eric Blake on 8/10/2005 7:09 AM:
> 
> I still want to figure out why you were getting a crash.  I tried the
> following:
> 
> $ cd /tmp
> $ mount -m
> ...
> mount -f -s -b -X "c:/cygwin/bin" "/bin"
> $ mkdir lots
> $ # 45000 invocations of touch is slow, so do 10 files at a time...
> $ for i in `seq 4500` ; do echo $i ; touch longfilename${i}0
> longfilename${i}1 longfilename${i}2 longfilename${i}3 longfilename${i}4
> longfilename${i}5 longfilename${i}6 longfilename${i}7 longfilename${i}8
> longfilename${i}9 ; done
> $ echo /cygdrive/c/cygwin/tmp/lots/*
> ... # Works, echo is a builtin
> $ /bin/echo /cygdrive/c/cygwin/tmp/lots/*
> ... # Works for me, since my /bin is mounted executable
> $ /cygdrive/c/cygwin/bin/echo /cygdrive/c/cygwin/tmp/lots/*
> bash: /cygdrive/c/cygwin/bin/echo: Argument list too long

Aha - I found something.  When I first ran the touch command above, I
stopped at about 8000 files (or about 400k for the subsequent echo command
line), which gave the nice "Argument list too long" error.  But when I
increased the number of files to 45000 (or about 2 meg of command line),
the same command failed with a segfault with bash 3.0, and gave no input
but left $? at 5 (matching EIO) on the alpha bash 3.1.  I will have to try
debugging it now, but it seems odd that exec() is dying with E2BIG in one
case and EIO when the input is even bigger.

- --
Life is short - so eat dessert first!

Eric Blake             ebb9 AT byu DOT net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFC+1H/84KuGfSFAYARAiovAJ9IuLP3/pDLOqZtbgbkFjCBqCZxFwCfeQN3
0wyZqocreHY1Yq6O4orh42A=
=wels
-----END PGP SIGNATURE-----

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

- Raw text -


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