Project

Profile

Help

Bug #4954

closed

unable to unload SaxonC / libsaxonhec.dll after usage

Added by Manfred Wallner over 3 years ago. Updated almost 2 years ago.

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

0%

Estimated time:
Applies to branch:
Fix Committed on Branch:
Fixed in Maintenance Release:
Found in version:
Saxon-HE/C 1.2.1
Fixed in version:
11.4, 12
SaxonC Languages:
SaxonC Platforms:
SaxonC Architecture:

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:


Files

Please register to edit this issue

Also available in: Atom PDF