Skip to content

fix(0.4.30): set PROOT_NO_SECCOMP=1 to avoid seccomp event ordering crash#288

Merged
Sunrisepeak merged 1 commit into
mainfrom
fix/proot-no-seccomp
May 11, 2026
Merged

fix(0.4.30): set PROOT_NO_SECCOMP=1 to avoid seccomp event ordering crash#288
Sunrisepeak merged 1 commit into
mainfrom
fix/proot-no-seccomp

Conversation

@Sunrisepeak
Copy link
Copy Markdown
Member

Summary

  • Set PROOT_NO_SECCOMP=1 before launching proot to avoid heap corruption under high syscall load

Problem

proot v5.4.0 removed seccomp event ordering guards that were present in v5.3.0 (IS_IN_SYSENTER guard in event.c). Under high syscall load (e.g. xlings install openclaw which runs glibc header linking + npm install 550 packages in a single session), seccomp traps and PTRACE_SYSCALL events arrive out of order → translate_syscall() runs on inconsistent tracee state → talloc pool corruption → double free or corruption (out) / malloc(): invalid size (unsorted).

Fix

PROOT_NO_SECCOMP=1 disables proot's seccomp filter, forcing the traditional PTRACE_SYSCALL-only flow. This avoids the event ordering issue. Slightly slower but completely stable.

Verification

  • Fresh subos, xlings install openclaw from scratch (glibc + node + npm + 550 npm packages) → completes without crash
  • openclaw --versionOpenClaw 2026.5.7 (eeef486)
  • No double free, no malloc errors
  • xlings builds on all platforms (CI pending)

…rash

proot v5.4.0 removed seccomp event ordering guards from v5.3.0.
Under high syscall load (e.g. npm installing 500+ packages after
glibc header linking), seccomp traps and PTRACE_SYSCALL events
arrive out of order, causing heap corruption (double free / malloc
invalid size). Setting PROOT_NO_SECCOMP=1 forces the traditional
PTRACE_SYSCALL-only flow, avoiding the event ordering issue.

Verified: fresh subos + xlings install openclaw (glibc + node + npm
+ 550 npm packages) completes without crash. openclaw --version OK.
@Sunrisepeak Sunrisepeak merged commit 251021e into main May 11, 2026
3 checks passed
Sunrisepeak added a commit that referenced this pull request May 11, 2026
Includes:
- sandbox proot pseudo-root to avoid detranslate path bug (#287)
- PROOT_NO_SECCOMP=1 to avoid seccomp event ordering crash (#288)
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