I have seen matrix sub-jobs abort before even starting a build on a slave machine. On investigating further I see that for some reason the sub-job config.xml files contain the tags:
even though the matrix job is enabled and indeed the top level config.xml contains:
This seems to happen to jobs that have been copied from other matrix jobs where the axis configurations have changed a few times.
Since the user has no control over this tag it must be redundant. I think that the code should force the disabled tag to be false for all child jobs.