cancel
Showing results for 
Search instead for 
Did you mean: 

.NET Connector : Memory Leak of "Out" SAPTable parameter

Former Member
0 Kudos

Hi Group,

I used SAP.NET Connector 2.0 to build a window service. It run as a server stub and recv request from client. it will do some searching from oracle and return the result as SAPTable as an out parameter in the RFC function.

I did a volume test by issuing 10,000 requests to that service and I observed from the Task Manager that the memory usage of that window service grow from 20mb to 800mb.

I am not sure it is a memory leak as the Garbage collection of .NET is non-deterministic. I suspect the "out" SAPTable hold up the memory.

Anybody here encounter the similar problem? Please advise.

Alex

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello

Where is that memory leak documentet?

Regards,

Thomas Mouritsen

Former Member
0 Kudos

The release note for version 1.0.3 mentioned this leak.

Guangwei

Former Member
0 Kudos

Hello,

Please make sure that the file C:\<Windows>\system32\librfc32.dll is installed with the SAP .Connector 1.0.3 or 2.0 and has a version of 6206.6.1622.xxxx or greater. There was a RFC server related memory leak in earlier versions.

Can you exclude the possibility that the code that accesses Oracle DB leaks?

Regards,

Guangwei Li

Former Member
0 Kudos

Hi Li,

I did closely review my code and close, dispose every objects whenever possible. However, as i have said, since this function need to return a big SAPTable thr an "out" parameter, i cannot free those related variable within the scope of my function. If so, the SAP Client will recv nothing.

Any idea?

Alex

Former Member
0 Kudos

Hi,

You didn't mention the version of librfc32.dll on your machine.

Do you access the oracle DB using ADO.NET or other unmanaged way?

Regards,

Guangwei

Former Member
0 Kudos

Hi,

I am using SAP.NET 2.0 and i have checked the version is higher than the one you mention

I am using Oracle Data Provider.NET (ODP).

Cheers,

Alex