Skip to content
New issue

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

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

Already on GitHub? # to your account

Fix new-delete-type-mismatch in BaseEventHandlersImpl.h #482

Merged
merged 1 commit into from
Sep 5, 2024

Conversation

rbx
Copy link
Member

@rbx rbx commented Sep 5, 2024

Fixes #373, which continuously leads to test failures in ODC: https://cdash.gsi.de/testDetails.php?test=21606495&build=473806

The issue is that SHandlerHlpBaseFunc containing T m_signal is stored in a std::map<Event_t, std::unique_ptr<SHandlerHlpFunc>> signalsContainer_t;, with pointers to the base type. And since the base type has no virtual destructor, it then does not take care of deleting child's objects properly.

I tested this change locally and it fixes the new-delete-type-mismatch.

@AnarManafov
Copy link
Contributor

@rbx , thank you. Great catch!

@AnarManafov AnarManafov merged commit fc6dbae into master Sep 5, 2024
4 checks passed
@rbx
Copy link
Member Author

rbx commented Sep 5, 2024

Awesome, thanks for the merge! Could you make a patch tag with this so I can include that in the CI? Thankie

@AnarManafov
Copy link
Contributor

Done.
Please, use tag "3.11"
https://github.com/FairRootGroup/DDS/releases/tag/3.11

@rbx rbx deleted the rbx-patch-1 branch September 5, 2024 11:29
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ERROR: AddressSanitizer: new-delete-type-mismatch
2 participants