Shutdown Check

Search documentation

Find a page or section

Find the failed stage, understand the cause, and choose the next fix.

Every shutdown-check run ends with one diagnostic code. SC000 is a pass. Any other code points to the first stage that failed, so you can start with the relevant part of the service instead of reading the whole timeline.

Find a code

CodeWhat happenedResult
SC000Graceful shutdown verifiedPASS
SC001Port already in useFAIL
SC002No launch commandFAIL
SC100Service never became readyFAIL
SC101Service exited before it was readyFAIL
SC110Start probe was already activeFAIL
SC111Work was never in flightFAIL
SC112Exited before SIGTERMFAIL
SC113SIGTERM could not be deliveredFAIL
SC114Second SIGTERM could not be deliveredFAIL
SC200In-flight request did not finishFAIL
SC201In-flight request was interruptedFAIL
SC202In-flight request got the wrong statusFAIL
SC203In-flight response body was wrongFAIL
SC300Service did not exit in timeFAIL
SC301Service exited with the wrong codeFAIL
SC302Port still open after exitFAIL
SC310Readiness was not withdrawnFAIL
SC311New request was accepted during drainFAIL
SC312Work finished too soon to test rejectionFAIL
SC999Unexpected errorFAIL

How are the codes grouped?

RangeStageStart here
SC000PassedReview what the test covered
SC0xxBefore launchCheck the port and launch command
SC1xxStartup and workload setupCheck readiness, the start barrier, and signal delivery
SC2xxActive requestsCheck whether open requests finish with the expected response
SC30xProcess exitCheck the deadline, exit code, and child processes
SC31xTraffic drainingCheck readiness withdrawal and rejection of new work
SC999Unexpected failureRead the original error and rule out an invalid hand-built config

Only the first failure is reported. For example, if an active request is cut off and the process also exits with the wrong code, you see the request error first. Fix it, run the test again, and then address any later failure.

How do I read the output?

Read the final timeline event before check failed. It shows how far the test got. Then open the page for that code and follow its fix in order. The troubleshooting guide helps when the run stops before an SC code is produced.