21.06.2021 21:55, Adriano dos Santos Fernandes wrote:
I'm testing with the example function: create function sum_args ( n1 integer, n2 integer, n3 integer ) returns integer external name 'udrcpp_example!sum_args' engine udr; select sum_args(1, 2, 3) from rdb$database where 1 = 0; I put breakpoint in UdrEngine.cpp here: ~SharedFunction() { engine->deleteChildren(children); } And engine calls it. Can you do the same test using sum_args?
I just tried it with v3 and it doesn't call nor ~SharedFunction(), nor ExtEngineManager::Function::~Function(), nor Jrd::Routine::~Routine(). Than I found that it was fixed in v4 with PR168 but never backported into v3. What was not fixed and still leaks memory in v4 - is few metadata instances incorrectly counted at ExtEngineManager::makeFunction() and ExtEngineManager::makeProcedure(). Fix is committed into v4.0-release. Jiří could you try next build and report here ? Regards, Vlad Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel