In the implementation of the delete method for libmexclass.proxy.Proxy the Action string "Delete" is passed instead of "Destroy" to the MEX gateway function. This is a typo.
The result of this typo is that Proxy instances managed by the ProxyManager are not getting destroyed as expected.
This seems to be related to a crash that is occurring on Debian 10 when shutting down MATLAB. In the crash log the instances of shared_ptr<Proxy> stored in in the unordered_map managed by the ProxyManager appear to be locked in some way on MATLAB shutdown, which is preventing proper destruction.
In the implementation of the
delete
method forlibmexclass.proxy.Proxy
theAction
string"Delete"
is passed instead of"Destroy"
to the MEXgateway
function. This is a typo.See: https://github.com/mathworks/libmexclass/blob/b6b54c233de09c289074c20e73f3ac38dfe20160/libmexclass/matlab/%2Blibmexclass/%2Bproxy/Proxy.m#L17
The result of this typo is that
Proxy
instances managed by theProxyManager
are not getting destroyed as expected.This seems to be related to a crash that is occurring on Debian 10 when shutting down MATLAB. In the crash log the instances of
shared_ptr<Proxy>
stored in in theunordered_map
managed by theProxyManager
appear to be locked in some way on MATLAB shutdown, which is preventing proper destruction.