Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Troubleshooting

Common issues

taba init fails

ErrorCauseFix
Io: Permission deniedCannot create ~/.taba/Check home directory permissions, or use --state-dir
Security: KeyErrorKey generation failedEnsure rand crate is available (Linux: /dev/urandom)

taba apply fails

ErrorCauseFix
TomlParseInvalid TOML syntaxValidate with taba unit validate <file>
Core: MalformedUnitMissing required fieldsCheck the unit authoring guide
Graph: SignatureRejectedSignature verification failedEnsure the unit is signed by a known author
Graph: ScopeViolationAuthor lacks scopeCheck role assignments in governance units
Graph: MemoryLimitExceededGraph at capacityRun taba compose to trigger compaction, or increase memory limit

taba compose produces no placements

CauseFix
No units in graphRun taba unit list to verify
All units unplaceableCheck unplaceable section in output for reasons
Solver version mismatchAll nodes must agree on solver version (FM-12)

taba status shows Degraded mode

ReasonAction
ErasureThresholdExceededAdd nodes or reduce resilience_pct
MemoryLimitExceededRun compaction or increase graph_memory_limit_bytes
WalFailureCheck disk space, verify WAL directory
OperatorTriggeredRun taba node normal to clear

WAL corruption

If the WAL is corrupted (CRC mismatch on replay):

  1. The node stops replay at the corrupted position
  2. Returns NodeError::WalCorrupted { position, reason }
  3. Entries before the corruption are intact
  4. Entries after may be lost
  5. Recovery: delete the corrupted segment, restart the node

Node not joining cluster

  1. Check seed node addresses in NodeConfig
  2. Verify network connectivity (gossip uses UDP port 7946)
  3. Check attestation requirements (require_tpm in config)
  4. Verify the node’s keypair is valid (not revoked)

Debug logging

RUST_LOG=debug taba status
RUST_LOG=trace cargo test -p taba-graph

Getting help