hVPS · Docker App Catalog · Reliability Analysis
Deployment failure data
five weeks, categorized.
Every failed catalog deployment from W29–W33, grouped by error category and shown against total deployment volume and distinct machines affected.
Window Jul 13 – Aug 16, 2026
Failures analyzed
Catalog deploys 49,876
Overall success rate 98.7%
Deploy success rate
98.7%
49,247 of 49,876 ok
Top failure type
Registry denied
181 · 26 machines
No-reason bucket
19%
117 of 612 failures
Attempts vs outcomes
32×
20,482 attempts / 629 outcomes
01
Failures per week, by category
stacked · absolute counts
Note
W30 was the peak week at 182 failures. Registry-denied was the largest category that week (81). Counts here are absolute failure rows; the next panel shows the same categories against the number of distinct machines affected.
02
Failures vs. machines affected
failures vs distinct VPS
Categoryfailures / unique VPS
High failures-per-machine
Exit status 1: 129 failures across 5 machines (25.8×). One VPS accounts for 124 of the 129. The ratio column shows failures divided by distinct machines for each category.
Low failures-per-machine
No reason logged: 117 failures across 61 machines (1.9×). The widest spread of distinct machines among the larger categories.
03
Failure rate vs. deployment volume
per app · catalog avg 1.26%
Selected apps · attempts vs failure ratecatalog avg 1.26%
Note
Hermes Agent had the most total attempts (11,580) at a 0.91% failure rate. Krayin CRM had 50 attempts at a 6.0% rate. Rate = failures ÷ total attempts over the five weeks.
04
"No reason logged" — sample trace
10-row sample · Temporal histories
4
"PID ld does not exist"
4 of 10 sampled
3
"timed out while reading from socket"
3 of 10 sampled
2
"failed to acquire qga socket lock, another process is running?"
2 of 10 sampled
1
"agent is not running on virtual machine: timed out"
1 of 10 sampled
empty BigQuery response → response.reason: [] → Temporal ACTIVITY_TASK_FAILED → ScriptExecutionActivity→wait() → SocketQemuAgentClient (QEMU guest agent socket)
What the sample showed
In the 10 sampled empty-response failures — across 8 apps and 10 VMs — the Temporal activity-failure message referenced the QEMU guest agent socket (SocketQemuAgentClient) in all 10 cases, with the four message variants counted above. In the BigQuery response.reason field, these same records are empty.
Sample of 10 of ~168 empty-response failures; not necessarily representative of the full set. Reason text is not present in the warehouse for these records — it appears only in the Temporal / node-side logs.