214 lines
5.9 KiB
Markdown
214 lines
5.9 KiB
Markdown
# Errors
|
||
|
||
Error logs and failure patterns for **skill-self-evolution-enhancer**.
|
||
|
||
**Categories**: timeout | context_overhead | missing_data | workflow_error
|
||
**Statuses**: pending | in_progress | resolved | wont_fix | promoted
|
||
|
||
## Status Definitions
|
||
|
||
| Status | Meaning |
|
||
|--------|---------|
|
||
| `pending` | Not yet addressed |
|
||
| `in_progress` | Actively being worked on |
|
||
| `resolved` | Issue fixed or workaround found |
|
||
| `wont_fix` | Decided not to address |
|
||
| `promoted` | Elevated to evolution rules |
|
||
|
||
## Error Entry Format
|
||
|
||
```markdown
|
||
## [ERR-YYYYMMDD-XXX] category
|
||
|
||
**Logged**: ISO-8601 timestamp
|
||
**Priority**: low | medium | high | critical
|
||
**Status**: pending
|
||
**Area**: 领域
|
||
|
||
### Summary
|
||
One-line description
|
||
|
||
### Details
|
||
Full context
|
||
|
||
### Root Cause
|
||
Likely cause if known
|
||
|
||
### Workaround
|
||
What was tried or could be tried
|
||
|
||
### Metadata
|
||
- Source: error_log | user_report | test
|
||
- Tags: tag1, tag2
|
||
- Recurrence-Count: 1
|
||
|
||
---
|
||
```
|
||
|
||
## [ERR-20260326-001] cron_timeout_context_overhead
|
||
|
||
**Logged**: 2026-03-26T04:14:00Z
|
||
**Priority**: high
|
||
**Status**: resolved
|
||
**Area**: cron任务调度
|
||
|
||
### Summary
|
||
cron agentTurn timeout设置120s但实际超时,原因是session上下文大(205k)导致agent处理慢
|
||
|
||
### Details
|
||
- 脚本 `evolution-report.sh` 本身执行仅需 4秒
|
||
- 但 cron agentTurn 报告超时 120028ms(连续3次)
|
||
- session 状态显示: `unknown/205k (?%)` 说明上下文很大
|
||
- 日志分析显示脚本实际在 4s 内完成
|
||
|
||
### Root Cause
|
||
timeoutSeconds 设置的是 cron job 的硬性超时,但 OpenClaw agent 处理大上下文时初始化+推理本身就耗时很长,与实际脚本执行时间无关
|
||
|
||
### Workaround
|
||
将 `timeoutSeconds` 从 120 降到 60(脚本只需4s,60s足够让agent初始化完成)
|
||
已对 `dbd84977`(GitHub进化猎手)和 `b0afa4db`(日志清理)应用修复
|
||
|
||
### Metadata
|
||
- Source: heartbeat_analysis
|
||
- Tags: cron, timeout, context-size, self-healing
|
||
- Recurrence-Count: 3
|
||
- See Also: HEARTBEAT.md
|
||
|
||
---
|
||
|
||
## [ERR-20260326-002] resource_guard_cpu_parsing_bug
|
||
|
||
**Logged**: 2026-03-26T09:25:00Z
|
||
**Priority**: high
|
||
**Status**: resolved
|
||
**Area**: 资源监控
|
||
|
||
### Summary
|
||
资源守卫脚本CPU解析bug:int($2)对"4.5"返回0,显示95%而非5%
|
||
|
||
### Details
|
||
- `top -bn1 | grep "Cpu(s)"` 输出: `4.5 us, 0.0 sy, 0.0 ni, 95.5 id`
|
||
- 脚本用 `awk '{print int($2)}'` 取字段2,得到 `4.5`,但 `int("4.5")` 在awk中返回 0
|
||
- 导致 CPU 显示为 idle 字段值(95%),实际是空闲95%,使用仅5%
|
||
|
||
### Root Cause
|
||
awk int()函数对含小数点的字符串处理有误,且脚本逻辑不对:应该用 idle 计算使用率,而非直接取us字段
|
||
|
||
### Workaround
|
||
修改为 `cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print int($8)}')` 然后 `cpu_usage=$((100 - cpu_usage))`
|
||
|
||
### Metadata
|
||
- Source: heartbeat_false_alarm
|
||
- Tags: monitoring, awk, parsing
|
||
- Recurrence-Count: 1
|
||
- File: /home/yh6788/.openclaw/scripts/resource-guard.sh
|
||
|
||
---
|
||
|
||
## [ERR-20260326-002] camoufox_browse_headless_crash
|
||
|
||
**Logged**: 2026-03-26T14:01:00Z
|
||
**Priority**: high
|
||
**Status**: resolved
|
||
**Area**: 浏览器自动化
|
||
|
||
### Summary
|
||
camoufox browse.py 硬编码 headless=False,在服务器上会卡住等待用户输入
|
||
|
||
### Details
|
||
- 原脚本最后有 input("Press Enter to close..."),headless模式下无法交互
|
||
- 原脚本没有 headless 参数选项
|
||
- camoufox 安装在 ~/.local/lib/python3.13/site-packages/,不在 venv 里
|
||
|
||
### Root Cause
|
||
脚本设计假设在有GUI环境运行,未考虑服务器无头模式
|
||
|
||
### Workaround
|
||
修复后的 browse.py:
|
||
1. 添加 --headless 参数
|
||
2. 无DISPLAY时自动启用headless
|
||
3. headless模式下跳过等待用户输入
|
||
4. 添加 USER_SITE 路径到 sys.path
|
||
|
||
### Metadata
|
||
- Source: self_discovery
|
||
- Tags: camoufox, headless, server
|
||
- Recurrence-Count: 1
|
||
- See Also: camoufox/scripts/browse.py
|
||
|
||
---
|
||
|
||
## [ERR-20260327-001] log_cleaner_timeout
|
||
|
||
**Logged**: 2026-03-27T18:35:00Z
|
||
**Priority**: high
|
||
**Status**: resolved
|
||
**Area**: cron任务调度
|
||
|
||
### Summary
|
||
日志清理脚本本身只需1.3秒,但cron timeout 60秒仍超时
|
||
|
||
### Root Cause
|
||
同GitHub进化猎手问题:agent初始化(含session加载、context初始化)耗时远超脚本执行时间
|
||
|
||
### Workaround
|
||
将timeout从60s降到30s,脚本仅需1.3s,30s足够agent初始化完成
|
||
|
||
### Metadata
|
||
- Source: heartbeat_check
|
||
- Tags: cron, timeout, agent-initialization
|
||
- Recurrence-Count: 2
|
||
- See Also: ERR-20260326-001
|
||
|
||
---
|
||
|
||
## [ERR-20260327-001] cron_timeout_agent_context_overhead_v2
|
||
|
||
**Logged**: 2026-03-27T03:05:00Z
|
||
**Priority**: high
|
||
**Status**: resolved
|
||
**Area**: cron任务调度
|
||
|
||
### Summary
|
||
降低cron timeout反而导致更多超时:agent加载205k上下文需要60-120s
|
||
|
||
### Details
|
||
- 脚本本身执行只需 1.2 秒
|
||
- 但 agent 加载 205k 上下文需要 60-120s
|
||
- 60s timeout: 持续超时
|
||
- 180s timeout: 足够agent初始化完成
|
||
|
||
### Root Cause
|
||
OpenClaw agentTurn timeout 指的是 agent 整个执行周期,不是脚本执行时间。agent 需要时间初始化大上下文 session。
|
||
|
||
### Workaround
|
||
对于简单脚本任务,timeout 应设置为 120-300s,保证 agent 有足够时间初始化后再执行脚本
|
||
|
||
### Metadata
|
||
- Source: heartbeat_analysis
|
||
- Tags: cron, timeout, context-size, agent-overhead
|
||
- Recurrence-Count: 2
|
||
- See Also: ERR-20260326-001
|
||
|
||
---
|
||
|
||
## 2026-03-27 日志清理超时问题
|
||
|
||
**问题**: log-cleaner.sh 连续2次 timeout(cron 设置 60s)
|
||
**根因**: 逐文件循环 `stat` + 条件判断,大目录极慢
|
||
**解决方案**: 改用 `find -mtime +N -print -delete` 批量操作,timeout 提升至 120s
|
||
**进化**: 脚本已优化,cron 已更新
|
||
|
||
## 日志清理脚本超时问题 (2026-03-27)
|
||
|
||
**问题**: 日志清理cron任务连续2次超时(timeout)
|
||
|
||
**根因**: 脚本扫描目录包含node_modules等大目录,导致1.5GB数据遍历超时
|
||
|
||
**解决方案**:
|
||
- 排除目录:node_modules、.cache、.npm、.pnpm-store、.git
|
||
- 聚焦日志目录:workspace/sleep-learning、logs、token-monitor/logs
|
||
- 不再扫描整个workspace和openclaw根目录
|
||
|
||
**验证**: 修复后执行耗时0秒,正常完成
|