debugging-runtime

Diagnoses HOT-Step CPP generation failures and engine crashes from session log folders.

151|22|Updated Apr 19, 2026
One-click install
npx skills add https://github.com/scragnog/HOT-Step-CPP --skill debugging-runtime-scragnog
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: debugging-runtime
Source: https://github.com/scragnog/HOT-Step-CPP/tree/main/.claude/skills/debugging-runtime
Command: npx skills add https://github.com/scragnog/HOT-Step-CPP --skill debugging-runtime-scragnog

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? When a music generation fails, the ace-server engine crashes, or the HOT-Step CPP app hangs with no progress, the cause is buried across three interleaved log files. This Skill provides a log-driven playbook that maps each symptom to the exact log file to open first, decodes real failure strings, and correlates a gen_<uuid> log back to engine output. ## Core Features & Use Cases - Symptom-to-log triage tables: Match failures like "Generation stalled", HTTP 503 "Engine not ready", or exit code 3221226505 to their root causes in node_console.log, ace_engine.log, or per-generation gen logs. - Safe operational rules: Enforces critical constraints such as never killing ace-server.exe externally (it triggers a respawn/file-lock loop) and rebuilding only via dev-rebuild.bat. - Copy-paste PowerShell command pack: The bundled reference.md provides ready triage commands, API response shapes for /api/health and /api/generate/queue, watchdog timing constants, and Windows exit-code meanings. - Use Case: A user's generation failed with a generic "Generation failed on ace-server" message. Use this Skill to locate the newest logs/ session folder, read the gen log's failure line, then grep node_console.log for FATAL or CUDA error lines to find the real engine-side cause. ## Quick Start Diagnose why my last HOT-Step music generation failed by reading the newest session folder under logs/ and tracing the gen log back to the engine output.

Frequently Asked Questions about debugging-runtime

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I debug a failed music generation in HOT-Step CPP?

Open the newest logs/<session>/generations/gen_<uuid>_*.log file and read the last line, which states GENERATION FAILED with the reason. The top of that file contains the full resolved engine request JSON, and node_console.log provides the surrounding engine output for that job.

Why does ace-server keep restarting after a crash?

The Node server auto-respawns ace-server on any non-zero exit, and crashes spaced more than 30 seconds apart reset the crash limiter window so the loop continues indefinitely. Never kill ace-server externally; use dev-rebuild.bat or POST /api/shutdown to stop it cleanly.

Why is there no gen log for my generation?

Generation logs are buffered in RAM and only written to disk when a generation completes or fails. If the Node server itself crashed or was hard-killed mid-generation, the gen log is never flushed, so fall back to node_console.log for that session.

What does 'Engine not ready' 503 error mean on /api/generate?

HTTP 503 means the bootstrap is incomplete, usually because the CUDA DLL download is still running or the crash limiter gave up after 3 crashes in 30 seconds. Check node_console.log for the bootStatus message and reconnect to the internet if DLLs are missing.

Is the ace-server engine dead if HTTP requests to port 8085 hang?

Not necessarily. ace-server uses single-threaded httplib and cannot answer HTTP requests during DiT steps, adapter merges, or VAE decode. Check the tail of ace_engine.log for advancing [DiT] Step N/M lines before declaring it hung.

What does exit code 3221226505 mean in the engine logs?

Exit code 3221226505 (0xC0000409) indicates a fail-fast, abort, or stack-buffer-overrun, which is a genuine C++ crash. Read the engine lines immediately preceding the exit line in node_console.log or ace_engine.log to find the cause.