9.1 Reading resolvd's State

9.1.1 Where to look #

SignalTells you
resolv statusWhether netd is connected, the scopes in use, which servers are demoted, the fallback servers, cache size, counters (§5.3, §8.1)
resolv query <name> --no-cacheWhere a fresh answer comes from: source, server, interface, response code (§4.1)
evctl 'LOGS FROM resolvd SINCE 1h ago'Every log line (§2.1)
The exit status of resolv2 for notfound, 3 for unavailable, 1 when resolvd could not be asked (§8.1)
The door's own errorNXDOMAIN or SERVFAIL at the stub; HOST_NOT_FOUND, TRY_AGAIN or NO_RECOVERY from getaddrinfo (§6.2, §7.1)

Two readings of the counters are worth knowing. upstream_failed rising with upstream_answered flat means no matching reply is arriving: the servers are not answering, their replies do not match (§4.8), or the transactions cannot be sent at all (§4.7), which the log shows as upstream <server>: <error> lines. Both rising together means servers answer with failure codes. refused above zero means the in-flight ceiling has been reached (§4.6).

9.1.2 Log lines #

Every line resolvd writes, with the level it is written at:

LineLevelMeaning
native socket: <error>errorStartup failed at the native socket; resolvd exits (§2.2)
stub listener on 127.0.0.53:53: <error>errorStartup failed at port 53; resolvd exits (§2.2)
poll: <error>errorThe loop failed; resolvd exits (§2.2)
could not set a descriptor on <path> (<error>); …errorThe native socket is reachable only by SYSTEM and administrators (§2.4)
removed a stale /run/resolvd/resolv.sockwarnA previous instance left its socket behind and this one removed it; expected on every restart of the service (§2.4)
could not build a descriptor: <error>warnAs could not set a descriptor …, but before writing was attempted (§2.4)
registry watch unavailable (<error>); configuration is read oncewarnConfiguration changes will not be seen (§2.3)
registry watch: <error>; re-armingwarnThe watch failed and is being replaced (§2.3)
Dns FallbackServers: ignoring malformed address "<s>"warn§2.3
Dns ExtraSearchDomains: ignoring malformed domain "<s>"warn§2.3
Dns Hosts: ignoring malformed name "<s>"warn§2.3
Dns Hosts: ignoring malformed address "<s>"warn§2.3
ControlSecurity is not a valid descriptor (<error>); using the defaultwarn§2.3
readiness notify: <error>warnpeinit was not told resolvd is ready (§2.1)
netd not reachable (<error>); retryingwarnFirst failure to reach netd (§3.2)
netd refused the subscription: <message>warnnetd answered subscribe with an error (§3.1)
netd sent something unreadable: <error>warn§3.1
lost the netd channel; reconnectingwarn§3.1
upstream <server>: <error>warnA transaction could not be sent (§4.7)
control: no peer token: <error>warnA native request was denied because its token could not be read (§5.2)
control: reply failed: <error>warnA native reply could not be written (§5.1)
stub udp: <error>, stub tcp accept: <error>, native accept: <error>warnA listener read or accept failed. Accept errors pause that listener for 250 ms before retrying; other descriptors continue to be serviced
listening on /run/resolvd/resolv.sock and 127.0.0.53:53infoStartup reached readiness (§2.2)
subscribed to netdinfo§3.1
netd: <summary>infoA snapshot was applied (§3.3)
configuration changedinfoA registry change was applied (§2.3)
cache flushedinfoA flush request was carried out (§5.3)
/dev/kmsg mirror unavailable (<error>): log lines go to stdout/stderr onlywarnThe kernel log mirror could not be opened, which for resolvd is always; written once, directly after the first line logged (§2.1)

9.1.3 What a question logs #

Answering a question writes no log line, however it is answered — synthetic, from the cache, by a server, or unavailable after timeouts — and a timeout or a demotion writes none either. The only lines a single question or request can cause are upstream <server>: <error>, for a transaction that could not be sent (§4.7), and, for a native request, control: no peer token: <error> (§5.2) and control: reply failed: <error> (§5.1).

Edit this page