Skip to content

SIGSEGV crash in embedded Dolt driver on Linux (Ubuntu 25.04) #1922

@wortmanb

Description

@wortmanb

Description

beads crashes with SIGSEGV when attempting any database operation on Linux. The crash occurs in the embedded Dolt driver before any beads logic executes.

Environment

  • OS: Ubuntu 25.04 (Plucky), Linux 6.14.0-37-generic x86_64
  • beads: 0.55.1 (Homebrew/Linuxbrew)
  • gastown: 0.7.0 (Homebrew/Linuxbrew)
  • dolt (standalone): 1.82.3 (installed separately, but shouldn't affect embedded driver)

Steps to Reproduce

  1. Install beads via Homebrew on Linux: brew install beads
  2. Initialize a new database: bd init --prefix test
  3. Run any bd command: bd list

Expected Behavior

Commands should execute normally.

Actual Behavior

Immediate SIGSEGV crash:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x27a1b3a]

goroutine 1 [running]:
github.com/dolthub/dolt/go/libraries/doltcore/doltdb.(*DoltDB).SetCrashOnFatalError(0x0?)
	github.com/dolthub/dolt/go@v0.40.5-0.20260217214010-5634e120aae3/libraries/doltcore/doltdb/doltdb.go:2041 +0x1a
github.com/dolthub/dolt/go/cmd/dolt/commands/engine.newDatabase(...)
	github.com/dolthub/dolt/go@v0.40.5-0.20260217214010-5634e120aae3/cmd/dolt/commands/engine/utils.go:65 +0xeb
...
github.com/steveyegge/beads/internal/storage/dolt.newEmbeddedMode(...)
	github.com/steveyegge/beads/internal/storage/dolt/store_embedded.go:124 +0x7a8

Notes

  • Crash occurs consistently on every database access
  • bd init partially succeeds (creates .beads directory) but crashes during diagnostics
  • Server mode (--server) also fails because init still tries embedded mode first
  • Setting no-db: true in config.yaml doesn't prevent the crash
  • The crash is in the Dolt library code, not beads code directly
  • gastown commands that don't use beads (gt status, gt rig list) work fine

Workaround Attempted

  • Reinstalling beads: No change
  • Using server mode: Fails because init uses embedded mode
  • Using BEADS_DIR env var: Same crash
  • Removing lock files: Temporary success, then crashes again

Possible Cause

The embedded Dolt driver (compiled into beads at v0.40.5) may have a Linux-specific issue or incompatibility with this kernel/glibc version.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions