LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview Crashing - lvalarms.dll

LabVIEW 8.5 keeps crashing on me when I have ran my vi for 9 to 59 minutes. In the windows error message it referances lvalarms.dll. I have attached a screenshot of the error. I am running windows xp profession sp2. I have tested this on three different computers. Two of the computers have dual processors with hyperthreading. On these computers I get the crashing problem. When I run it on the third computer which has a single processor with hyperthreading it runs just fine and does not crash.

In the vi I have 5 while loops and 3 timed loops. When I put a diagram disable around 2 while loops and 2 timed loops it runs without crashing on all three computers. This leads me to believe that it has something to do with multiple processors and timed loops. Does anybody have any ideas on what I can do to solve this?
0 Kudos
Message 1 of 9
(6,858 Views)
Hi there,

The lvalarms.dll is located under LabVIEW\vi.lib\Platform\TimedLoop I am interested to know whether the hyperthreading has anything to do with this issue.

Since INTEL Xeon and later generations of the Pentium 4 processors have an added feature they call "hyperthreading", they have added enough new circuitry to a single processor so that it can act like two processors as far as running programs. Each "virtual" processor has a set of registers so that the machine state is unique for each. They share the internal arithmetic units and other processing units which often sit partly idle when only one code stream is fed to the processor.

LabVIEW's code generator may vary the way data is allocated and directed on X86 computers. It involves our separation of data, which is written by different threads to be located in different cache lines (64 byte sections of memory). This keeps the dual processors from invalidating each other's cache as they work on pieces of data which could accidentally be near each other. We need to make sure that the data in the separated caches are not interfering with each other. Is there anything particular about your VI? I need to do more reserach regarding this particular set of processors.

Regards,
Juan Galindo
Applications Engineer
National Instruments
0 Kudos
Message 2 of 9
(6,825 Views)
After writing the first forum post I changed the processor assignment from Automatic (-2) in my timed loops to 0 and it works fine. I was able to run it for 16 hours straight without any problems.
0 Kudos
Message 3 of 9
(6,816 Views)
Thank you for this infromation. This will be beneficial to users with the same processor.

Regards,
Juan Galindo
Applications Engineer
National Instruments
Message 4 of 9
(6,795 Views)

However in a multicore system, setting of the processor to 0 will not enable the VI to use LabVIEW's automatic load sharing over multiple processors, right?

 

There must be a way to get rid of this error without having to set the processor assignment to 0. Also, I've been having the same issue even though the timed loops have the processor assignment already set to 0.

0 Kudos
Message 5 of 9
(5,854 Views)
I forgot to attach the error message... Here's a shot of the error message in Windows.
0 Kudos
Message 6 of 9
(5,852 Views)

I had the same problem.  It turns out that the lvalarms.dll from LabView 8.5.x does not work for multicore processors.  There is an updated driver for it if you are still using 8.5.x.  Below is an explaination of the problem as well as a link to the updated driver.

 

http://digital.ni.com/public.nsf/allkb/AF9F8181F6082CFA86257442006D4833

 

Thank you to LabView tech support for finding this for me!

 

 

0 Kudos
Message 7 of 9
(5,721 Views)
Juan- Nice tech discription! 

"Should be" isn't "Is" -Jay
0 Kudos
Message 8 of 9
(5,702 Views)
I forgot to mention - the crashes I see are on LabVIEW 8.6
Message 9 of 9
(5,700 Views)