Skip to content

Don't disable ASLR when re-running tests under LLDB, to work in CI - #5366

Merged
graydon merged 1 commit into
stellar:masterfrom
graydon:disable-aslr-in-lldb-rerun
Jul 24, 2026
Merged

Don't disable ASLR when re-running tests under LLDB, to work in CI#5366
graydon merged 1 commit into
stellar:masterfrom
graydon:disable-aslr-in-lldb-rerun

Conversation

@graydon

@graydon graydon commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

When tests fail in CI the runner tries to re-run the failing test under LLDB to get a backtrace. LLDB tries to disable ASLR on startup using personality(2) and this in turn doesn't work on most CI runners because it's a privileged operation and the container they're running in doesn't allow it, so rather than any useful backtrace diagnostics we get a failure like:

error: Cannot launch '/home/runner/work/stellar-core/stellar-core/build-gcc-current/src/stellar-core': personality set failed: Operation not permitted

This PR modifies how we run LLDB to tell it not to try to disable ASLR, which means it won't fail, which means it should be more likely to start and produce a backtrace.

Copilot AI review requested due to automatic review settings July 24, 2026 03:08
@graydon
graydon force-pushed the disable-aslr-in-lldb-rerun branch from 01d942b to 0a5ad6c Compare July 24, 2026 03:09
@graydon graydon changed the title Disable ASLR when re-running tests under LLDB, to work in CI Don't disable ASLR when re-running tests under LLDB, to work in CI Jul 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Configures LLDB reruns to preserve ASLR, avoiding CI failures caused by restricted personality(2) calls.

Changes:

  • Sets target.disable-aslr to false before loading the test executable.
  • Applies the fix to PostgreSQL and non-PostgreSQL test runners.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
src/test/run-selftest-pg Updates LLDB invocation for PostgreSQL tests.
src/test/run-selftest-nopg Updates LLDB invocation for non-PostgreSQL tests.

@graydon
graydon requested a review from dmkozh July 24, 2026 03:10
@graydon
graydon enabled auto-merge July 24, 2026 05:10
@graydon
graydon added this pull request to the merge queue Jul 24, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 24, 2026
@graydon
graydon added this pull request to the merge queue Jul 24, 2026
Merged via the queue into stellar:master with commit 7bb2215 Jul 24, 2026
67 of 68 checks passed
@graydon
graydon deleted the disable-aslr-in-lldb-rerun branch July 24, 2026 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants