Troubleshooting & Debugging
April 25, 2026 ยท View on GitHub
Strategies and tools for diagnosing and fixing test failures in Alis.
Quick Checklist
- Check Logs:
Saved/Logs/Alis.log(look for "Error" or "fail") - Reproduce Locally: Can you run just that test?
scripts/ue/test/unit/run_cpp_tests.bat MyTest - Check Environment: Is it failing only in CI? (Check
-NullRHIor networking) - Interactive Debug: Run with Session Frontend in Editor.
Debugging Workflow
Step 1: Identify Failure
Batch Output:
Tests FAILED!
Exit code: 1
Check: Saved/Automation/Reports/index.json or Saved/Logs/Alis.log.
Step 2: Read Test Logs
Search for:
LogAutomationController: Error: Test Completed. Result={Fail}
Context: Look at lines before the failure for assertions or crashes.
Step 3: Reproduce in PIE (Interactive)
- Find failing test class (e.g.,
FMenuViewModelNavigationTest) - Open Session Frontend (
Window->Developer Tools->Session Frontend) - Go to Automation tab
- Filter for your test name
- Enable Breakpoints in your IDE
- Select test and click
Start Tests
Step 4: Run with Verbose Logging (CLI)
If you can't reproduce in PIE, run from CLI with extra logging:
"<ue-path>\Engine\Binaries\Win64\UnrealEditor-Cmd.exe" ^
"<project-root>\Alis.uproject" ^
-ExecCmds="Automation RunTests MyFailingTest" ^
-unattended -nopause -NullRHI -log -LogCmds="LogProjectLoading Verbose"
Common Issues
1. GameFeature Not Loading
Symptom: Test fails with "GameFeature not found" or assets missing. Fix:
- Check GameFeature Requirements.
- Run diagnostic:
scripts/ue/test/smoke/gamefeature_registration.bat. - Ensure
GameFeatureDataasset exists and state isInstalled.
2. Test Times Out
Symptom: Test hangs or exceeds time limit. Fix:
- Check for infinite loops.
- Verify async operations (latents) are completing.
- CRITICAL: Ensure
-testexit="Automation Test Queue Empty"flag is present if running custom scripts.
3. Flaky Test (Intermittent)
Symptom: Pass/Fail random. Fix:
- Race conditions: Are you relying on
tickorder? - Initialization: Is a static variable persisting between tests?
- Floating point: Use
TestEqualwith tolerance, not==.
4. CI-Only Failure
Symptom: Passes locally, fails in GitHub/GitLab. Fix:
- Rendering: CI often uses
-NullRHI. Does your test require a GPU/Viewport? - Audio: CI often uses
-NoSound. - Resolution: CI might have different screen size. Use explicit resolution adjustments.
5. iterate.ps1 aborts with LC_TIMEOUT (exit 5)
Symptom: Warm editor is alive, -CompileMode Auto or LiveCoding aborts after ~60s with:
LogLiveCodingServer: Warning: No PDB file found for module UnrealEditor-<Module>.dll
...
[compile] LC_TIMEOUT (no terminal marker) - refusing to dispatch against stale editor state.
Cause: A prior packaging run (-nodebuginfo) stripped the base PDB for the module you just edited. Live Coding silently disables itself for modules without a PDB, so the compile never reaches a terminal state.
Fix: rebuild the affected module.
scripts\ue\build\rebuild_module_safe.ps1 -ModuleName ProjectIntegrationTests
First rebuild attempt can take up to 10 min and occasionally hits the 600s timeout; the script auto-retries. Restart the persistent editor after the rebuild completes.
SOT: docs/agents/canonical.md "Dev loop pitfalls (verified 2026-04-23)" item 1.
Manual Verification
Purpose: Verify UI, UX, and visuals that cannot be automated.
When to use:
- Widget layout/styling (did the CSS break?)
- Animation timing (feels janky?)
- Input responsiveness
- Audio/VFX mixing
Process:
- Launch Standalone Game (not just PIE, to ensure full boot).
- Manually trigger the flow (e.g., "Open Inventory").
- Verify against Design Document.
Runtime & Integration Troubleshooting
Scope: Integration issues across systems (boot, update, feature activation, loading pipeline).
Where to look first
- Boot/update:
orchestrator.log,bootrom.log - Game runtime:
Saved/Logs/Alis.log - Plugin-specific: Check the plugin's
docs/folder (e.g.Plugins/UI/ProjectUI/docs/).
1. Feature Activation
Symptom: Plugins or content not showing up.
- Verify Manifest: Check
orchestrator_manifest.jsonentries. - Check API Macros: Must be uppercase (
PROJECTNAME_API) for linker. - Check .Build.cs: Missing dependency modules prevent loading.
- Diagnostic: Run
scripts/ue/test/smoke/gamefeature_registration.bat.
2. Loading Pipeline Stalls
Symptom: Game stuck on loading screen or "Resolving Assets".
- Check Log Phase: Find last completed phase in
Alis.log(Phases 1-6). - Asset Scans: Ensure scan paths cover the feature content.
- Asserts: Look for fatal errors around
ProjectLoadingSubsystem. - Deep Dive: Loading Pipeline.
3. Orchestrator / Boot Gating
Symptom: Game refuses to launch or update.
- Build ID Mismatch: Manifest build_id must match binary.
- Cycles: Check
depends_on[]for circular dependencies. - Signatures: Thumbprint must match allow-list.
- Deep Dive: Boot Chain.
4. Network / Integration
Symptom: Connection failures or missing server data.
- Config: Confirm IP/Port in
DefaultGame.ini. - Database: Verify server credentials (if running server).