linera-io/linera-protocol · error
Found one or several issue(s) while querying validator {}
Error message
Found one or several issue(s) while querying validator {} What it means
Single-validator variant of the health query: after running the check suites against one validator (`self.public_key` / `self.address`) and printing the per-check results via `results.print(...)`, any collected errors cause this bail naming the validator's address. The printed report above the error lists exactly which sub-checks failed.
Source
Thrown at linera-service/src/cli/validator.rs:725
&self,
context: &ClientContext<impl linera_core::Environment>,
) -> anyhow::Result<()> {
let node = context.make_node_provider().make_node(&self.address)?;
let chain_id = self.chain_id.unwrap_or_else(|| context.default_chain());
println!("Querying validator about chain {chain_id}.\n");
let results = context
.query_validator(&self.address, &node, chain_id, self.public_key.as_ref())
.await;
for error in results.errors() {
tracing::error!("{}", error);
}
results.print(self.public_key.as_ref(), Some(&self.address), None, None);
if !results.errors().is_empty() {
anyhow::bail!(
"Found one or several issue(s) while querying validator {}",
self.address
);
}
Ok(())
}
}
impl QueryBlock {
async fn run(
&self,
context: &ClientContext<impl linera_core::Environment>,
) -> anyhow::Result<()> {
let node = context.make_node_provider().make_node(&self.address)?;
let chain_id = self.chain_id.unwrap_or_else(|| context.default_chain());
let height = self.height;
println!(View on GitHub (pinned to 6c226ddcb3)
Solutions
- Read the per-check errors in the printed results above the bail message
- Confirm the validator process is up and the address/public key in the configuration are correct
- Re-run the query once transient issues (restart in progress, network blip) are cleared
- If errors persist, compare the validator's logs against the failing checks
Defensive patterns
Strategy: validation
Validate before calling
# Confirm the single validator is reachable before the full query suite
addr=127.0.0.1:9100
host=${addr%:*}; port=${addr##*:}
timeout 5 bash -c "</dev/tcp/$host/$port" || { echo "$addr unreachable"; exit 1; } Try / catch
match validator.run().await {
Err(e) if e.to_string().contains("issue(s) while querying validator") => {
// per-check errors were printed; inspect them instead of retrying blindly
eprintln!("validator {} unhealthy: {e}", validator.address);
}
result => result?,
} Prevention
- Ping the validator's gRPC port before running the full query suite in automation
- Verify the validator's address and public key in the config after every reconfiguration
- Read the printed results — they tell you which sub-checks failed, the bail only names the address
When it happens
Trigger: Running a single-validator query (e.g. `linera validator query <address>`) where one or more sub-checks return errors — `results.errors()` non-empty after the suites complete.
Common situations: Debugging one misbehaving validator; pointing at a stale address after reconfiguration; the validator restarting or syncing mid-query so some probes fail.
Related errors
- Found issues while querying validators
- Found faulty validators
- Benchmark requires the 'opentelemetry' feature to be enabled
- Missing network description
- cannot forget the default chain `{chain_id}`; switch to anot
AI-assisted analysis of linera-io/linera-protocol@6c226ddcb3 (2026-08-22).
Data as JSON: /api/errors/206e115037179743.
Report an issue: GitHub.