ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Static Private Attributes | List of all members
python.trfExitCodes.trfExitCodes Class Reference
Inheritance diagram for python.trfExitCodes.trfExitCodes:
Collaboration diagram for python.trfExitCodes.trfExitCodes:

Public Member Functions

def __init__ (self)
 

Static Public Member Functions

def nameToCode (name=None)
 
def codeToName (code=None)
 
def nameToDesc (name=None)
 
def codeToSignalname (code=None)
 

Static Private Attributes

 _errorCodeList
 
 _nameToCodeDict
 
 _codeToNameDict
 
 _nameToDescDict
 
 _codeToSignalnameDict
 

Detailed Description

Note
Restructured exit codes to avoid clashes with the recognised exit codes from the old transforms. These are: self.errorCodes['transExitCode'][1] = 'Unspecified error, consult log file' self.errorCodes['transExitCode'][2] = 'Payload core dump' self.errorCodes['transExitCode'][6] = 'TRF_SEGVIO - Segmentation violation' self.errorCodes['transExitCode'][10] = 'ATH_FAILURE - Athena non-zero exit' self.errorCodes['transExitCode'][26] = 'TRF_ATHENACRASH - Athena crash' self.errorCodes['transExitCode'][30] = 'TRF_PYT - transformation python error' self.errorCodes['transExitCode'][31] = 'TRF_ARG - transformation argument error' self.errorCodes['transExitCode'][32] = 'TRF_DEF - transformation definition error' self.errorCodes['transExitCode'][33] = 'TRF_ENV - transformation environment error' self.errorCodes['transExitCode'][34] = 'TRF_EXC - transformation exception' self.errorCodes['transExitCode'][40] = 'Athena crash - consult log file' self.errorCodes['transExitCode'][41] = 'TRF_OUTFILE - output file error' self.errorCodes['transExitCode'][42] = 'TRF_CONFIG - transform config file error' self.errorCodes['transExitCode'][50] = 'TRF_DB - problems with database' self.errorCodes['transExitCode'][51] = 'TRF_DBREL_TARFILE - Problems with the DBRelease tarfile' self.errorCodes['transExitCode'][60] = 'TRF_GBB_TIME - GriBB - output limit exceeded (time, memory, CPU)' self.errorCodes['transExitCode'][79] = 'Copying input file failed' self.errorCodes['transExitCode'][80] = 'file in trf definition not found, using the expandable syntax' self.errorCodes['transExitCode'][81] = 'file in trf definition not found, using the expandable syntax – pileup case' self.errorCodes['transExitCode'][85] = 'analysis output merge crash - consult log file' self.errorCodes['transExitCode'][98] = 'Oracle error - session limit reached' self.errorCodes['transExitCode'][99] = 'TRF_UNKNOWN - unknown transformation error' self.errorCodes['transExitCode'][102] = 'One of the output files did not get produced by the job' self.errorCodes['transExitCode'][104] = 'Copying the output file to local SE failed (md5sum or size mismatch, or LFNnonunique)' self.errorCodes['transExitCode'][126] = 'Transformation not executable - consult log file' self.errorCodes['transExitCode'][127] = 'Transformation not installed in CE' self.errorCodes['transExitCode'][134] = 'Athena core dump or timeout, or conddb DB connect exception' self.errorCodes['transExitCode'][141] = "No input file available - check availability of input dataset at site" self.errorCodes['transExitCode'][200] = 'Log file not transferred to destination' self.errorCodes['transExitCode'][220] = 'Proot: An exception occurred in the user analysis code' self.errorCodes['transExitCode'][221] = 'Proot: Framework decided to abort the job due to an internal problem' self.errorCodes['transExitCode'][222] = 'Proot: Job completed without reading all input files' self.errorCodes['transExitCode'][223] = 'Proot: Input files cannot be opened' Taken from: https://svnweb.cern.ch/trac/panda/browser/monitor/ErrorCodes.py?rev=13963

Because of this restructuring the top bits categorisation of the error codes is no longer maintained.

Further error codes to avoid are: ERROR_OPEN_FAILED=232 ERROR_HIST_MISSING=233 ERROR_SSB_DIRECT=235 ERROR_SSB_DIRECT_DOWN=236 These are being used by the FAX analysis wrapper

Note
In certain circumstances a transform may catch a signal and exit more cleanly (SIGINT, SIGUSR1), in which case it will replicate the shell signaled exit code (128 + SIGNUM). These are mapped dynamically to k/v TRF_SIG_SIGNAME : SIGNUM+128. This is partly because numeric codes vary between platforms (e.g., SIGUSR1 = 10 (Linux) or 30 (OS X)), but it's also more reliable than typing it all by hand!

Definition at line 99 of file trfExitCodes.py.

Constructor & Destructor Documentation

◆ __init__()

def python.trfExitCodes.trfExitCodes.__init__ (   self)

Definition at line 163 of file trfExitCodes.py.

163  def __init__(self):
164  pass
165 

Member Function Documentation

◆ codeToName()

def python.trfExitCodes.trfExitCodes.codeToName (   code = None)
static

Definition at line 175 of file trfExitCodes.py.

175  def codeToName(code = None):
176  if code in trfExitCodes._codeToNameDict:
177  return trfExitCodes._codeToNameDict[code]
178  else:
179  msg.warning('Could not map exit code {0} to an exit name'.format(code))
180  return 'TRF_UNKNOWN'
181 

◆ codeToSignalname()

def python.trfExitCodes.trfExitCodes.codeToSignalname (   code = None)
static

Definition at line 191 of file trfExitCodes.py.

191  def codeToSignalname(code = None):
192  if code in trfExitCodes._codeToSignalnameDict:
193  return trfExitCodes._codeToSignalnameDict[code]
194  else:
195  # Not a signal we knew about
196  return ''
197 
198 

◆ nameToCode()

def python.trfExitCodes.trfExitCodes.nameToCode (   name = None)
static

Definition at line 167 of file trfExitCodes.py.

167  def nameToCode(name = None):
168  if name in trfExitCodes._nameToCodeDict:
169  return trfExitCodes._nameToCodeDict[name]
170  else:
171  msg.warning('Could not map exit name {0} to an exit code'.format(name))
172  return trfExitCodes._nameToCodeDict['TRF_UNKNOWN']
173 

◆ nameToDesc()

def python.trfExitCodes.trfExitCodes.nameToDesc (   name = None)
static

Definition at line 183 of file trfExitCodes.py.

183  def nameToDesc(name = None):
184  if name in trfExitCodes._nameToDescDict:
185  return trfExitCodes._nameToDescDict[name]
186  else:
187  msg.warning('Could not map exit name {0} to a description'.format(name))
188  return 'No description available'
189 

Member Data Documentation

◆ _codeToNameDict

python.trfExitCodes.trfExitCodes._codeToNameDict
staticprivate

Definition at line 153 of file trfExitCodes.py.

◆ _codeToSignalnameDict

python.trfExitCodes.trfExitCodes._codeToSignalnameDict
staticprivate

Definition at line 155 of file trfExitCodes.py.

◆ _errorCodeList

python.trfExitCodes.trfExitCodes._errorCodeList
staticprivate
Note
Hold error codes in a list of trfExitCode objects

Definition at line 101 of file trfExitCodes.py.

◆ _nameToCodeDict

python.trfExitCodes.trfExitCodes._nameToCodeDict
staticprivate

Definition at line 152 of file trfExitCodes.py.

◆ _nameToDescDict

python.trfExitCodes.trfExitCodes._nameToDescDict
staticprivate

Definition at line 154 of file trfExitCodes.py.


The documentation for this class was generated from the following file:
vtune_athena.format
format
Definition: vtune_athena.py:14
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18