{"record":{"id":"206e115037179743","repo":"linera-io/linera-protocol","slug":"found-one-or-several-issue-s-while-querying-valid","errorCode":null,"errorMessage":"Found one or several issue(s) while querying validator {}","messagePattern":"Found one or several issue\\(s\\) while querying validator (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"linera-service/src/cli/validator.rs","lineNumber":725,"sourceCode":"        &self,\n        context: &ClientContext<impl linera_core::Environment>,\n    ) -> anyhow::Result<()> {\n        let node = context.make_node_provider().make_node(&self.address)?;\n        let chain_id = self.chain_id.unwrap_or_else(|| context.default_chain());\n        println!(\"Querying validator about chain {chain_id}.\\n\");\n\n        let results = context\n            .query_validator(&self.address, &node, chain_id, self.public_key.as_ref())\n            .await;\n\n        for error in results.errors() {\n            tracing::error!(\"{}\", error);\n        }\n\n        results.print(self.public_key.as_ref(), Some(&self.address), None, None);\n\n        if !results.errors().is_empty() {\n            anyhow::bail!(\n                \"Found one or several issue(s) while querying validator {}\",\n                self.address\n            );\n        }\n\n        Ok(())\n    }\n}\n\nimpl QueryBlock {\n    async fn run(\n        &self,\n        context: &ClientContext<impl linera_core::Environment>,\n    ) -> anyhow::Result<()> {\n        let node = context.make_node_provider().make_node(&self.address)?;\n        let chain_id = self.chain_id.unwrap_or_else(|| context.default_chain());\n        let height = self.height;\n        println!(","sourceCodeStart":707,"sourceCodeEnd":743,"githubUrl":"https://github.com/linera-io/linera-protocol/blob/6c226ddcb332ef55118dc8d0aafbd093d5420899/linera-service/src/cli/validator.rs#L707-L743","documentation":"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.","triggerScenarios":"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.","commonSituations":"Debugging one misbehaving validator; pointing at a stale address after reconfiguration; the validator restarting or syncing mid-query so some probes fail.","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"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"# Confirm the single validator is reachable before the full query suite\naddr=127.0.0.1:9100\nhost=${addr%:*}; port=${addr##*:}\ntimeout 5 bash -c \"</dev/tcp/$host/$port\" || { echo \"$addr unreachable\"; exit 1; }","typeGuard":null,"tryCatchPattern":"match validator.run().await {\n    Err(e) if e.to_string().contains(\"issue(s) while querying validator\") => {\n        // per-check errors were printed; inspect them instead of retrying blindly\n        eprintln!(\"validator {} unhealthy: {e}\", validator.address);\n    }\n    result => result?,\n}","preventionTips":["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"],"tags":["validators","network-health","linera-cli"],"backgroundTag":"health-check-failed","analyzedSha":"6c226ddcb332ef55118dc8d0aafbd093d5420899","analyzedAt":"2026-08-22T22:49:09.787Z","schemaVersion":2},"datasetVersion":"2026-08-23T01:17:44.959Z"}