On Sun, Feb 12, 2006 at 12:25:15PM -0800, Kingsley G. Morse Jr. wrote:
> On 02/12/06 11:29, Justin Pryzby wrote:
> > On Sat, Feb 11, 2006 at 11:12:39AM -0800, Kingsley G. Morse Jr. wrote:
> > > On 02/10/06 15:30, Justin Pryzby wrote:
> > > > The problem is that ARG_MAX applies to the sum
> > > > of envp and argv;
> > >
> > > Hmmmm... I didn't know that.
> > >
> > > If you're certain that envp is included in the
> > Did you check the manpage execve?
>
> Yes, I read
>
> http://www.icewalkers.com/Linux/ManPages/execve-2.html
>
> but I didn't see where it mentions adding the
> sizes of envp and argv.
The manpage is also in Debian, manpages-dev, and mentions it.
> > > sum, then shouldn't the error message reflect that
> > > it is?
> > Its probably a standard unix error text, I'm not sure.
>
> Yes, it's E2BIG from errno.h.
>
> > Anyway it is from libc6, not bash.
>
> If you're certain that
>
> 1.) my test script causes execve to be called from
> libc6 and
Of course; anytime a shell does anything external it is with exec; try
strace /bin/echo foo 2>&1 |head -1
> 2.) execve returns
>
> "The argument list is too big"
$ strace -f sh ./bug.1.sh 2>&1 |grep exec |tail -1
[pid 24558] execve("/bin/egrep", ["egrep", " is now known as | has
joined "], [/* 26 vars */]) = -1 E2BIG (Argument list too long)
> then do you agree that this bug should be reassigned to libc6?
I'm not sure; like I say, this message might be specified by some
standards document, or perhaps just by convention. It doesn't make
sense to fix it in bash only, since really every application using
exec() would also need to be fixed (see strerror).
Indeed, see this, as downloaded by the 'susv3' nonfree package
file:///usr/share/doc/susv3/susv3/basedefs/errno.h.html#tag_13_10
You can reassign it if you like, but I would argue that existing
documentation is sufficient.
Justin
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]