Skip to content

[Fix](build) Restore Doris glibc-compatibility interposition with lance-c - #67312

Draft
linrrzqqq wants to merge 1 commit into
apache:branch-4.1from
linrrzqqq:restore-doris-glibc-compatibility-4.1
Draft

[Fix](build) Restore Doris glibc-compatibility interposition with lance-c#67312
linrrzqqq wants to merge 1 commit into
apache:branch-4.1from
linrrzqqq:restore-doris-glibc-compatibility-4.1

Conversation

@linrrzqqq

Copy link
Copy Markdown
Collaborator

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@hello-stephen

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@linrrzqqq

Copy link
Copy Markdown
Collaborator Author

/review

@github-actions github-actions Bot 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.

Request changes: this restores the Lance compatibility link path, but the current patch has three blocking correctness problems.

Build/configuration checkpoint: the added trailing dot makes the top-level BE CMake listfile fail to parse in every configuration. After conceptually correcting that typo, I did not find a separate archive-order or final-consumer bypass: the compatibility/non-compatibility, macOS, x86_64/aarch64, sanitizer, test, benchmark, and tool link paths retain providers for the supported Lance interface.

Runtime/lifecycle checkpoint: the new PATH search can allocate 4352 bytes on the existing 1 KiB shared clone stack, corrupting the suspended parent's stack. The force-interposed posix_spawnp also routes ordinary Rust 1.91 process creation through a deliberately reduced clang-only backend that does not execute file actions, mishandles signal state/attributes, and reports clone failures incorrectly.

Compatibility checkpoint: I rechecked the direct preadv and splice syscall signatures, errno conversion, and x86_64/aarch64 argument packing; no separate ABI defect was substantiated. The cancellation delta has no demonstrated repository or pinned Lance caller, so it is not raised as a fourth issue.

Test checkpoint: existing CI/configuration and BE-UT linkage do not execute these new spawn branches. Please add a long-PATH regression and runtime coverage for pipes/dup2, cwd actions, signal mask/default attributes, and clone failure propagation as part of the fixes.

User focus: no additional user-provided focus points were supplied.

Review completion: complete after two rounds. Every candidate was independently verified, deduplicated, accepted, or dismissed with evidence, and all Round 2 reviewers reported NO_NEW_VALUABLE_FINDINGS.

Comment thread be/CMakeLists.txt Outdated
Comment thread be/src/glibc-compatibility/musl/execvpe.c
Comment thread be/src/glibc-compatibility/musl/posix_spawnp.c
@linrrzqqq
linrrzqqq force-pushed the restore-doris-glibc-compatibility-4.1 branch from e9f8042 to 318ad18 Compare August 29, 2026 18:06
@linrrzqqq

Copy link
Copy Markdown
Collaborator Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 59.43% (25663/43179)
Line Coverage 43.92% (262329/597327)
Region Coverage 39.84% (207764/521547)
Branch Coverage 41.32% (95808/231887)

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100% (0/0) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 74.20% (31219/42072)
Line Coverage 58.37% (346028/592835)
Region Coverage 55.14% (288268/522826)
Branch Coverage 56.02% (129762/231621)

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.

2 participants