R.6

Errors

Every error text that our runs recorded, in alphabetical order, with where it appears, what it means, and the section that explains it.

Search this page for a fragment of the text in your log. Names such as lab-c/r1 are the atespace and the actor of our run, and your text has your own. Section 8.3 gives the fix for each one, grouped by symptom. All strings are from Agent Substrate v1.0.0, except the last table, which is from kagent v1.0.0. One table lists texts that we read in the code and did not record, and it says so.

From a request to an actor

The bodies in this table are from the Envoy dataplane, unless a row names agentgateway. On agentgateway, read the status code and the ate-error-reason response header, as section 8.3 explains.

TextCodeMeaningSection
actor ate-demo-counter/does-not-exist not found404, Envoy routerNo actor has that name in that atespace.6.1
actor lab-c/b0-5 unavailable: no worker has room for the actor503 after 5.06 sNo worker of a matching pool had free CPU and memory inside the parking budget.4.4
actor lab-c/r1 unavailable: AssignWorker prerequisite not met for Actor: lab-c/r1 (got: ACTOR_STATE_CRASHED, want ACTOR_STATE_SUSPENDED)503 in 0.07 sThe actor is crashed, and only a suspended actor can resume.3.5
actor lab-e/e-run unavailable503 after 3 to 5 sThe router got no answer from ate-api-server. We also saw this text while Postgres was down, so check both.8.2
actor lab-n/q2 unavailable: AssignWorker prerequisite not met for Actor: lab-n/q2 (got: ACTOR_STATE_REVERTING, want ACTOR_STATE_SUSPENDED)503 in 0.06 sA revert started while the node of the actor was down, and it did not finish. The state stays until the node is back.3.5, 8.2
actor lab-n/d2 unavailable: AssignWorker prerequisite not met for Actor: lab-n/d2 (got: ACTOR_STATE_DELETING, want ACTOR_STATE_SUSPENDED)503 in 0.07 sA delete started while the node of the actor was down, and it did not finish. The name is blocked until the node is back.8.2
actor lab-n/u1 unavailable503 after 5 to 8 s, after one or two 504s at the client timeout of 10 sThe actor is in ACTOR_STATE_RESUMING on a node that stopped.4.3
actor xa/x2 unavailable: no worker has room for the actor503 after 5.06 sThe workerSelector of the template matched no WorkerPool. The text is the same as for a full pool, and the template has no golden tag.3.6
error resuming actor lab-c/x1500 in 0.08 sThe resume failed because the node-local snapshot was gone. The actor is now crashed.3.5
error resuming actor lab-c/r1500 in 0.41 sThe request arrived soon after a node restart, before the workers had registered. The actor is now crashed.8.2
error resuming actor lab-e/e-run500 after a wait of up to 9 sate-api-server could not read Postgres.8.2
ingress failedany failure code on the agentgateway router: 404, 500, 503, and 504 in our runs, and 401 and 403 in the codeThe agentgateway body for every ingress failure except a full pool. It does not name the cause. We got it for an unknown actor, for a missing routing header, and with Postgres or ate-api-server away. Read the status code and the ate-error-reason header.8.3, 8.2, 6.6
method not allowed405, agentgateway router, port 8444A POST on the port that accepts CONNECT only.6.1
no worker has room for the actor, with no text in front of it503, agentgateway router, from the codeThe full pool on agentgateway. The body has no actor ... unavailable: text in front.4.4
invalid actor reference404, Envoy routerThe ate-target-actor header is not atespace/name.6.1
upstream connect error or disconnect/reset before headers. reset reason: connection termination503 in about 0.06 sThe process in the sandbox exited. The actor still reads RUNNING, for 20 minutes in our longest watch.8.3, 3.5
The same text, after a longer delay503 after 0.50 to 5.07 sThe node of a running actor stopped. The actor still reads RUNNING. All 150 requests of our probe had this delay.8.3, 4.3
The same text, on a request that was open503 after 2.2 sA suspend stopped the actor during the request. The actor reads SUSPENDED, and the next request resumes it.3.3
code 000, no bodyclient timeoutThe request hung. In our runs the cause was Postgres, or the Kubernetes API server for requests through kubectl ate proxy.8.2

Texts from the code that our runs did not record

These bodies are in the router code of the Envoy dataplane at v1.0.0. X is the atespace and the name of the actor.

TextCodeMeaningSection
actor "X" unavailable: router at capacity503The parking lot of the router was full, so the router shed the request after one failed resume attempt.4.4
actor X unavailable: another operation is in progress for this actor503Another workflow held the lease of the actor for the whole parking budget.4.4, 8.1
actor X authentication required401ate-api-server did not accept the identity of the router.5.2
actor X access denied403ate-api-server refused the resume call of the router.5.2
actor X request timed out504The resume did not finish before its deadline.8.2
request for actor X canceled by client408The client closed the request while the router waited. The client does not see this reply, and the router log does.4.4

From a TLS handshake with the router

TextDataplaneMeaningSection
tlsv13 alert certificate requiredagentgatewayThe client sent no certificate.5.1
certificate unknownEnvoyThe client certificate has an identity that the allowlist does not hold.5.1
Connection reset by peeragentgatewayThe same cause as the row above.6.6
SSL: no alternative certificate subject name matches target hostname 'atenet-router.ate-system.svc.cluster.local'bothThe client used the long name of the Service. The router certificate is valid for atenet-router.ate-system.svc.6.1

From inside an actor, on the way out

TextDataplaneMeaningSection
actor egress policy deniedagentgateway, HTTP 403No rule of the egress policy allows the destination.6.2
egress deniedEnvoy, HTTP 403No rule of the egress policy allows the destination.6.2
status: NXDOMAINbothThe DNS relay answers only for names that a rule allows.6.3
curl: (6) Could not resolve host: drip.egress-target.svc.cluster.localbothThe same cause, as curl reports it.6.3
upstream connection failedagentgateway, HTTP 503The host of an https rule has a certificate that the gateway does not trust, such as one from a private CA. The gateway log has invalid peer certificate: UnknownIssuer.6.4
upstream connect error or disconnect/reset before headers. reset reason: remote connection failureEnvoy, HTTP 503The same cause. The gateway log has CERTIFICATE_VERIFY_FAILED.6.4

From kubectl ate and the installer

TextMeaningSection
actor "f-deny" in atespace "lab-f" has no egress policyget egress-policy on an actor that has none. The actor is at default deny.6.2
egress_policy.rules[2].tls_passthrough.ports: Required valueA pass-through rule needs ports.6.2
Error: failed to connect to ate-api-server: no ready api pods in ate-systemNo ate-api-server pod is ready. In one run the cause was Postgres. In another it was a node restart, before ate-api-server was ready.8.2, 4.3
Error: failed to create actor: rpc error: code = AlreadyExists desc = Actor d2 already existsA create with the name of an actor that a failed delete left in ACTOR_STATE_DELETING. Its node was down.8.2
Error: failed to create actor: rpc error: code = FailedPrecondition desc = Tag not foundcreate actor --template for a template whose golden tag was deleted. get actor-templates still lists the tag id.3.4
Error: failed to create tag: rpc error: code = Aborted desc = another operation is in progress for this actorcreate tag on an actor with a resume in progress on a node that had stopped.8.2
Error: failed to create tag: rpc error: code = FailedPrecondition desc = Actor lab-n/t1 must be ACTOR_STATE_SUSPENDED to be tagged (got: ACTOR_STATE_RESUMING)create tag on an actor that is not suspended. We also saw it with got: ACTOR_STATE_CRASHED.3.4, 8.2
Error: failed to create actor template: rpc error: code = InvalidArgument desc = actor_template.golden_egress_policy: ForbiddenThe template has a preview field, and the server flag or the client flag --preview is missing.8.5
Error: failed to list actors: rpc error: code = PermissionDenied desc = permission denied: principal "user:system%3Aserviceaccount%3Aate-users%3Aalice" lacks "can_list_actors" on "atespace:lab-v"The token is valid, and no access policy allows the call. The same sentence names can_create_actor, can_list_workers, can_list_atespaces, or can_create_access_policy for other calls.5.2
Error: failed to list actors: rpc error: code = Unauthenticated desc = invalid bearer tokenThe token file holds no valid token for the audience api.ate-system.svc.5.1
Error: failed to resume actor: rpc error: code = Unavailable desc = while calling atelet RestoreA resume in the first seconds after the control plane returned from a node restart. The worker had not registered again.4.3
Error: failed to resume actor: rpc error: code = Unavailable desc = worker b17a6492-9643-42f1-bfdb-8bb88ee46772 assigned to actor lab-c/w1 is unavailableA resume a few seconds later. The worker from before the restart was marked unavailable. We got the same text from resume actor for an actor on a node that had stopped.4.3, 8.2
Error: failed to revert actor: rpc error: code = Aborted desc = another operation is in progress for this actorA revert while a resume was in progress on a node that had stopped.3.5
Error: failed to revert actor: rpc error: code = FailedPrecondition desc = Actor lab-n/p3 is not in a revertable state (got: ACTOR_STATE_RESUMING, want one of [ACTOR_STATE_RUNNING ACTOR_STATE_CRASHED]A revert of an actor that stayed in ACTOR_STATE_RESUMING on a stopped node. Our trace cut the end of the text. In the code the text ends with , or ACTOR_STATE_SUSPENDED with a node-local snapshot), which is the third state that a revert accepts.3.5
Error: failed to revert actor: rpc error: code = Unavailable desc = while calling atelet TerminateA revert of an actor whose node had stopped. The actor stayed in ACTOR_STATE_REVERTING, and each later revert during the outage failed with the same text. One more revert worked in 0.2 s after the node and its atelet were back.3.5, 8.2
Error: failed to suspend actor: rpc error: code = FailedPrecondition desc = MarkSuspending prerequisite not met for Actor: lab-n/d2 (got: ACTOR_STATE_RESUMING, want ACTOR_STATE_RUNNING)A suspend of an actor that is not running. Ours was in ACTOR_STATE_RESUMING on a node that had stopped.8.2
Error: failed to suspend actor: rpc error: code = Internal desc = internal server error: workflow failed at step CallAteletSuspend: actor lab-c/j1 crashedA suspend found a dead sandbox. The actor is now crashed.8.3
Error: failed to update actor: rpc error: code = FailedPrecondition desc = actor must be ACTOR_STATE_SUSPENDED to change its actor template (got: ACTOR_STATE_RUNNING)update actor --template on a running actor. Suspend it first.3.1
Error: manifest for actor "f-main" in atespace "lab-f" lacks the metadata.uid and metadata.version preconditions that "get egress-policy -o yaml" printsAn update must name the version that it replaces.6.2
Error: rpc error: code = Unavailable desc = while calling atelet TerminateA delete actor for an actor whose node had stopped. The actor stayed in ACTOR_STATE_DELETING.8.2
Error: unknown flag "-A"get workers has no all-atespaces flag. It lists every namespace by default.2.2
Error: while building the envoy-dataplane image: exit status 125The source install needs docker buildx.2.1
global has no access policyget access-policy --global on a new install. Only the bootstrap owners have a global role.5.2
Unable to connect to the server: EOFkubectl could not reach the Kubernetes API server. Actors still served requests.8.2
unknown flag: --platformDocker has no buildx plugin. This line comes before the build error above.2.1
Warning: no --token-file given; acting as the shared identity system:serviceaccount:ate-system:ate-client rather than as yourself. Pass --token-file to act as yourself.No --token-file was given, so the CLI uses the shared identity.5.1

From the API, as status codes

CodeWhenSection
FAILED_PRECONDITIONa lifecycle call from a state that it does not accept, such as a resume of a crashed actor, or a delete of an atespace that is not emptythe states reference
ABORTEDa write that named an old version, or two workflows on one object. The texts in the code are concurrent update conflict, please retry for an actor or a worker, EgressPolicy version conflict, and another operation is in progress for this actor.the API reference
InvalidArgumenta manifest that fails validation, such as a rule without ports6.2
Internala workflow step failed. The text names the step.8.3

From the kagent CLI

TextMeaningSection
bind: address already in useTwo CLI calls opened a port-forward on port 8083 at the same time.7.1
kubectl port-forward exited before the server became readyThe first line of the same failure.7.1

Agent Substrate 1.0.0 · b34fbee · 2026-11-05 · Edition 2026.11