Posted 4 August 2017, 5:46 am EST
Greetings,
I have an application that involves 6 Windows 2k services that run as report servers on a single box. The reports are built using ActiveReports 2.0 SP4 and the Windows “service” is built using VB6 SP5. The ActiveReport is contained in a COM DLL (not COM+) which is instantiated (in-process) and executed. On the ReportEnd event, we export the pages collection using the PDFExport component. The service then releases the ActiveReports COM component.
These report servers undergo a large volume (~10 reports/min). After a period of time (~8-9hrs), two of the 6 services become memory hogs, and increase in total memory usage and eventually start using swap space. During this increase in memory (or memory leak.), the PDF’s start exhibitting graphical anomolies such as logos appearing as black boxes and text missing or garbled, although no errors are thrown. The GDI count of the services is 0 and doesn’t seem to be affected.
Eventually the reports start failing due to Out Of Memory from the exporting, and the Window services stop responding. If the services are restarted, the memory is released and the cycle starts all over again.
I’m wondering how the export, or even report generation, process is affected with multiple instances of it being executed on a multiple CPU box and why we are seeing a memory leak in the report generation.
Cheers,
Marcel Sammut
msammut@xeye.com