Troubleshooting (v0.2.0)
Common issues and solutions when running GibRAM server.
Server Issues
Server Won't Start
Port Already in Use
Symptom:
Cause: Another process is using port 6161.
Diagnosis:
Solutions:
-
Stop the conflicting process:
-
Use different port:
-
Update SDK to match:
Invalid Configuration
Symptom:
Cause: Syntax error in config.yaml.
Solutions:
-
Validate YAML syntax:
-
Check indentation (YAML is whitespace-sensitive):
-
Use example config:
Permission Denied
Symptom:
Cause: No write permission to data directory.
Solutions:
-
Check permissions:
-
Fix permissions:
-
Use different directory:
TLS Certificate Issues
Symptom:
Cause: Certificate file not found or invalid.
Solutions:
-
Verify cert files exist:
-
Check file format (must be PEM):
-
Generate new cert:
-
Use auto-cert for development:
Server Crashes or Hangs
Out of Memory
Symptom: - Server killed by OS - Logs: "CRITICAL: Memory usage 2048MB / 2048MB" - Docker: Container restarted
Cause: Too much data in sessions without cleanup.
Diagnosis:
# Check memory usage
free -h
# Check server logs
tail -f /var/log/gibram/gibram.log
# Check Docker stats
docker stats gibram
Solutions:
-
Increase memory limit (Docker):
-
Enable session TTL (via protocol):
-
Manual cleanup:
-
Reduce data volume:
- Index fewer documents
- Use larger chunk_size (fewer chunks)
- Delete unused sessions
Too Many Connections
Symptom:
Cause: DoS protection triggered.
Solutions:
-
Check active sessions:
-
Clean up old sessions:
-
Increase limit (code change required):
Client Connection Issues
Connection Refused
Symptom (Python):
Symptom (Go):
Cause: Server not running or wrong host/port.
Solutions:
-
Check server is running:
-
Verify port:
-
Test with CLI:
-
Check firewall:
-
Docker network:
TLS Handshake Failed
Symptom:
Cause: Certificate validation failed.
Solutions:
- Development: Use insecure mode:
-
Skip cert verification (Go client):
-
Production: Use valid certificate:
- CA-signed certificate
- Hostname matches cert CN
- Certificate not expired
Authentication Failed
Symptom:
Cause: Missing or invalid API key.
Solutions:
-
Verify server requires auth:
-
Check API key matches config:
-
Use correct key in client (Go):
-
Development: Disable auth:
Data Issues
Dimension Mismatch
Symptom:
Cause: Server vector_dim ≠ embedding dimension.
Where it happens: - When adding TextUnit with embedding - When adding Entity with embedding - When adding Community with embedding
Solutions:
-
Check server dimension:
-
Match SDK to server:
-
Change server dimension (requires restart + re-index):
-
Use compatible embedding model:
⚠️ WARNING: Changing vector_dim requires re-indexing all data.
Session Not Found
Symptom:
Cause: Session expired or never created.
Solutions:
-
Check session exists:
-
Session TTL expired:
- Session auto-deleted after TTL
-
Re-index data in new session
-
Server restarted (ephemeral mode):
- All sessions lost on restart
-
Re-index data
-
Wrong session ID:
Duplicate Entity Error
Symptom:
Cause: Entity with same title already in session.
Behavior: SDK handles this automatically by: 1. Checking if entity exists by title 2. Reusing existing entity ID 3. Linking to text units
If you see this error: - You're using low-level client directly - Check for existing entity before adding
SDK Issues
OpenAI API Errors
Rate Limit
Symptom:
Solutions:
-
Reduce batch size:
-
Add delay between batches (custom implementation needed)
-
Upgrade OpenAI plan for higher rate limits
Invalid API Key
Symptom:
Solutions:
-
Check API key:
-
Verify key is valid on OpenAI dashboard
-
Pass key explicitly:
Quota Exceeded
Symptom:
Solutions:
- Check quota on OpenAI billing dashboard
- Add payment method or upgrade plan
Extraction Failed
Symptom:
Cause: LLM returned invalid JSON or timed out.
Impact: Chunk is skipped (indexing continues for other chunks).
Solutions:
- Check OpenAI service status
- Retry indexing (transient errors)
- Check chunk content (very long/malformed text can cause issues)
Performance Issues
Slow Indexing
Symptom: Indexing takes > 10s per document.
Causes:
- LLM API latency (main bottleneck)
- Large documents → many chunks
- Slow network to OpenAI API
Solutions:
-
Use faster model:
-
Increase chunk size (fewer LLM calls):
-
Disable community detection:
Slow Queries
Symptom: Query takes > 1s.
Causes:
- Large result set (high top_k)
- Many entities in session
- Deep graph traversal
Solutions:
-
Reduce top_k:
-
Limit result types:
Docker Issues
Container Exits Immediately
Symptom:
Solutions:
-
Check logs:
-
Run interactively to see error:
-
Common causes:
- Invalid config mounted
- Port conflict (6161 already used on host)
- Memory limit too low
Can't Connect from Host
Symptom: Python SDK on host can't reach Docker container.
Solutions:
-
Check port mapping:
-
Use correct host:
-
Check Docker network:
Getting Help
Gather Information
When reporting issues, include:
-
GibRAM version:
-
Server logs:
-
Configuration (sanitized):
-
Reproduction steps:
- Minimal code example
- Expected vs actual behavior
Resources
- GitHub Issues: github.com/gibram-io/gibram/issues
- Documentation: This site
- Examples:
examples/directory in repo
Next Steps
- Configuration Basics - Prevent common issues
- Python SDK Quickstart - SDK setup