iflytek/astron-agent · warning
run_failed
run_failed
Error message
run_skill completed, skillId={}, status=failed, errorType={} What it means
RunSkillToolCallback.call executes a skill command in the runtime and returns its output. Any exception during execution is caught, logged as a warning with only the exception class name, and converted to a JSON result {skill_id, error:'run_failed'} — the command and exception details are deliberately withheld from the model response for security.
Solutions
- Check hub server logs for the full stack trace behind the masked errorType
- Verify the skill runtime service is up and the skill is installed/valid
- Run the skill command manually in the runtime environment to reproduce the failure
- Check runtime resource limits (timeout, memory) and sandbox dependency availability
Example fix
null
Defensive patterns
Strategy: try-catch
Try / catch
try { return runInRuntime(skillId, command); } catch (Exception e) { log.warn("run_skill failed, skillId={}, errorType={}", skillId, e.getClass().getSimpleName(), e); return new JSONObject().fluentPut("skill_id", skillId).fluentPut("error", "run_failed").toJSONString(); } Prevention
- Validate skill commands against an allowlist before dispatch
- Set explicit execution timeouts in the runtime client
- Pre-install and verify skill dependencies in the sandbox image
- Monitor runtime availability and run_skill failure rates
When it happens
Trigger: The skill execution request to the runtime fails (runtime unreachable, command rejected, timeout, sandbox error, missing skill) while the agent invokes the run_skill tool.
Common situations: Skill runtime service down; skill command requires dependencies not installed in the sandbox; execution timeout; invalid or malicious command blocked by the runtime; skill package corrupted.
Understand the failure class
Background: "API request failed": what wrapped HTTP errors from external APIs mean and how to find the real cause — this error's family across 29 libraries.
Related errors
- read_failed
- sandbox-exec failed: HTTP
- RESPONSE_FAILED
- non-positive skill id
- Skill resource is unavailable
AI-assisted analysis of iflytek/astron-agent@5e758547a8 (2026-09-12).
Data as JSON: /api/errors/d5fbbb6ebce13f98.
Report an issue: GitHub.
Appendix: source
Thrown at console/backend/hub/src/main/java/com/iflytek/astron/console/hub/service/chat/springai/RunSkillToolCallback.java:81
body.put("command", command);
body.put("stdin", args.get("stdin"));
body.put("resources", skill.getJSONArray("resources"));
body.put("sandbox", skill.getJSONObject("sandbox") == null ? new JSONObject() : skill.getJSONObject("sandbox"));
log.info(
"run_skill invoked, skillId={}, commandBytes={}",
skillId,
command.getBytes(java.nio.charset.StandardCharsets.UTF_8).length);
try {
String result = runtime.executeSandbox(body);
log.info(
"run_skill completed, skillId={}, status=success, responseBytes={}",
skillId,
result == null
? 0
: result.getBytes(java.nio.charset.StandardCharsets.UTF_8).length);
return result;
} catch (Exception e) {
log.warn(
"run_skill completed, skillId={}, status=failed, errorType={}",
skillId,
e.getClass().getSimpleName());
return new JSONObject().fluentPut("skill_id", skillId)
.fluentPut("error", "run_failed")
.toJSONString();
}
}
}
View on GitHub (pinned to 5e758547a8)