JuliusBrussee/caveman · error

open ccr: %w

Error message

open ccr: %w

What it means

Error "open ccr: %w" thrown in JuliusBrussee/caveman.

Source

Thrown at mem/store.go:136

		return nil, fmt.Errorf("open memories db: %w", err)
	}
	db.SetMaxOpenConns(1)
	db.SetMaxIdleConns(1)
	// The cold-start migration is multi-statement DDL; under a fan-out of fresh
	// processes it can outlast a single busy_timeout, so retry it on SQLITE_BUSY
	// (runtime writes rely on busy_timeout alone). Both steps are idempotent.
	if err := ccr.RetryOnBusy(func() error { _, e := db.Exec(memSchema); return e }); err != nil {
		_ = db.Close()
		return nil, fmt.Errorf("migrate memories db: %w", err)
	}
	if err := ccr.RetryOnBusy(func() error { return migrateMemorySchema(db) }); err != nil {
		_ = db.Close()
		return nil, fmt.Errorf("migrate memories db: %w", err)
	}
	store, err := ccr.Open(ccrPath)
	if err != nil {
		_ = db.Close()
		return nil, fmt.Errorf("open ccr: %w", err)
	}
	return &Store{db: db, eng: engine.New(store, nil), ccr: store}, nil
}

// Close releases the databases.
func (s *Store) Close() error {
	err := s.db.Close()
	if cerr := s.ccr.Close(); cerr != nil && err == nil {
		err = cerr
	}
	return err
}

// Memory is one stored memory.
type Memory struct {
	ID           string  `json:"id"`
	Text         string  `json:"text"`
	CreatedAt    string  `json:"created_at"`

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Fix opening the ccr store and retry.

When it happens

Trigger: Thrown at mem/store.go:136 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15). Data as JSON: /api/errors/3148c53f1ae4cadc. Report an issue: GitHub.