Skip to content

fix(nbdkit): disable malloc-debug checking - #18705

Open
Tobias Brick (tobiasb-ms) wants to merge 1 commit into
microsoft:4.0from
tobiasb-ms:tobiasb-ms/bug-23389-nbdkit-repro
Open

fix(nbdkit): disable malloc-debug checking#18705
Tobias Brick (tobiasb-ms) wants to merge 1 commit into
microsoft:4.0from
tobiasb-ms:tobiasb-ms/bug-23389-nbdkit-repro

Conversation

@tobiasb-ms

@tobiasb-ms Tobias Brick (tobiasb-ms) commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Removes glibc malloc-debug checking from the nbdkit test environment because it splits SymCrypt allocations across libc and malloc-debug. Retains malloc perturbation and the full test suite.

AB#23389

Validation: stage2 and stage2-prod builds pass all 442 tests (366 passed, 76 skipped).

Copilot AI balanced review requested due to automatic review settings September 3, 2026 21:29

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.

🟢 Approval recommended

The focused workaround is consistently rendered and validated by successful full test-suite builds.

Pull request overview

Disables legacy glibc allocator checking in nbdkit tests to prevent SymCrypt allocation/free mismatches while retaining memory perturbation.

Changes:

  • Adds and applies the test-environment patch.
  • Refreshes the rendered spec, release, and component lock.
  • Preserves the complete test suite.
File summaries
File Description
base/comps/nbdkit/0001-tests-disable-glibc-malloc-check.patch Defines the allocator-check workaround.
base/comps/nbdkit/overlays/0003-disable-glibc-malloc-check.overlay.toml Registers the patch with rationale and tracking metadata.
specs/n/nbdkit/0001-tests-disable-glibc-malloc-check.patch Contains the matching rendered patch.
specs/n/nbdkit/nbdkit.spec Applies the patch and increments the release.
locks/nbdkit.lock Refreshes the component input fingerprint.
Review details
  • Files reviewed: 4/5 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@tobiasb-ms

Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
2 pipeline(s) were filtered out due to trigger conditions.

@tobiasb-ms
Tobias Brick (tobiasb-ms) marked this pull request as ready for review September 3, 2026 22:55
@tobiasb-ms
Tobias Brick (tobiasb-ms) requested a review from a team as a code owner September 3, 2026 22:55

@reubeno reuben olinsky (reubeno) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The patch looks okay to me -- one quick blocking question regarding the referenced bug, and a non-blocking question.

Date: Thu, 3 Sep 2026 20:17:00 +0000
Subject: [PATCH] tests: disable glibc malloc check

The legacy glibc malloc checker interposes allocation APIs through

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

question(non-blocking): This characterizes the use of libc_malloc_debug as a "legacy" approach -- is that accurate? Is it really deprecated? (Is there a newer mechanism that's recommended?)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

You're right. I overgeneralized from glibc's removal of the deprecated malloc hooks and its description of libc_malloc_debug hook support as transitional. glibc.malloc.check itself is still supported, so I've removed “legacy” and now refer to glibc's malloc-debug checker.

category = "azl-temp-workaround"
upstream-status = "unknown"
bugs = [
{ url = "https://dev.azure.com/mariner-org/mariner/_workitems/edit/23389" },

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

question(blocking): Did you mean to leave in a reference to the internal bug here? If there's a GitHub-located bug filed against SymCrypt that might be the more appropriate reference.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, that's intentional. There are many other examples of doing this with an internal bug url. There is no SymCrypt issue filed.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Okay, I see that, Tobias Brick (@tobiasb-ms), and won't block on this. But also I'm not convinced those are really the intended use of the bugs property here -- these aren't so much bugs as they are some internal tracking tickets for feature work.

If there are no upstream bugs and there's already sufficient explanation of the issue here, I don't know that the persistent reference is too useful. (And if there were additional useful context that's publishable in GitHub, we should see if we could do that instead.)

@tobiasb-ms Tobias Brick (tobiasb-ms) changed the title fix(nbdkit): disable legacy malloc checking fix(nbdkit): disable malloc-debug checking Sep 4, 2026
Copilot AI review requested due to automatic review settings September 4, 2026 19:49
@tobiasb-ms
Tobias Brick (tobiasb-ms) force-pushed the tobiasb-ms/bug-23389-nbdkit-repro branch from 8d62efc to 4dfee21 Compare September 4, 2026 19:49

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.

🟡 Changes recommended

The random perturbation value can be 256, causing some test runs to disable the only remaining malloc diagnostic.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 4/5 changed files
  • Comments generated: 2
  • Review effort level: Balanced

Comment thread base/comps/nbdkit/0001-tests-disable-glibc-malloc-check.patch Outdated
Remove glibc malloc-debug checking from the test environment because it splits SymCrypt allocations across libc and malloc-debug. Retain malloc perturbation and the full test suite.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings September 4, 2026 23:01
@tobiasb-ms
Tobias Brick (tobiasb-ms) force-pushed the tobiasb-ms/bug-23389-nbdkit-repro branch from 4dfee21 to 24ebd6c Compare September 4, 2026 23:01
@tobiasb-ms

Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
2 pipeline(s) were filtered out due to trigger conditions.

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.

🔵 Needs a closer look

The new overlay’s upstream disposition remains unassessed as unknown.

Review details

Suppressed comments (1)

base/comps/nbdkit/overlays/0003-disable-glibc-malloc-check.overlay.toml:7

  • Please replace unknown with an assessed upstream disposition. This is the only overlay in the repository that leaves the status unknown, and the overlay metadata guidance requires new work to document how it can eventually be dropped. For this AZL-specific workaround, use inapplicable if it should simply disappear with the external SymCrypt fix, or needs-upstream-hook if nbdkit should expose a supported way to disable this checker.
upstream-status = "unknown"
  • Files reviewed: 4/5 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

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