Subject: Re: Bug in i386 execl
To: None <cjs@portal.ca>
From: Brad Spencer <brad@anduin.eldar.org>
List: current-users
Date: 11/21/1996 14:42:50
   On Mon, 18 Nov 1996, Curt Sampson wrote:

   > I've never seen this on anything but the i386 port, but given that
   > some machines seem to do it and some don't, this might be happening
   > on other ports, too.

   Ok, I've done a bit more testing and this bug does still exist in
   current, albeit possibly not in current/i386.

   To reproduce it, execute a command like the following:

	   find . | cpio -oa -F remotehost:/tmp/delete.me

   If you have the bug, your system may either give you a usage message
   for rsh, or it may give you an `Input/Output error.' If you link
   your rsh executable to /usr/ucb/rsh, the problem goes away.

   I can reproduce this in the following systems:

	   NetBSD-1.1/i386
	   NetBSD-1.2/i386 (3 different machines)
	   NetBSD-1.2B/alpha (a couple of weeks old)

   I cannot reproduce this in

	   NetBSD-1.2/sparc
	   NetBSD-1.2B/i386 (a couple of weeks old--same source as alpha above)

   It strikes me as quite odd that this doesn't reproduce in 1.2B/i386;
   and I'm wondering if there's some other anomaly on my sole current/i386
   that is not letting me reproduce the bug. I'd appreciate it if a
   few other people out there could try to reproduce this under
   current/i386 and tell me if they can do so.

   cjs

   Curt Sampson    cjs@portal.ca		Info at http://www.portal.ca/
   Internet Portal Services, Inc.	
   Vancouver, BC   (604) 257-9400		De gustibus, aut bene aut nihil.


I was able to reproduce this on a NetBSD/i386 which is some weeks old
and on NetBSD/alpha with a original disk image which was a couple of
weeks old.  It didn't happen on a NetBSD/sparc or a NetBSD/sun3 which
are from source only a couple of days old.

To find out what arguments are being passed to rsh I replaced it with
a shell script which writes the argument list to a file.  The file was
empty which leads one to suspect that the library routine fiddles with
the argument list or some such other thing.  GNU cpio attempts to find
the rsh program by execl'ing it from several absolute pathnames all
with the same arguments.



Brad Spencer - brad@anduin.eldar.org   http://anduin.eldar.org