Never schedule the last task in a job array twice
The last task reuses array_job_id. So if job_ptr doesn't change, that
means we have already scheduled it and should never go to next_task.
job_launch() can requeue the job if it fails. This puts the job in the
completing and pending state, which could allow the last task to get
scheduled *again* without the check added here. Rescheduling a
completing job will destroy its node_bitmap and job_resrcs and cause
the job to stay completing forever.
Bug 10980
Co-authored-by:
Brian Christiansen <brian@schedmd.com>
Loading
Please register or sign in to comment