Wireshark mailing list archives

Re: Python error: "execvp: bad file number"


From: "Graham Bloice" <graham.bloice () trihedral com>
Date: Fri, 17 Feb 2012 17:59:45 -0000

I hit a problem with the Python generation of epan/dissectors/register.c.
The message from my python (v. 2.7.2) at this stage was:

 .. "execvp: python: Bad file number"

after reading the docs on '_execvp' [1] at MSDN, I suspect this error is
related
to the very long command-line given to python to generate the file
register.c. The MSDN article specifies that the size of the command- line
*and* the environment cannot exceed 32 Kbytes. This seems to be the case
here. My environment size is (when python starts), almost 12 kB.
And the size of the command-line here is approx. 32kB.

Hence, if I understand this correctly, the 'errno' value (inside python's
CRT or
the CRT it uses) is set to 'E2BIG'. And 'strerror(E2BIG)' maps to "bad
file
number".
But I fail to see which C-runtime returns this specific text. A quick test
shows
that my MSVCRT.DLL, MSVCR90.DLL etc. (and all previous versions) has a
'strerror(E2BIG)'
that returns "arg list too long". So is it possible that my python uses
another
'strerror()'
or uses a custom version?. I'm confused.

A fix for me is to disable use of Python for this. I.e. comment away
PYTHON
in config.nmake. Has anyone else seen a problem like this?

I use python version 2.7.2 in Win-XP SP3.

[1] http://msdn.microsoft.com/en-us/library/3xw6zy53.aspx


I built on the same platform just a few minutes ago (from trunk r41048)  and
register.c was fine.  I'm using python 2.7.1 though.  How are you
determining your environment size?

__
Graham


___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


Current thread: