Failure Codes

When a job fails, some explanation for the failure is stored in a field called "FAILCODE" of type integer.

This field consists of a bit mask, where the bits are explained by the table below, which is generated by the command vovshow -failcodes.
       Hex    Octal      Dec   Explanation
  0x00000001 00000001        1   Preempted by owner
  0x00000002 00000002        2   Preempted by admin
  0x00000004 00000004        4   Preempted by system
  0x00000008 00000010        8   Withdrawn
  0x00000010 00000020       16   Killed by owner
  0x00000020 00000040       32   Killed by administrator
  0x00000040 00000100       64   Killed by system
  0x00000080 00000200      128   Killed by autokill
  0x00000100 00000400      256   Bad exit status
  0x00000200 00001000      512   Got a signal
  0x00000400 00002000     1024   Cannot change directory
  0x00000800 00004000     2048   Bad environment
  0x00001000 00010000     4096   No executable
  0x00002000 00020000     8192   No outputs
  0x00004000 00040000    16384   Input dependency issue
  0x00008000 00100000    32768   Output conflict
  0x00010000 00200000    65536   Cannot switch user id
  0x00020000 00400000   131072   Cannot switch group id
  0x00040000 01000000   262144   Cannot start
  0x00080000 02000000   524288   Migrated
  0x00100000 04000000  1048576   Bad timestamp of outputs
  0x00200000 10000000  2097152   Pre-condition Failed
  0x00400000 20000000  4194304   Post-condition Failed
  0x00800000 40000000  8388608   Bad X11 Display
  0x01000000 100000000 16777216   Too many ORs in resources
  0x02000000 200000000 33554432   Bad resources
  0x04000000 400000000 67108864   Failed to get Unix groups
  0x08000000 1000000000 134217728   Killed by authorized user
This field is mostly used:
  • for reporting using the SQL database
  • to distinguish a job that has been withdrawn by preemption from other type of failures. These jobs have the flag 0x8 set (withdrawn), and the jobs with that flag have the status "WITHDRAWN".