Exit codes of gLExec

From PDP/Grid Wiki
Revision as of 07:06, 5 February 2010 by Okoeroo@nikhef.nl (talk | contribs)
Jump to navigationJump to search

Upon successful execution of a program, the return value from gLExec will simply be the return value of the command that was executed.


The error code that glexec returns:

201 - client error, which includes:

  • no proxy is provided
  • wrong proxy permissions
  • target location is not accessible
  • the binary to execute does not exist
  • the mapped user has no rigths to execute the binary when GLEXEC_CLIENT_CERT is not set

202 - system error

  • glexec.conf is not present or malformed
  • lcas or lcmaps initialization failure, can be obtained moving the lcas/lcmaps db files.

203 - authorization error

  • user is not whitelisted
  • local lcas authorization failure
  • user banned by the SCAS server
  • lcmaps failure on the scas server
  • SCAS server not running
  • network cable unplugged on the SCAS server host.

204 - exit code of the called application overlap with the previous ones

  • application called by glexec exit with code 201, 202, 203 or 204


Upon successful execution of a program, the return value from gLExec will simply be the return value of the program that was executed. Otherwise, gLExec quits with the following limited range of return values:


201 - Client error:


This error code is triggered when the user (caller of gLExec) has to change something in order for gLExec to be able to succeed. Some example situations: the input files (like proxy certificates) might have the wrong permissions or do not exist; the executable to be executed doesn’t exist or has unacceptable file permissions.


202 - Internal gLExec error:


This error code has to be handled by the system administrator of the machine. This might be due to wrong permission bits on the configuration file, initialization errors of LCAS and/or LCMAPS or other system specific errors that can only be addressed by somebody with sufficient rights on the machine.


203 - Authorization error:


Everything went ok, but the user is not authorized. This could be triggered because the calling process was not in the white list and therefore not privileged to use gLExec. The other reason is that LCAS and/or LCMAPS failed to authorize the (real) user and gain an account mapping.


204 - Child return value overlap:


This error code is triggered when gLExec is in linger mode (activated by default) and when the called child process returns an exit code that overlaps with one of the error code numbers 201, 202, 203 and 204.


126 - Shell returns that the executable can’t be executed:


This error code is triggered when the execv() call failed to execute the command, because of permission, execution or system problems found during the call for the executable that was tried to be set up. The shell code is not caught, but forwarded as an error code from the actual child process.