LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Experiencing Memory Leak With Notifiers

I have noticed a memory leak in my apps when using notifiers. I have attached two test VIs. Testnotifier.vi contains 2 loops. One sending notifications, and the other recieving notifications. If you run this VI while looking at the amount of memory used by Labview in the Windows Task Manager, you notice a memory leak. The 2nd vi TestQueue.vi performs the same task with Queues. It does not have a memory leak problem. Is there a Labview bug, or am I doing something wrong?

P.S. In the real application these two loops are in separate VIs. And the way they are used requires the receiver vi to Create/Destroy the notifier each time, while the sender only needs to do this once.
Download All
Message 1 of 6
(3,553 Views)
I downloaded the notifier VI and ran it in LabVIEW 7.0 on an XP machine for well over 25,000 iterations of the loops, and the memory that LabVIEW is using actually decreased slightly. How long did you have to run it to see the behavior?
As a side note I am not sure I understand the logic behind the code, is there a reason you obtain and realease the notifier inside the loop?
0 Kudos
Message 2 of 6
(3,552 Views)
I agree! It happened at least with LabVIEW 6.1.
Another example for memory leak with Notifier in attachment. But my memory leak happened with builded application only. It looks like leak in Get Notifier Status.

with best regards,
0 Kudos
Message 3 of 6
(3,552 Views)

Can somebody give an authoritative answer to this question?  I am using get notifier status in a loop with labview 6.1 and I see a big leak.  Is this bug fixed in 7.1?  I am ready to install it but not if it won't fix the problem.

 

Thanks

Jeff

0 Kudos
Message 4 of 6
(3,436 Views)
I tested your vi on 7.0 win2k and it worked fine no memory jump



Joe.
"NOTHING IS EVER EASY"
0 Kudos
Message 5 of 6
(3,423 Views)

OK I would say this is a bug and it is fixed in LV 7.1.  I was experiencing big leak with "get notifier status" in LV 6.1 until I updated.  Unfortunately this is a tedious process for such a seemingly simple problem.  But I would have done it anyway eventually.  FWIW, here is the tedious sequence I had to do on my system to get all my components up to 7.1 working together:

LV 7.1, reboot

Remove NI-DAQ 6.9.3, Install NI-DAQmx 7.5, reboot

Iinstall Traditional NI-DAQ 7.4 (need "1easyio.llb"), reboot

Install NI-Motion 7.0 (PXI 7344), reboot

Update flexmotion firmware thru MAX (now v. 3.11) from 5.11 to 7.00

Install NI-serial 1.8, reboot

Install NI-488.2 2.4, reboot

update code to reflect new RS-232 (COM) port assignments, test new code

 

This is a "large" application (440+ vi's); maybe it's time to join in the "large" thread.

Cheers

0 Kudos
Message 6 of 6
(3,387 Views)