Jenkins "Timeout has been exceeded" Pipeline Aborted
A timeout wrapper hit its limit, so Jenkins aborted the build. The work was still running, but a stage or step exceeded the time you allowed.
What this error means
A stage stops mid-run with "Timeout has been exceeded" and the build is marked aborted/failed. It often happens only on slow runs or under load.
jenkins
Cancelling nested steps due to timeout
Sending interrupt signal to process
ERROR: Timeout has been exceededCommon causes
Step genuinely took too long
A build or test step ran past the timeout because of a slow agent, contention, or more work than usual.
A hung process
A command waiting on input or a deadlocked process never returns, so the timeout fires.
Timeout set too tightly
The configured limit does not allow headroom for normal variance.
How to fix it
Raise or scope the timeout
- Set a realistic timeout on the specific slow stage rather than the whole pipeline.
- Add headroom for slow agents and contention.
Jenkinsfile
timeout(time: 30, unit: 'MINUTES') { sh 'make integration-test' }Eliminate hangs
- Run commands non-interactively so they never wait on stdin.
- Add per-command timeouts inside long scripts.
How to prevent it
- If you run on GitHub Actions, self-healing managed runners such as Latchkey auto-retry transient failures, so a one-off slow agent does not fail the job. Otherwise, right-size timeouts per stage.
Related guides
Jenkins "hudson.AbortException" Build Step FailedFix the Jenkins hudson.AbortException, the generic build-step abort raised when a step like sh, checkout, or…
Jenkins "Cannot contact agent" InterruptedExceptionFix the Jenkins "Cannot contact agent" InterruptedException where the controller lost contact with an agent a…
Jenkins "script returned exit code 1" in a sh StepFix the Jenkins "script returned exit code 1" failure where a sh step command exited non-zero, failing the st…