Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix export of dd4hep::units to python #1058

Merged
merged 4 commits into from
Feb 9, 2023

Conversation

MarkusFrankATcernch
Copy link
Contributor

BEGINRELEASENOTES
The export of dd4hep::units is problematic in the presence of identical libraries from DD4hep in the LD_LIBRARY_PATH:

  • The ROOT auto-class loading tends to falsely load these libraries if constants from the dd4hep namespace are requested in python. This is clearly wrong: the original libraries may not be binary compatible. The

  • The export of the units using a helper class fixes this and ensures that the auto load mechanism is not automatically triggered. This is at least a formally correct solution until the auto load mechanism is better understood.

  • In the ROOT loader for DDDigi the TBranch::SetAutoDelete(true) was not set causing eventually double deletion and arbitrary crashes. Data read by DDDigi are put on the store and deleted by the application to allow subsequent reading for feeding other threads. If ROOT would take care of the deletion, multi-threaded processing is not possible.
    ENDRELEASENOTES

@MarkusFrankATcernch MarkusFrankATcernch merged commit 861f02c into AIDASoft:master Feb 9, 2023
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