05-13-2010 12:53 PM
Hello, I am a software developer for a video surveillance application and also a client of NIS for a few years.
Recently I installed NIS 2010, and now my video surveillance software is experiencing a memory leakage problem (it wasn't in NIS 2009). The IP camera that is involved is accessed over the TFTP protocol which doesn't guarantee the delivery. The memory leakage happens when I use this camera ONLY (camera that uses TFTP protocol)
I believe that the situation is as follows:
-appears some UDP packets are not received, causing the entire video frame (40-60 Kb in size) to be incomplete.
-The software therfore drops the frame and then starts receiving the next frame.
However, NIS still keeps waiting for failed frames to arrive, holding the data received in memory.
As a result, the software memory usage grows and it has to restart itself every 10-12 hours.
05-13-2010 01:13 PM
I will flag this for one of the Symantec reps to look at. There may be a bit of a wait, but someone will be along.
05-13-2010 02:25 PM
NIS has no specific knowledge of TFTP so the issue can't be because it's waiting for failed frames to arrive -- TFTP is just a bunch of UDP packets to it. If you disable Intrusion Prevention, does the problem go away? the Smart Firewall?
How are you determining that there is a memory leak?
What is the exact version of NIS that you are using (Found under Support->About)? What operating system are using? 32 or 64 bit? Do you have any other 'security' software (similar to NIS, not the surveillance software) on your system? Any other special network related software?
05-13-2010 03:27 PM
> NIS has no specific knowledge of TFTP
Sounds strange. How do you check the data received from that host?
> How are you determining that there is a memory leak?
The memory usage is shown in windows task manager. It grows up to approx 1.8 gb and then program crashes with CMemoryException (I catch it and restart the software)
I trace the heap allocation within a program code and also the Visual Studio debugger doesn't show any heap memory leak. The heap memory allocation never exceed 300 mb.
I would love to disable NIS with msconfig like I did it before for test reasons, but now you disabled this feature.
It looks like the memory is allocated with VirtualAlloc or in different heap (not the one obtained with a call to GetProcessHeap()).
I also intercepted all API/Socket calls from the camera SDK dll to verify that it makes no memory leak - nothing. 4 sockets and 100 kb.
I spent 2 weeks now trying to find what's going wrong. TFTP is the only thing that differs this IP camera from others. And it worked properly before...
The trust level for the camera host is set to FULL TRUST.
> If you disable Intrusion Prevention, does the problem go away? the Smart Firewall?
Going to do it now. Will give you a report in a few hours.
Windows XP SP3 32bit
No other security software installed.
No other network related software installed.
NIS version 220.127.116.11
05-14-2010 03:00 AM
I'm very sorry for bothering you on this issue.
This memory leak isn't connected to NIS activity. After switching off the Intrusion Prevention and the Smart Firewall, I uninstalled NIS and performed another long test. The memory leak is still here.
This is just a coincidence that the problem appeared soon after NIS 2010 installation. I still have no idea what is causing it. When I replace a call to camera SDK with a prerecorded image sequence (from the same camera), everything is alright. Possibly the camera is about to die soon. A lot of frames are not received properly now, thus causing a memory leak in LAN drivers or in a camera SDK somehow.
Unfortunately, there is no upgrade for both LAN drivers and the camera SDK...
I will move on a new i7-based computer soon, so it will show if the problem was LAN drivers or not.
05-14-2010 10:26 AM
Thank you for following up! Your problem had me really baffled and I'm glad to know that you now have a better grasp on the situation.