Skip to content

[WIP] migrate ROOT's cppyy to leverage InterOp for bindings#1

Open
aaronj0 wants to merge 7 commits into
masterfrom
cppyy-migration
Open

[WIP] migrate ROOT's cppyy to leverage InterOp for bindings#1
aaronj0 wants to merge 7 commits into
masterfrom
cppyy-migration

Conversation

@aaronj0

@aaronj0 aaronj0 commented Oct 6, 2025

Copy link
Copy Markdown
Owner

No description provided.

@github-actions

github-actions Bot commented Oct 7, 2025

Copy link
Copy Markdown

Test Results

0 tests   0 ✅  0s ⏱️
0 suites  0 💤
0 files    0 ❌

Results for commit 74d7876.

aaronj0 added a commit that referenced this pull request Jun 29, 2026
The latest CppInterOp upgrade changes UseExternalInterpreter
to also install a CppInteropDiagConsumer onto Cling's DiagnosticsEngine.
Rootcling later wraps the current diag client with CheckModuleBuildClient via
DiagnosticsEngine::setClient which deletes CppInterOp's previously-owned client.
This leads to CheckModuleBuildClient holding a dangling fChild pointer.

Without this patch, at cling::Interpreter::ShutDown:

  #0  0x0000000000000000
  #1  CheckModuleBuildClient::EndSourceFile  rootcling_impl.cxx:3517
  root-project#2  cling::Interpreter::ShutDown            Interpreter.cpp:590
  root-project#3  cling::Interpreter::~Interpreter        Interpreter.cpp:394

crashes. Since rootcling does not use CppInterOp, we can avoid registering the
interpreter with CppInterOp if we are running in rootcling.
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