LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Semaphore call causes memory error

I have been using semaphores in my code to prevent simultaneous hardware calls from different parts of my program. This code was originally developed using Labview 8.0 and has been running properly for me for years.

 

I recently ported this code to a Labview 2009 environment and have started to get out of memory errors when executing it.  The code will run without problems for a couple of days and then the error will occur. At this time the way to clear the error seems to be totally closing Labview and restarting it (and sometimes a machine reboot).

 

I am currently working around this problem by disabling the semaphores in my code and making sure that the hardware calls are all done serially.

 

The program is running on a Windows XP Platform.

0 Kudos
Message 1 of 6
(2,982 Views)

If the problem is reproducable, please log a service request with NI and let them test out your code. Otherwise nothing will get done to fix this bug IF it is a bug.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 2 of 6
(2,971 Views)

It does appear to be reproducable, but I am not sure if it is a programming problem or computer hardware or something else.

 

I have permission from the customer that I am developing this for to share the code with NI to find this out.

 

How do I go about submitting a trouble ticket.

0 Kudos
Message 3 of 6
(2,963 Views)

800-433-3488

 

tells them you have a bug to report.

 

What happens from there will vary. If you have simplified the code to the minimum required to reproduce the crash, they can use it to generate a Corrective Action Report (CAR). If the code is ginormous, they may have trouble distinguishing between a LV bug and a bug in your code.

 

Happy-bug-hunting to you!

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 4 of 6
(2,961 Views)

Hi Ccaplan,

 

Ben is 100% correct (of course). As he said, it is extremely difficult to diagnose code that spans 10 screens. Not only is it difficult for us to follow, but there are 10 screens worth of potential coding problems.

 

Another thing to consider is your LabVIEW version. Make sure you have 2009 sp1 by looking at the labview splash screen, or by going to Help>>About Labview...

For more info on 2009 sp1, look here: http://www.ni.com/support/lv2009_sp1.htm

 

I can say that I did a few searches through the system and I was unable to locate any semaphore-related memory issues (that have already been reported).

 

Good Luck,

D Smith

0 Kudos
Message 5 of 6
(2,929 Views)

I have taken up Ben's suggestion and have filed a bug report.

 

The impression I got during the call was that I might need to change a setting to increase the amount of virtual memory Labview is using on the machine. I am supposed to receive more feedback on this by tomorrow.

 

Once we/I figure out what is causing this I will post a reply to this thread so that anyone else who may encounter it in the future will have a decent

reference to look up.

 

This code is running on LV 9.0f3 (32 bit)

 

My strong suspicion is that the computer I am running this on is a bit short on memory. My customer is getting a more powerful machine that I will be able to do a bit more testing on before they go into full production.

0 Kudos
Message 6 of 6
(2,923 Views)