execve error with the subprocess module

Discussion in 'Python' started by yogamatt1970@gmail.com, Oct 21, 2008.

  1. Guest

    I have some code which runs on a number of different machines, however
    I see problems on one particular Solaris box. When I call
    Popen.wait(), the following exception is raised:

    .. . .
    File "/basis/users/matt/Python-2.4.4/Lib/subprocess.py", line 558, in
    __init__
    errread, errwrite)
    File "/basis/users/matt/Python-2.4.4/Lib/subprocess.py", line 992,
    in _execute_child
    raise child_exception
    TypeError: execve() arg 3 contains a non-string value

    I've been poking around a bit subprocess.py and I can't figure out why
    data is non-empty string in this line:
    data = os.read(errpipe_read, 1048576) # Exceptions limited to 1 MB)

    From what I see, the command I'm running is perfectly valid and should
    be running without any problems.

    Any help is appreciated.
    , Oct 21, 2008
    #1
    1. Advertising

  2. En Tue, 21 Oct 2008 13:45:10 -0200,
    <> escribió:

    > I have some code which runs on a number of different machines, however
    > I see problems on one particular Solaris box. When I call
    > Popen.wait(), the following exception is raised:
    >
    > . . .
    > File "/basis/users/matt/Python-2.4.4/Lib/subprocess.py", line 558, in
    > __init__
    > errread, errwrite)
    > File "/basis/users/matt/Python-2.4.4/Lib/subprocess.py", line 992,
    > in _execute_child
    > raise child_exception
    > TypeError: execve() arg 3 contains a non-string value
    >
    > I've been poking around a bit subprocess.py and I can't figure out why
    > data is non-empty string in this line:
    > data = os.read(errpipe_read, 1048576) # Exceptions limited to 1 MB)
    >
    >> From what I see, the command I'm running is perfectly valid and should

    > be running without any problems.


    The line numbers in your traceback don't match the 2.4.4 source - probably
    some debug statements you inserted, but make sure they don't interfere.

    The TypeError is raised in the child process, before running your command,
    and basically means that you passed bogus data as the env parameter to
    subprocess.

    --
    Gabriel Genellina
    Gabriel Genellina, Oct 22, 2008
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Java Boy

    execve problem???

    Java Boy, Aug 7, 2003, in forum: C Programming
    Replies:
    3
    Views:
    386
    Bob Hauck
    Aug 7, 2003
  2. Replies:
    2
    Views:
    524
  3. execve system call

    , Mar 26, 2007, in forum: C Programming
    Replies:
    4
    Views:
    709
    Kenny McCormack
    Mar 27, 2007
  4. Daniel KamiÅ?ski

    execve syscall in ruby

    Daniel KamiÅ?ski, Jul 19, 2008, in forum: Ruby
    Replies:
    6
    Views:
    145
    Daniel Kaminski
    Jul 19, 2008
  5. Wayne Werner

    Posix call (execve) breaks mercurial?

    Wayne Werner, Oct 12, 2012, in forum: Python
    Replies:
    0
    Views:
    135
    Wayne Werner
    Oct 12, 2012
Loading...

Share This Page