-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting
This guide helps you diagnose and resolve common issues with the Cognitive Engine.
- Installation Issues
- Configuration Issues
- Runtime Issues
- Performance Issues
- Memory Issues
- LLM API Issues
- Dashboard Issues
- Agent Issues
- Learning System Issues
- Database Issues
- Getting Help
Symptom: SyntaxError or module import errors after installation
Cause: Python version too old or incompatible
Solution:
# Check Python version
python --version
# Install Python 3.9 or higher
# On Ubuntu/Debian
sudo apt-get update
sudo apt-get install python3.10 python3.10-venv
# On macOS with Homebrew
brew install python@3.10
# On Windows
# Download from https://www.python.org/downloads/Symptom: pip install fails with build errors
Cause: Missing system dependencies or incompatible versions
Solution:
# Update pip
pip install --upgrade pip
# Install system dependencies
# Ubuntu/Debian
sudo apt-get install build-essential python3-dev
# macOS
xcode-select --install
# Try installing with specific versions
pip install -r requirements.txt --no-cache-dir
# If still failing, try:
pip install --upgrade setuptools wheel
pip install -r requirements.txtSymptom: Cannot activate virtual environment or modules not found
Cause: Incorrect virtual environment setup or activation
Solution:
# Remove existing venv
rm -rf venv
# Create new venv
python3 -m venv venv
# Activate correctly
# Linux/macOS
source venv/bin/activate
# Windows
venv\Scripts\activate
# Verify activation
which python # Should show venv pathSymptom: API key not found or No LLM API key configured
Cause: Missing or incorrect environment variables
Solution:
# Check .env file exists
ls -la .env
# Create from example if missing
cp .env.example .env
# Edit .env and add keys
nano .env
# Verify keys are set
echo $OPENAI_API_KEY
echo $ANTHROPIC_API_KEY
# If using Docker, pass environment variables
docker run -e OPENAI_API_KEY=your_key ...Symptom: Default values used instead of configured values
Cause: .env file not in correct location or format incorrect
Solution:
# Ensure .env is in project root
pwd # Should be cognitive_engine directory
ls .env
# Check format (no spaces around =)
# Correct: KEY=value
# Wrong: KEY = value
# Reload environment
source .env # Linux/macOS
# or restart application
# Check for typos in variable names
# Should match exactly: OPENAI_API_KEY not OPENAIKEYSymptom: Address already in use or Port 8000 already in use
Cause: Dashboard port or another service using the port
Solution:
# Find process using port
lsof -i :8000 # Linux/macOS
netstat -ano | findstr :8000 # Windows
# Kill the process
kill -9 <PID> # Linux/macOS
taskkill /PID <PID> /F # Windows
# Or change port in .env
DASHBOARD_PORT=8001Symptom: Application crashes immediately on startup
Cause: Missing dependencies, configuration errors, or import errors
Solution:
# Check error message in logs
tail -f cognitive_engine.log
# Run in verbose mode
LOG_LEVEL=DEBUG python run.py
# Check imports
python -c "from core.engine import CognitiveEngine"
# Verify all dependencies installed
pip list | grep -E "(openai|anthropic|pydantic|fastapi)"
# Reinstall if needed
pip install --force-reinstall -r requirements.txtSymptom: ModuleNotFoundError: No module named 'xxx'
Cause: Module not installed or Python path issues
Solution:
# Ensure virtual environment activated
which python
# Install missing module
pip install <module_name>
# Check PYTHONPATH
echo $PYTHONPATH
export PYTHONPATH="${PYTHONPATH}:/path/to/cognitive_engine"
# Reinstall all dependencies
pip install -r requirements.txt --force-reinstallSymptom: Application becomes unresponsive or hangs
Cause: Infinite loop, blocking operation, or deadlock
Solution:
# Check process status
ps aux | grep python
# Get stack trace (Linux)
kill -QUIT <PID>
# Check logs for loops
tail -f cognitive_engine.log
# Reduce iteration limits in config
MIN_ITERATIONS=1
MAX_ITERATIONS=10
# Enable debug logging
LOG_LEVEL=DEBUGSymptom: Queries take too long to complete
Cause: High iteration count, slow LLM, or inefficient code
Solution:
# Reduce iteration limits
MIN_ITERATIONS=1
MAX_ITERATIONS=20
# Use faster LLM provider
DEFAULT_LLM_PROVIDER=openai # Generally faster than anthropic
# Enable caching if available
ENABLE_CACHING=true
# Check system resources
htop # Linux/macOS
Task Manager # Windows
# Profile the application
python -m cProfile -o profile.stats run.py
python -m pstats profile.statsSymptom: CPU usage near 100%
Cause: Intensive computation or infinite loop
Solution:
# Check what's using CPU
top -p <PID>
# Reduce cognitive iterations
MAX_ITERATIONS=30
# Disable expensive features
ENABLE_LEARNING=false
ENABLE_PROMPT_EVOLUTION=false
# Add rate limiting
RATE_LIMIT_REQUESTS_PER_MINUTE=60Symptom: Memory usage grows continuously
Cause: Memory leak or unbounded memory growth
Solution:
# Check memory usage
free -h # Linux
vm_stat # macOS
# Limit memory size
MAX_MEMORY_SIZE=5000
# Enable memory cleanup
ENABLE_MEMORY_CLEANUP=true
# Clear memory periodically
python run.py cleanup
# Check for memory leaks
pip install memory_profiler
python -m memory_profiler run.pySymptom: SQLite database is locked
Cause: Multiple processes accessing database simultaneously
Solution:
# Check for other processes
ps aux | grep python
# Stop other instances
pkill -f "python run.py"
# Use WAL mode for better concurrency
# Add to database initialization
PRAGMA journal_mode=WAL;
# Or use PostgreSQL for production
DATABASE_URL=postgresql://user:pass@localhost/dbSymptom: Memory lost after restart
Cause: Database path incorrect or permissions issue
Solution:
# Check database file exists
ls -la cognitive_engine.db
# Check permissions
chmod 644 cognitive_engine.db
# Verify path in config
MEMORY_DB_PATH=cognitive_engine.db
# Use absolute path
MEMORY_DB_PATH=/full/path/to/cognitive_engine.db
# Check disk space
df -hSymptom: Strange data in memory or crashes
Cause: Database corruption or concurrent access
Solution:
# Backup current database
cp cognitive_engine.db cognitive_engine.db.backup
# Try to repair
sqlite3 cognitive_engine.db "PRAGMA integrity_check;"
# If corrupted, restore from backup
cp cognitive_engine.db.backup cognitive_engine.db
# Start fresh if needed
rm cognitive_engine.db
python run.py # Will recreateSymptom: Invalid API key or 401 Unauthorized
Cause: Incorrect API key or key revoked
Solution:
# Verify key is correct
echo $OPENAI_API_KEY
# Regenerate key from provider
# OpenAI: https://platform.openai.com/api-keys
# Anthropic: https://console.anthropic.com/
# Update .env file
nano .env
# Restart applicationSymptom: Rate limit exceeded or 429 Too Many Requests
Cause: Too many API requests in short time
Solution:
# Implement exponential backoff
# Already handled in client, but can tune
RETRY_DELAY=1
MAX_RETRIES=3
# Reduce request frequency
# Add delay between requests
REQUEST_DELAY=0.5
# Upgrade API plan
# OpenAI: https://platform.openai.com/account/billing
# Anthropic: https://console.anthropic.com/settings/billing
# Use caching
ENABLE_RESPONSE_CACHE=true
CACHE_TTL=3600Symptom: Request times out after long wait
Cause: Network issues or slow LLM response
Solution:
# Increase timeout
LLM_TIMEOUT=60
# Check network connectivity
ping api.openai.com
ping api.anthropic.com
# Use faster model
DEFAULT_MODEL=gpt-3.5-turbo # Instead of gpt-4
# Check provider status
# OpenAI: https://status.openai.com/
# Anthropic: https://status.anthropic.com/Symptom: Insufficient quota or billing error
Cause: API quota exceeded or billing issue
Solution:
# Check quota/billing
# OpenAI: https://platform.openai.com/account/usage
# Anthropic: https://console.anthropic.com/settings/billing
# Add credits or upgrade plan
# Monitor usage
python run.py monitor-usageSymptom: Cannot access dashboard at http://localhost:8000
Cause: Dashboard not enabled or wrong port
Solution:
# Check dashboard enabled
ENABLE_DASHBOARD=true
# Check correct port
DASHBOARD_PORT=8000
# Verify server running
ps aux | grep "python run.py"
# Check firewall
sudo ufw allow 8000 # Linux
# Windows Firewall settings
# Try different port
DASHBOARD_PORT=8080Symptom: WebSocket connection failed in browser console
Cause: WebSocket not enabled or blocked
Solution:
# Check WebSocket enabled
ENABLE_WEBSOCKET=true
# Check browser console for errors
# F12 → Console tab
# Try different browser
# Chrome, Firefox, Safari
# Check for proxy issues
# Disable VPN or proxy temporarily
# Verify WebSocket URL
ws://localhost:8000/wsSymptom: Dashboard shows stale data or no updates
Cause: Event stream not working or client disconnected
Solution:
# Check server logs
tail -f cognitive_engine.log
# Refresh browser page
# Ctrl+Shift+R (hard refresh)
# Check WebSocket connection
# Browser console → Network tab → WS
# Restart dashboard
python run.py dashboardSymptom: Agent accepts goal but doesn't produce output
Cause: Goal validation failing or tool error
Solution:
# Check goal validation
AGENT_GOAL_VALIDATION=false # Disable temporarily
# Check tool availability
python run.py list-tools
# Check agent logs
tail -f cognitive_engine.log | grep agent
# Try simple goal
python run.py agent "What is 2+2?"Symptom: Agent tool calls fail with errors
Cause: Tool not registered or invalid parameters
Solution:
# Check tool registry
python run.py check-tools
# Verify tool permissions
TOOL_PERMISSIONS=permissive
# Check tool-specific configuration
# e.g., for web search
WEB_SEARCH_API_KEY=your_key
# Test tool directly
python -c "from tools.web_search import WebSearchTool; tool = WebSearchTool(); print(tool.search('test'))"Symptom: Agent repeats same actions indefinitely
Cause: Missing step limit or goal unclear
Solution:
# Set step limit
AGENT_STEP_LIMIT=50
# Clarify goal
# Be more specific in goal description
# Enable goal validation
AGENT_GOAL_VALIDATION=true
# Check logs for patterns
tail -f cognitive_engine.logSymptom: Learning system not finding patterns
Cause: Insufficient data or threshold too high
Solution:
# Check learning enabled
ENABLE_LEARNING=true
# Lower pattern threshold
PATTERN_THRESHOLD=3
# Check memory has data
python run.py check-memory
# Force pattern extraction
python run.py extract-patternsSymptom: Learned rules not being used
Cause: Rules not synthesized or effectiveness too low
Solution:
# Check rule effectiveness threshold
RULE_EFFECTIVENESS_THRESHOLD=0.5
# Force rule synthesis
python run.py synthesize-rules
# Check rule memory
python run.py list-rules
# Manually apply rules
python run.py apply-rulesSymptom: Learning operations take too long
Cause: Too much data or inefficient extraction
Solution:
# Increase learning interval
LEARNING_INTERVAL=500
# Reduce memory size
MAX_MEMORY_SIZE=5000
# Disable learning temporarily
ENABLE_LEARNING=false
# Clear old memory
python run.py clear-old-memorySymptom: Cannot connect to database
Cause: Database not running or wrong credentials
Solution:
# Check database file exists
ls -la cognitive_engine.db
# Check permissions
chmod 644 cognitive_engine.db
# Try with absolute path
MEMORY_DB_PATH=/full/path/to/cognitive_engine.db
# Recreate database
rm cognitive_engine.db
python run.pySymptom: Database queries take too long
Cause: Missing indexes or large dataset
Solution:
# Add indexes
# In database initialization
CREATE INDEX IF NOT EXISTS idx_timestamp ON episodic_memory(timestamp);
# Vacuum database
sqlite3 cognitive_engine.db "VACUUM;"
# Reduce dataset size
MAX_MEMORY_SIZE=10000
# Consider PostgreSQL for production
DATABASE_URL=postgresql://user:pass@localhost/dbSymptom: Database file growing too large
Cause: Unbounded memory growth
Solution:
# Set memory limit
MAX_MEMORY_SIZE=10000
# Enable retention policy
MEMORY_RETENTION_DAYS=90
# Clear old data
python run.py clear-old-memory
# Backup and recreate
cp cognitive_engine.db backup.db
rm cognitive_engine.db
python run.pyBefore seeking help, gather diagnostic information:
# System information
python --version
pip list
uname -a # Linux/macOS
systeminfo # Windows
# Configuration
cat .env
# Logs (last 100 lines)
tail -100 cognitive_engine.log
# Memory status
python run.py status
# Database check
sqlite3 cognitive_engine.db "PRAGMA integrity_check;"Check log files for error messages:
# Main log
tail -f cognitive_engine.log
# Debug log
LOG_LEVEL=DEBUG python run.py 2>&1 | tee debug.log
# System logs
journalctl -u cognitive-engine # systemd
/var/log/syslog # Linux system log| Error | Cause | Solution |
|---|---|---|
ModuleNotFoundError |
Missing module | pip install <module> |
API key not found |
Missing API key | Set in .env
|
Database locked |
Concurrent access | Use WAL mode or PostgreSQL |
Rate limit exceeded |
Too many requests | Implement backoff, upgrade plan |
Port already in use |
Port conflict | Change port or kill process |
Permission denied |
File permissions | chmod 644 file |
Out of memory |
Memory limit reached | Increase memory or reduce usage |
- Email: autobotsolution@gmail.com
- Address: Flushing MI
- GitHub Issues: Check existing issues first
- Documentation: Review relevant wiki pages
- Logs: Always include log excerpts
Include:
- Python version
- Operating system
- Error message (full traceback)
- Configuration (sanitized)
- Steps to reproduce
- Expected vs actual behavior
- Log excerpts (relevant sections)
Enable debug mode for more information:
# Set debug log level
LOG_LEVEL=DEBUG
# Enable verbose output
VERBOSE=true
# Run with Python debugger
python -m pdb run.py
# Or use breakpoint() in codeIf all else fails, start fresh:
# Backup current state
cp -r cognitive_engine cognitive_engine.backup
cp .env .env.backup
cp cognitive_engine.db cognitive_engine.db.backup
# Remove virtual environment
rm -rf venv
# Remove database
rm cognitive_engine.db
# Remove logs
rm cognitive_engine.log
# Recreate everything
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python run.py# Update dependencies
pip install --upgrade -r requirements.txt
# Clear old memory
python run.py cleanup
# Backup database
cp cognitive_engine.db backup/cognitive_engine_$(date +%Y%m%d).db
# Check disk space
df -h
# Monitor logs
tail -f cognitive_engine.log# Run health check
python run.py health
# Check all components
python run.py check-all
# Test configuration
python run.py test-configSet up monitoring for:
- Error rates
- Response times
- Memory usage
- CPU usage
- Disk space
- API quota usage