[comp.unix.i386] Problem w/doscp command. Possible bug?

bt455s39@uhccux.uhcc.hawaii.edu (Carmen Hardina) (07/14/89)

I'm having difficulty copying more than 14 files at a time with the doscp
command.  I am running SCO XENIX 2.3.1 on an Everex 3000A 16MHz 386 w/3MB
of RAM, 64K cache, 183MB Maxtor hard disk w/Adaptec 2372B RLL 1:1 controller.
151MB XENIX partition, 32MB PC-DOS 3.20 partition.  Here is the scenario...

I have 32 files that total 679,296 bytes.  I want to copy them to directory
on the DOS partition, so I execute the following command.

# doscp *.MAC c:/egamac<Return>

It begins copying all the files in the current directory with the MAC extension
to an existing subdirectory named "egamac" on the DOS partition.  But, it stops
after the 14th file (a total of 268,416 bytes) and displays this error.

doscp: no memory for buffers
#

I delete the 14 files that it did manage to copy from the current directory and
repeat the command.  It copies 14 files (this time for a total of 341,376 bytes)
and then stops and returns the same error again.  I delete the 14 that it copied
sucessfully and repeat the command once again.  It copies the remaining 4 files
(for a total of 69,504 bytes) without error.

What am I doing wrong?  Or is it a bug?  The only common thing seems to be that
it consistently stops on the 14th file.  Has anyone else had this problem?  If
it is a bug, I hope we can identify it and have SCO correct it if it hasn't been
already.  BTW, I tried tuning the following kernel parameters to their maximum
values, but it had no effect, same error at the same places; NBUF, NSABUF,
NPBUF, NHBUF, and MAXBUF.  Any help will be appreciated.

					Thanks in advance,
						--Carmen


-- 
Carmen Maria Hardina, University of Hawaii at Manoa...
UUCP: {uunet,ucbvax,dcdwest}!ucsd!nosc!uhccux!bt455s39
ARPA: uhccux!bt455s39@nosc.MIL BITNET: bt455s39@uhccux
INET: bt455s39@uhccux.UHCC.HAWAII.EDU <-- It may work.

barton@holston.UUCP (barton) (07/16/89)

In article <4341@uhccux.uhcc.hawaii.edu>, bt455s39@uhccux.uhcc.hawaii.edu (Carmen Hardina) writes:
> 
[verbage deleted]

> I have 32 files that total 679,296 bytes.  I want to copy them to directory
> on the DOS partition, so I execute the following command.
> 
> # doscp *.MAC c:/egamac<Return>
> 
> It begins copying all the files in the current directory with the MAC extension
> after the 14th file (a total of 268,416 bytes) and displays this error.
> 
> doscp: no memory for buffers

Yes this is an improvement, the doscp I have will not allow wild cards
at all!!

However, this is easily worked around with a simple shell script such
as :

		for i in `ls *.MAC`
		do
		doscp $i c:/macdir
		done &


-- 
Barton A. Fisk          | UUCP: {attctc,texbell,vector}!warble!holston!barton
PO Box 1781             | DOMAIN: barton@holston     
Lake Charles, La. 70602 | ----------------------------------------
318-439-5984            | +++++ "Hal, open the pod bay doors" --- Dave

brian@jtsv16.UUCP (Brian A. Jarvis) (07/17/89)

In article <4341@uhccux.uhcc.hawaii.edu> bt455s39@uhccux.uhcc.hawaii.edu (Carmen Hardina) writes:
>I'm having difficulty copying more than 14 files at a time with the doscp
>command.  I am running SCO XENIX 2.3.1 on an Everex 3000A 16MHz 386 w/3MB
>of RAM, 64K cache, 183MB Maxtor hard disk w/Adaptec 2372B RLL 1:1 controller.
>151MB XENIX partition, 32MB PC-DOS 3.20 partition.  Here is the scenario...
>
># doscp *.MAC c:/egamac<Return>
>
>It begins copying all the files in the current directory with the MAC extension
>to an existing subdirectory named "egamac" on the DOS partition.  But, it stops
>after the 14th file (a total of 268,416 bytes) and displays this error.
>
>doscp: no memory for buffers
>					Thanks in advance,
>						--Carmen

I saw this bug back with SCO XENIX 386 2.3, after upgrading from 2.2.3 (if
memory serves).  I send e-mail to SCO about it, then got a call back from
a techie there who said he had duplicated the problem and that after
recompiling the 'doscp' function under 386 mode instead of 86 mode, everything
was fine.  He sent a copy of the new executable on a diskette a couple of
days later and it ran fine on my system.

A few months later, we upgraded to 2.3.2 and found that the old executable
hadn't been replaced!  God, I hate it when people don't or can't learn from
their mistakes (or vicariously, from someone else's), particularly when they
went through the trouble of creating an appropriate fix!  *sigh*

Brian

===============================================================================
   __                         __	Brian A. Jarvis,
  /  )  ...jtsv16!brian      /  )	J.T.S. Computer Systems Ltd.,
 /--<  __  o __.  ____      /--/	Downsview, Ontario
/___/_/ (_<_(_/|_/ / <_    /  ( o	My dog, Goof, still says "Hi!"

"Lord, defend me from my friends; I can account for my enemies." - D'Hericault
===============================================================================

dave@norsat.UUCP (Dave Binette) (07/21/89)

We have the same problem with doscp giving "no memory for buffers".
a simple workaround:

for i in $*
do
echo $i
doscp -r $i a:
done

this gives wildcard support on invocation too.

-- 
uucp:  {uunet,ubc-cs}!van-bc!norsat!dave | 302-12886 78th Ave
bbs:   (604)597-4361     24/12/PEP/3     | Surrey BC CANADA
voice: (604)597-6298     (Dave Binette)  | V3W 8E7