Project

Profile

Help

Bug #4954

unable to unload SaxonC / libsaxonhec.dll after usage

Added by Manfred Wallner 22 days ago.

Status:
New
Priority:
Low
Assignee:
-
Category:
-
Start date:
2021-03-30
Due date:
% Done:

0%

Estimated time:
Found in version:
Saxon-HE/C 1.2.1
Fixed in version:

Description

In a couple of use-cases it (unfortuantely) can be a requirement to get rid of libsaxonhec.dll from the current process address space after using it to do XSL transformations.

With the following sample one might suspect that all traces of Saxon/C would be removed from current runnig process, however this is not the case:

SaxonProcessor* processor = new SaxonProcessor(false);
Xslt30Processor* xsltProcessor = processor->newXslt30Processor();
// .. using xlstProcessor to do transformatiosn	
delete xsltProcessor;
processor->release();
delete processor;

after this code is executed, libsaxonhec.dll is still loaded and a total of 16 threads are still alive within the "released" dll.

manually trying to unload the DLL after deleting the processor isntance yields a segfault:

clipboard-202103301452-docgt.png (3.03 KB) clipboard-202103301452-docgt.png Manfred Wallner, 2021-03-30 14:52
clipboard-202103301455-kb5m2.png (9.57 KB) clipboard-202103301455-kb5m2.png Manfred Wallner, 2021-03-30 14:55

Please register to edit this issue

Also available in: Atom PDF