Skip to content

SIGSEGV and Instability on macOS ARM64 during heavy operations (FTS, Checkpointing) #468

@dbrami

Description

@dbrami

LadybugDB exhibits significant instability on macOS ARM64 (M-series), frequently crashing with SIGSEGV or internal assertions during common operations.

Observed issues:

  1. SIGSEGV in lbug::storage::NodeTable::checkpoint or during ~Database() destruction (Database::~Database() segfault during checkpoint flush + per-write throughput collapse on ~60K-node graphs (0.16.0 and 0.16.1) #452 - reported on Linux but behavior matches macOS reports).
  2. SIGSEGV in fts_extension::tableFunc on macOS ARM64 (reported via downstream GitNexus #1204).
  3. Mutex lock failures on macOS ARM64 under load (reported via downstream GitNexus #824).
  4. Unresolved symbols during extension loading on macOS ARM64 (Bug: FTS extension fails to load on macOS arm64 from Rust static binary (missing GDSFunction symbol) #438 - though partially addressed, suggests linkage/ABI issues).

Background:
Downstream tools like GitNexus rely on LadybugDB for code intelligence, and users on Apple Silicon are reporting that the tool is "not fully usable" due to these crashes. The failures seem concentrated around high-volume writes, large query sets, and FTS indexing.

Specific context for fix:

  • The SIGSEGVs often happen during checkpointing or page allocation.
  • There may be ARM64-specific memory ordering issues in the mutex/lock implementation.
  • Page allocator might be hitting edge cases with mmap on macOS when memory pressure or churn is high.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions