echo8900 commited on
Commit
265eae7
Β·
verified Β·
1 Parent(s): 3177091

Delete diagnose.sh

Browse files
Files changed (1) hide show
  1. diagnose.sh +0 -154
diagnose.sh DELETED
@@ -1,154 +0,0 @@
1
- #!/bin/sh
2
- # ================================================================
3
- # OpenClaw HF Spaces - Startup Diagnostics
4
- # Runs before everything else. Prints all key info to logs.
5
- # Non-fatal: never blocks startup.
6
- # ================================================================
7
-
8
- TS=$(date -u +"%H:%M:%S")
9
- echo ""
10
- echo "=========================================="
11
- echo "[$TS] [diag] === STARTUP DIAGNOSTICS ==="
12
- echo "=========================================="
13
-
14
- # ── 1. System resources ──────────────────────────────────────
15
- echo "[diag] --- System ---"
16
- echo "[diag] Date : $(date -u)"
17
- echo "[diag] Hostname : $(hostname 2>/dev/null || echo unknown)"
18
- echo "[diag] Uptime : $(uptime 2>/dev/null | head -1)"
19
-
20
- # Memory
21
- MEM=$(cat /proc/meminfo 2>/dev/null | grep -E "^(MemTotal|MemAvailable|MemFree):" | awk '{printf "%s=%s%s ", $1, $2, $3}')
22
- echo "[diag] Memory : $MEM"
23
-
24
- # Disk
25
- echo "[diag] Disk df :"
26
- df -h 2>/dev/null | grep -E "^(Filesystem|/dev|overlay|tmpfs|/data)" | while read line; do
27
- echo "[diag] $line"
28
- done
29
-
30
- # ── 2. /data bucket mount ────────────────────────────────────
31
- echo "[diag] --- Storage Bucket /data ---"
32
- if [ -d /data ]; then
33
- echo "[diag] /data exists: YES"
34
- DF_DATA=$(df -h /data 2>/dev/null | tail -1)
35
- echo "[diag] /data usage : $DF_DATA"
36
-
37
- # Test write speed with timeout
38
- WRITE_OK=0
39
- timeout 5 sh -c 'echo test > /data/.diag-write-test && rm -f /data/.diag-write-test' 2>/dev/null && WRITE_OK=1
40
- echo "[diag] /data write : $([ $WRITE_OK -eq 1 ] && echo OK || echo FAILED-OR-SLOW)"
41
-
42
- # List top-level contents and sizes
43
- echo "[diag] /data contents:"
44
- ls -lah /data/ 2>/dev/null | while read line; do echo "[diag] $line"; done
45
-
46
- # openclaw dir
47
- OC_DIR="/data/.openclaw"
48
- if [ -d "$OC_DIR" ]; then
49
- echo "[diag] .openclaw dir size: $(du -sh $OC_DIR 2>/dev/null | cut -f1)"
50
- ls -lah "$OC_DIR/" 2>/dev/null | while read line; do echo "[diag] $line"; done
51
-
52
- # Config file details
53
- CFG="$OC_DIR/openclaw.json"
54
- if [ -f "$CFG" ]; then
55
- SIZE=$(stat -c%s "$CFG" 2>/dev/null || echo unknown)
56
- echo "[diag] openclaw.json : EXISTS, size=${SIZE} bytes"
57
- # Check if valid JSON (with timeout)
58
- VALID=$(timeout 3 node -e "try{JSON.parse(require('fs').readFileSync('$CFG','utf-8'));console.log('VALID')}catch(e){console.log('INVALID: '+e.message)}" 2>/dev/null || echo "TIMEOUT/ERROR")
59
- echo "[diag] openclaw.json : JSON check = $VALID"
60
- # Show top-level keys
61
- KEYS=$(timeout 3 node -e "try{var c=JSON.parse(require('fs').readFileSync('$CFG','utf-8'));console.log(Object.keys(c).join(', '))}catch(e){}" 2>/dev/null || echo "")
62
- echo "[diag] openclaw.json : top-level keys = $KEYS"
63
- else
64
- echo "[diag] openclaw.json : NOT FOUND"
65
- fi
66
-
67
- # Check for backup/corrupt files
68
- BACKUPS=$(ls "$OC_DIR"/*.bak "$OC_DIR"/*.corrupt.* "$OC_DIR"/*.empty.* "$OC_DIR"/*.toobig.* 2>/dev/null | wc -l)
69
- echo "[diag] backup/corrupt files: $BACKUPS"
70
-
71
- # Workspace size
72
- WS="$OC_DIR/workspace"
73
- if [ -d "$WS" ]; then
74
- echo "[diag] workspace size: $(du -sh $WS 2>/dev/null | cut -f1)"
75
- fi
76
-
77
- # Sessions size
78
- SESS="$OC_DIR/agents"
79
- if [ -d "$SESS" ]; then
80
- echo "[diag] agents dir size: $(du -sh $SESS 2>/dev/null | cut -f1)"
81
- # Count session files
82
- SESS_COUNT=$(find "$SESS" -name "*.jsonl" 2>/dev/null | wc -l)
83
- echo "[diag] session files (.jsonl): $SESS_COUNT"
84
- # Largest session files
85
- echo "[diag] largest session files:"
86
- find "$SESS" -name "*.jsonl" -exec ls -s {} \; 2>/dev/null | sort -rn | head -5 | while read line; do
87
- echo "[diag] $line"
88
- done
89
- fi
90
- else
91
- echo "[diag] .openclaw dir: NOT FOUND"
92
- fi
93
- else
94
- echo "[diag] /data: NOT MOUNTED"
95
- fi
96
-
97
- # ── 3. Runtime versions ──────────────────────────────────────
98
- echo "[diag] --- Runtime ---"
99
- echo "[diag] Node : $(node --version 2>/dev/null || echo not found)"
100
- echo "[diag] npm : $(npm --version 2>/dev/null || echo not found)"
101
-
102
- # openclaw version
103
- OC_VER=$(node -e "try{var p=require('/app/package.json');console.log(p.version)}catch(e){console.log('unknown')}" 2>/dev/null || echo unknown)
104
- echo "[diag] openclaw: $OC_VER"
105
-
106
- # ── 4. Network ───────────────────────────────────────────────
107
- echo "[diag] --- Network ---"
108
- # Check if ports are already in use
109
- for PORT in 7860 18789; do
110
- IN_USE=$(nc -z 127.0.0.1 $PORT 2>/dev/null && echo "IN USE" || echo "free")
111
- echo "[diag] port $PORT : $IN_USE"
112
- done
113
-
114
- # Basic outbound connectivity (with timeout)
115
- CONN=$(timeout 5 sh -c 'curl -s --max-time 4 -o /dev/null -w "%{http_code}" https://api.groq.com 2>/dev/null' || echo "timeout/fail")
116
- echo "[diag] groq reachable : $CONN"
117
-
118
- # ── 5. Processes ─────────────────────────────────────────────
119
- echo "[diag] --- Processes ---"
120
- echo "[diag] Running processes:"
121
- ps aux 2>/dev/null | grep -E "(node|openclaw|nginx)" | grep -v grep | while read line; do
122
- echo "[diag] $line"
123
- done
124
-
125
- # ── 6. Environment summary ───────────────────────────────────
126
- echo "[diag] --- Environment ---"
127
- echo "[diag] OPENCLAW_HOME : ${OPENCLAW_HOME:-not set}"
128
- echo "[diag] SPACE_HOST : ${SPACE_HOST:-not set}"
129
- echo "[diag] HF_TOKEN set : $([ -n "${HF_TOKEN:-}" ] && echo YES || echo NO)"
130
- echo "[diag] Gateway token : $([ -n "${OPENCLAW_GATEWAY_TOKEN:-}" ] && echo SET || echo NOT SET)"
131
- # Count provider keys
132
- PKEY_COUNT=0
133
- for VAR in $(env | cut -d= -f1); do
134
- case "$VAR" in
135
- *_API_KEY|*_BOT_TOKEN) PKEY_COUNT=$((PKEY_COUNT+1)) ;;
136
- esac
137
- done
138
- echo "[diag] Provider keys : $PKEY_COUNT env vars"
139
-
140
- # ── 7. Lock files ────────────────────────────────────────────
141
- echo "[diag] --- Lock files ---"
142
- for LOCKDIR in /tmp/openclaw /data/.openclaw /home/user/.openclaw; do
143
- if [ -d "$LOCKDIR" ]; then
144
- LOCKS=$(find "$LOCKDIR" -name "*.lock" -o -name ".lock" 2>/dev/null)
145
- if [ -n "$LOCKS" ]; then
146
- echo "[diag] LOCKS FOUND in $LOCKDIR:"
147
- echo "$LOCKS" | while read f; do echo "[diag] $f"; done
148
- fi
149
- fi
150
- done
151
-
152
- echo "[diag] === DIAGNOSTICS COMPLETE ==="
153
- echo "=========================================="
154
- echo ""