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
| Code | What happened | Result |
|---|---|---|
| SC000 | Graceful shutdown verified | PASS |
| SC001 | Port already in use | FAIL |
| SC002 | No launch command | FAIL |
| SC100 | Service never became ready | FAIL |
| SC101 | Service exited before it was ready | FAIL |
| SC110 | Start probe was already active | FAIL |
| SC111 | Work was never in flight | FAIL |
| SC112 | Exited before SIGTERM | FAIL |
| SC113 | SIGTERM could not be delivered | FAIL |
| SC114 | Second SIGTERM could not be delivered | FAIL |
| SC200 | In-flight request did not finish | FAIL |
| SC201 | In-flight request was interrupted | FAIL |
| SC202 | In-flight request got the wrong status | FAIL |
| SC203 | In-flight response body was wrong | FAIL |
| SC300 | Service did not exit in time | FAIL |
| SC301 | Service exited with the wrong code | FAIL |
| SC302 | Port still open after exit | FAIL |
| SC310 | Readiness was not withdrawn | FAIL |
| SC311 | New request was accepted during drain | FAIL |
| SC312 | Work finished too soon to test rejection | FAIL |
| SC999 | Unexpected error | FAIL |
How are the codes grouped?
| Range | Stage | Start here |
|---|---|---|
SC000 | Passed | Review what the test covered |
SC0xx | Before launch | Check the port and launch command |
SC1xx | Startup and workload setup | Check readiness, the start barrier, and signal delivery |
SC2xx | Active requests | Check whether open requests finish with the expected response |
SC30x | Process exit | Check the deadline, exit code, and child processes |
SC31x | Traffic draining | Check readiness withdrawal and rejection of new work |
SC999 | Unexpected failure | Read 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.