Skip to content

Bug: deterministic simulator stack overflow hides DB divergence #2214

@yupme-bot

Description

@yupme-bot

Deterministic repro. Happens 100% of runs.

Reproduction

cargo run --bin limbo_sim -- --seed 123 --maximum-time 20 --doublecheck --keep-files

Environment

Commit: 57a2e66d44da8c5a479d585e9217bdbbb958121c

Rust: rustc 1.88.0

Cargo: cargo 1.88.0

OS: Windows 10 x64

Observed Behavior

With seed 123 and --doublecheck, I consistently observe two problems:

ParseError("table affectionate_lacazeduthiers_27 already exists") appears twice (likely once per pass: main + doublecheck).

Shortly after, the process terminates with:

thread 'main' has overflowed its stack
(exit code 0xc00000fd, STATUS_STACK_OVERFLOW)

Notes

The ParseError suggests the doublecheck pass may not be starting from a clean state (or state is leaking between passes).
However, I haven’t confirmed whether the stack overflow is independent or triggered by error handling/logging.

Artifacts include:

  • seed123_full.txt
  • test.db
  • doublecheck.db
  • screenshot.png

Expected Behavior

Simulator should complete without stack overflow and report divergence cleanly.

seed123_bug_report.zip

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