[Swift-devel] error in 0.92 source

Michael Wilde wilde at mcs.anl.gov
Tue Apr 12 06:10:19 CDT 2011


Jon, the error is "Argument list too long" (E2BIG) - most likely because you are trying to form an argument list to an app that is longer than the Linux limit (which is host-specific and settable during Linux configuration, *I think*).

As I was writing this response, I realized you already dealt with this issue in a thread on swift-user in Oct 2010 (subject "Argument list too long"). Is your current problem some new manifestation of the prior argument passing problem?

I also realized that I dont understand the interaction between property "wrapper.parameter.mode" and the need to use writeData() to form argument lists, and that this needs to be explained in a Cookbook -> User Guide section.

So before I go deeper into this, can you explain if the current problem is different than the prior one?

Thanks,

- Mike

----


This page has some useful info on the limit:
  http://www.in-ulm.de/~mascheck/various/argmax/

On communicado the limit seems to be some percentage of the stack size, which defaults to 10M. The article above says that Linux 2.26 and above use .25 * stack size.

Where are you running, and what is the likely command line length of your largest app invocations? (Keep in mind that pathnames may be longer than you expect and that Swift is running _swiftwrap which also has specific arg passing conventions).

This is often an issue when you call a summarization app, and try to pass it all the files processed in some large prior foreach loop.

Ben added some support for passing much longer argument lists in a file via the function writeData, and there is also this property:

# Controls how swift will supply parameters to the remote wrapper script.
# 'args' mode will pass parameters on the command line
# 'files' mode will pass parameters through an additional input file
#
# valid values: args, files
# Default: files
#
# wrapper.parameter.mode=args




----- Original Message -----
> Does anyone know what is this error trying to tell me?
> 
> 
> Caused by: Cannot run program "/bin/bash" (in directory
> "/gpfs/pads/swift/jonmon/Swift/work/localhost/rectified-20110411-1923-pqygyay7"):
> java.io.IOException: error=7, Argument list too long
> Caused by: java.io.IOException: Cannot run program "/bin/bash" (in
> directory
> "/gpfs/pads/swift/jonmon/Swift/work/localhost/rectified-20110411-1923-pqygyay7"):
> java.io.IOException: error=7, Argument list too long
> --
> Any intelligent fool can make things bigger and more complex... It
> takes a touch of genius - and a lot of courage to move in the opposite
> direction.
> - Albert Einstein
> 
> 
> 
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> http://mail.ci.uchicago.edu/mailman/listinfo/swift-devel

-- 
Michael Wilde
Computation Institute, University of Chicago
Mathematics and Computer Science Division
Argonne National Laboratory




More information about the Swift-devel mailing list