mvanhorn/last30days-skill · error · SubprocTimeout
Command {cmd[0]} timed out after {timeout}s
Error message
Command {cmd[0]} timed out after {timeout}s What it means
Error "Command {cmd[0]} timed out after {timeout}s" thrown in mvanhorn/last30days-skill.
Source
Thrown at skills/last30days/scripts/lib/subproc.py:110
except subprocess.TimeoutExpired:
# Child ignored SIGTERM (or our killpg lost the race); escalate.
# Guard killpg/getpgid the same way the SIGTERM path above does:
# they are POSIX-only and raise AttributeError on Windows. The
# primary path was hardened in #552; this mirrors that guard on the
# escalation path (added later in #433) so the same crash can't
# re-surface here (#588).
try:
if hasattr(os, "killpg") and hasattr(os, "getpgid"):
os.killpg(os.getpgid(proc.pid), signal.SIGKILL)
else:
proc.kill()
except (ProcessLookupError, PermissionError, OSError, AttributeError):
proc.kill()
try:
proc.wait(timeout=5)
except subprocess.TimeoutExpired:
pass # process unkillable (e.g. D-state); leave as zombie
raise SubprocTimeout(f"Command {cmd[0]} timed out after {timeout}s")
return SubprocResult(
returncode=proc.returncode,
stdout=stdout or "",
stderr=stderr or "",
)
View on GitHub (pinned to c7460f6114)
Solutions
- Increase the timeout for the long-running command (pass a larger timeout value to the subproc helper) or reduce the work the command does in one run.
- Check whether the child process is hung: run the same command manually with the same arguments and time it; fix the underlying slowness or deadlock.
- Ensure the child command can actually receive output/stdin in this environment; a subprocess blocked writing to a full pipe can appear to time out.
When it happens
Trigger: Fires when an external command run via lib/subproc.py (e.g. yt-dlp or digg-pp-cli) does not finish within the configured timeout budget. Common when the network is slow, the remote service hangs, or the timeout is set too low for a large fetch.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of mvanhorn/last30days-skill@c7460f6114 (2026-08-15).
Data as JSON: /api/errors/2b78b87d3292836d.
Report an issue: GitHub.