- 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.