Skip to content

Make forced signal flush raw-clone safe - #4222

Draft
cataphract wants to merge 1 commit into
masterfrom
glopes/flush-worker-crash
Draft

cataphract wants to merge 1 commit into
masterfrom
glopes/flush-worker-crash

Conversation

@cataphract

Copy link
Copy Markdown
Contributor

Avoid allocation crashes in the flush worker launched by the sigterm/sigint handler.

Prepare an independent sidecar connection and serialized flush request before signal delivery. The SIGINT and SIGTERM handler starts a one-shot raw clone that uses audited direct syscalls while waiting for an ACK or timeout, avoiding libc and allocator state in the unrepaired clone.

Track worker lifetime with lock-free the kernel clear_child_tid futex protocol.

Prepare an independent sidecar connection and serialized flush request
before signal delivery. The SIGINT and SIGTERM handler starts a one-shot
raw clone that uses audited direct syscalls while waiting for an ACK or
timeout, avoiding libc and allocator state in the unrepaired clone.

Track worker lifetime with lock-free the kernel clear_child_tid futex protocol.
@datadog-official

datadog-official Bot commented Sep 21, 2026

Copy link
Copy Markdown

Pipelines  Tests

Unblock PR with BitsAI

❌ Errors

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 19 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-php | Loader test on arm64 libc: [7.2, nts] — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/apm-reliability/dd-trace-php | check libxml2 version — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/apm-reliability/dd-trace-php | test_extension_ci: [8.2] — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

View all 19 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 68.24% (-0.04%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 24001e7 | Docs | View more details | Give us feedback!

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