[hermes] soteria #347: sonarqube_scan_missing_node_runtime #22
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hermes auto-triage classified incident
soteria/347as sonarqube_scan_missing_node_runtime (confidence 0.76); first failed gate:sonarqube.Why a human is needed
Build 347 failed at the 'Enforce quality gate' stage. No tests ran and none were reported failing; the only errors in the build are from the SonarQube analysis step. At 21:04:56 the scanner tried to start its JavaScript/TypeScript analysis, which launches a helper process with 'node -v', and the operating system returned 'Cannot run program "node": error=2, No such file or directory'. The resulting exception is not contained to that sensor - the stack trace reaches the scanner CLI's main method - so the analysis run aborted, no report was submitted to SonarQube, and the gate the pipeline waits on failed, ending the build with exit code 1 and skipping the image build. A second problem is visible in the same run: all 26 Go files failed to parse, one with 'Stream closed' and the rest with 'Go parser external process returned non-zero exit value: 2', which points at the bundled Go analyzer binary being unable to execute in that container (architecture mismatch or a missing native dependency) rather than at anything in the source. A fix is in the analysis environment, not in the service: install or expose Node.js in the container used for the scan (or set sonar.nodejs.executable to its path), or disable JS/TS analysis for this project if there is no JavaScript or TypeScript to inspect, and supply a Go analyzer that runs on this agent's architecture - otherwise the scan will finish but report no Go findings or coverage at all. A rebuild of the same commit will hit the identical missing binary, and the choice between provisioning Node.js and switching off JS/TS analysis is a maintainer's call, so a person needs to make the change; the retained console is truncated and the central log store was refusing connections, so nothing corroborates the Jenkins output independently.
Ariadne did not authorize automated remediation:
human_required.Facts
https://ci.bstein.dev/job/soteria/347/ (result, timestamps))https://ci.bstein.dev/job/soteria/347/ jenkins.first_failed_stage)https://ci.bstein.dev/job/soteria/347/ jenkins.failed_tests = [])https://ci.bstein.dev/job/soteria/347/ console around line 316)https://ci.bstein.dev/job/soteria/347/ console around line 417)https://ci.bstein.dev/job/soteria/347/ console around line 417)https://ci.bstein.dev/job/soteria/347/ console around line 316)https://ci.bstein.dev/job/soteria/347/ console around line 316)https://ci.bstein.dev/job/soteria/347/ console_tail, console line 3381)log_evidence.error for incident soteria/347)Evidence
The earliest failure region of the build console:
Inferences
Links
Truncated by Ariadne: the diagnosis exceeded the configured issue body limit. The complete evidence bundle is in the Ariadne audit trail.