Skip to content

Memory leak in Ref_any fix

Karol Sierocinski requested to merge ref_any_memory_leak_fix into master

Short description of the MR

Fixed memory leak in Ref_any by removing unused copy and destroy functions from Datatype. The problem was that Ref_any on release removes the deleter:

m_content->m_buffer->m_delete = []() {}; // Referenced_metadata won't delete data

which led to not calling delete on the type object which was holding the destroy function (that was never called).

The removed copy and destroy function was used for MPI_Comm_dup and MPI_Comm_free, but now no deep copy of MPI_Comm is performed.

List of things to check before making a MR

Before merging your code, please check the following:

  • you have added a line describing your changes to the Changelog;
  • you have added any new or changed yaml config format to the validation script;
  • you have added unit tests for any new or improved feature;
  • you have checked pdi/docs/CheckList.md
  • you have checked your code format:
    • you have checked that you respect all conventions specified in CONTRIBUTING.md;
    • you have checked that the indentation and formating conforms to the docs/formating.astyle;
    • you have documented with doxygen any new or changed function / class;
  • you have correctly updated the copyright headers:
    • your institution is in the copyright header of every file you (substantially) modified;
    • you have checked that the end-year of the copyright there is the current one;
  • you have updated the AUTHORS file:
    • you have added yourself to the AUTHORS file;
    • if this is a new contribution, you have added it to the AUTHORS file;
  • you have added everything to the user documentation:
    • any new CMake configuration option;
    • any change in the yaml config;
    • any change to the public or plugin API;
    • any other new or changed user-facing feature;
    • any change to the dependencies;
  • you have correctly linked your MR to one or more issues:
    • your MR solves an identified issue;
    • your commit contain the Fix #issue keyword to autoclose the issue when merged;
  • you have added to this file any other check that was missing.

Merge request reports