Skip to content

debug: isolate mojo 2026041520 Linux crash#1

Closed
ehsanmok wants to merge 1 commit intomainfrom
debug/mojo-2026041520-crash
Closed

debug: isolate mojo 2026041520 Linux crash#1
ehsanmok wants to merge 1 commit intomainfrom
debug/mojo-2026041520-crash

Conversation

@ehsanmok
Copy link
Copy Markdown
Owner

DO NOT MERGE. Debug branch to reproduce and isolate the Linux x86_64 crash when pinning mojo to 0.26.3.0.dev2026041520.

Made with Cursor

@ehsanmok ehsanmok closed this Apr 17, 2026
@ehsanmok ehsanmok deleted the debug/mojo-2026041520-crash branch April 17, 2026 07:54
ehsanmok added a commit that referenced this pull request Apr 19, 2026
CI for commit 8794567 ("Make default pixi env lean") crashed on
ubuntu-latest with a consistent abort inside libKGENCompilerRTShared.so
at test_value.mojo startup (macOS-14 stayed green):

  #0 libKGENCompilerRTShared.so+0x6dc0b
  #1 libKGENCompilerRTShared.so+0x6ade6
  #2 libKGENCompilerRTShared.so+0x6e8b7
  #3 libc.so.6+0x45330      (raise)
  mojo: error: execution crashed

Root cause: the earlier commit pulled sysroot_linux-64 >= 2.34 into the
default env for `mojo build`. Recent conda-forge gxx builds now select
sysroot 2.39 as the preferred candidate, and 2.39 destabilises Mojo's
JIT runtime on GitHub's ubuntu-latest image. The prior green CI (commit
6998d84) had sysroot 2.28 transitively via an older gxx revision.

Fix in two parts:

 1. Pin sysroot_linux-64 = "2.34.*" explicitly in the base
    [target.linux-64.dependencies]. 2.34 is the oldest conda-forge
    sysroot that exposes the glibc 2.34 symbols Mojo's shared libs
    reference, while staying below 2.39's JIT-unstable zone.

 2. Move tasks that actually call `mojo build` (build-bench-cpu,
    build-bench-gpu, build-bench-simdjson) and their downstream bench-*
    consumers (bench-cpu, bench-gpu, bench-gpu-all, bench-gpu-cujson)
    into [feature.dev.tasks]. Those tasks want the full dev toolchain
    (`make`, a stable `git` for cuJSON cloning, etc.) and are not run
    by the `tests-cpu`/`tests-gpu` CI path. Default env stays lean;
    users run benchmarks with `pixi run -e dev bench-gpu ...`.

Also move `make` into [feature.dev.dependencies] since nothing in the
default-env task set invokes Make.

Verified locally on Linux:
  - default env: pixi install pulls sysroot 2.34, mojo 0.26.3.0.dev2026041805,
    simdjson 4.6.2. `pixi run tests-cpu` passes 186 tests, 0 failed.
  - dev env: `pixi run -e dev build-bench-gpu` builds without glibc link
    errors. `pixi run -e dev bench-gpu` runs the 4-row Bench report.

Made-with: Cursor
Co-authored-by: Cursor <cursoragent@cursor.com>
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.

1 participant