Agent Troubleshooting¶
Common issues and how to resolve them.
Log Locations¶
| Log | Path | Contents |
|---|---|---|
| Service | C:\ProgramData\Owlette\logs\service.log |
Main service operations, Firebase sync, command execution |
| GUI | C:\ProgramData\Owlette\logs\gui.log |
Configuration GUI operations |
| Tray | C:\ProgramData\Owlette\logs\tray.log |
System tray icon operations |
| Installer | C:\ProgramData\Owlette\logs\setup.log |
Installation/setup logging |
Logs use rotating file handlers: 10 MB per file, 5 backups. Old logs are auto-deleted after 90 days (configurable).
Debug Mode¶
Run the service in debug mode to see real-time console output:
Requires Administrator
Debug mode must be run from an elevated command prompt.
Common Issues¶
Agent Won't Start¶
Symptoms: Service fails to start, or starts and immediately stops.
Check:
- Run in debug mode to see the error:
- Check
service.logfor startup errors - Verify Python is installed:
C:\ProgramData\Owlette\python\python.exe --version - Verify config.json is valid JSON
Common causes:
- Corrupt
config.json— delete it and restart (a new default will be created) - Missing Python dependencies — reinstall the agent
- Port conflict — another instance may be running
Agent Shows Offline in Dashboard¶
Symptoms: Machine shows offline (red/grey) despite the service running.
Check:
- Verify service is running:
sc query OwletteService - Check
service.logfor Firebase connection errors - Verify internet connectivity
- Check firewall rules for outbound HTTPS (port 443)
Common causes:
- No internet — Agent works offline but can't update Firestore
- OAuth token expired — Check for "Token expired" in logs. Agent should auto-refresh.
- Wrong site_id — Verify
firebase.site_idin config.json matches your dashboard site - Firebase disabled — Check
firebase.enabledistruein config.json
"Agent not authenticated" Error¶
Symptoms: Log shows "Agent not authenticated - no refresh token found"
Cause: The agent's stored OAuth tokens are missing or corrupt.
Fix:
- Delete the token file and re-pair:
- Run the pairing flow:
- Authorize on the web page that opens, then restart the service
Processes Not Auto-Restarting¶
Symptoms: Configured processes crash but aren't restarted.
Check:
- Verify
autolaunchistruefor the process - Check if
relaunch_attemptslimit has been reached (counter resets on manual restart) - Verify the
exe_pathexists and is correct - Check
service.logfor launch errors
Common causes:
- Executable not found — Process shows as INACTIVE
- Relaunch limit reached — The reboot prompt should have appeared
- Permission error — Service may not have access to the executable path
- Task Scheduler issues — Fallback to CreateProcessAsUser
ConnectionManager States¶
The agent's connection to Firestore follows a state machine. Check service.log for the current state:
| State | Meaning | Action |
|---|---|---|
DISCONNECTED |
No connection, not trying | Will attempt on next cycle |
CONNECTING |
Actively establishing connection | Wait |
CONNECTED |
Online and syncing | Normal operation |
RECONNECTING |
Lost connection, retrying | Automatic retry |
BACKOFF |
Too many failures, waiting | Exponential backoff (up to 5 min) |
If stuck in BACKOFF:
- Check internet connectivity
- Verify Firebase project is accessible
- The agent will automatically retry — backoff resets after a successful connection
High CPU/Memory Usage¶
Symptoms: The Owlette service itself uses excessive resources.
Normal usage: ~20-50 MB RAM, <1% CPU
If excessive:
- Check if debug logging is enabled (generates more I/O)
- Look for rapid reconnection loops in
service.log - Verify no circular config updates (MD5 hash tracking should prevent this)
GUI Won't Open¶
Symptoms: Clicking "Open GUI" from tray does nothing, or GUI crashes immediately.
Check:
- Look at
gui.logfor errors - Verify GUI file exists:
C:\ProgramData\Owlette\agent\src\owlette_gui.py - Try launching manually:
- Check for CustomTkinter import errors (missing dependency)
Windows Defender Blocking¶
Symptoms: Agent files quarantined, service won't start after update.
Cause: WinRing0 driver (used by LibreHardwareMonitor for CPU/GPU temps) may be flagged.
Fix: The installer should add a Defender exclusion automatically. If it didn't:
Service Management Commands¶
# Check service status
sc query OwletteService
# Start service
net start OwletteService
# Stop service
net stop OwletteService
# Restart service
net stop OwletteService && net start OwletteService
# View service configuration
sc qc OwletteService
All commands require Administrator privileges.