ATLAS Offline Software
Loading...
Searching...
No Matches
python.trfExitCodes.trfExitCodes Class Reference
Inheritance diagram for python.trfExitCodes.trfExitCodes:
Collaboration diagram for python.trfExitCodes.trfExitCodes:

Public Types

typedef HLT::TypeInformation::for_each_type_c< typenameEDMLIST::map, my_functor, my_result<>, my_arg< HLT::TypeInformation::get_cont, CONTAINER > >::type result

Public Member Functions

 __init__ (self)

Static Public Member Functions

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

Static Protected Attributes

 _errorCodeList = list()
 _nameToCodeDict = dict()
 _codeToNameDict = dict()
 _nameToDescDict = dict()
 _codeToSignalnameDict = dict()

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.

Member Typedef Documentation

◆ result

Definition at line 90 of file EDM_MasterSearch.h.

Constructor & Destructor Documentation

◆ __init__()

python.trfExitCodes.trfExitCodes.__init__ ( self)

Definition at line 163 of file trfExitCodes.py.

163 def __init__(self):
164 pass
165

Member Function Documentation

◆ codeToName()

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()

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()

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()

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 = dict()
staticprotected

Definition at line 153 of file trfExitCodes.py.

◆ _codeToSignalnameDict

python.trfExitCodes.trfExitCodes._codeToSignalnameDict = dict()
staticprotected

Definition at line 155 of file trfExitCodes.py.

◆ _errorCodeList

python.trfExitCodes.trfExitCodes._errorCodeList = list()
staticprotected
Note
Hold error codes in a list of trfExitCode objects

Definition at line 101 of file trfExitCodes.py.

◆ _nameToCodeDict

python.trfExitCodes.trfExitCodes._nameToCodeDict = dict()
staticprotected

Definition at line 152 of file trfExitCodes.py.

◆ _nameToDescDict

python.trfExitCodes.trfExitCodes._nameToDescDict = dict()
staticprotected

Definition at line 154 of file trfExitCodes.py.


The documentation for this class was generated from the following file: