Skip to content

[rvec] replace malloc/free by operator new/delete - #22986

Open
jblomer wants to merge 1 commit into
root-project:masterfrom
jblomer:rvec-alloc
Open

[rvec] replace malloc/free by operator new/delete#22986
jblomer wants to merge 1 commit into
root-project:masterfrom
jblomer:rvec-alloc

Conversation

@jblomer

@jblomer jblomer commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Replaces #22460
Fixes #22449

@github-actions

github-actions Bot commented Aug 2, 2026

Copy link
Copy Markdown

Test Results

    23 files      23 suites   3d 19h 15m 35s ⏱️
 3 852 tests  3 851 ✅ 0 💤 1 ❌
78 483 runs  78 479 ✅ 2 💤 2 ❌

For more details on these failures, see this check.

Results for commit 7dc2ff9.

@silverweed

Copy link
Copy Markdown
Contributor

Could you please elaborate on why this change fixes the issue?
The wording in the linked Microsoft article is not very clear on C++-style memory allocation, but it does say:

A related problem can occur when you allocate memory (either explicitly with new or malloc, or [...]

Even the LLM's wording on the original issue is vague:

[...] although Microsoft documentation warns that even global new can cause issues if /MD is mismatched, in a uniform project environment where ROOT strictly mandates the dynamic CRT, C++ global ::operator new seems to ensure a more unified heap context under the process heap [...]

So my question is: did you find any docs on why using operator new/delete fixes the issue? Or is it just empirical?

(Same question for @bellenot who maybe is more familiar with Windows specifics)

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.

[Windows] Macro df002_dataModel.C crashes on exit or exits silently due to potential RVec/Heap issues across DLL boundaries in Cling JIT

4 participants