LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Sporadic App Crash

Hi,

 

I have a problem with an application that I'm working on.

 

Task of the application: Control multiple devices (measurement devices, power supplies and so on) in a teststand using a plugin structure. Most of the devices are controlled by VISA.

 

My application works fine ... sometimes for hours, sometimes for days. And then it suddenly crashes without an error message. The only information that I get is the windows protocol (unfortunately only in German):

 

Name der fehlerhaften Anwendung: EVOBenchControl.exe, Version: 1.0.0.42, Zeitstempel: 0x5fc73c0f
Name des fehlerhaften Moduls: ntdll.dll, Version: 10.0.19041.2788, Zeitstempel: 0xc7ff7cdf
Ausnahmecode: 0xc0000374
Fehleroffset: 0x000e6dd3
ID des fehlerhaften Prozesses: 0x2850
Startzeit der fehlerhaften Anwendung: 0x01d973700c72460c
Pfad der fehlerhaften Anwendung: C:\EVOBenchControl\Program\EVOBenchControl.exe
Pfad des fehlerhaften Moduls: C:\Windows\SYSTEM32\ntdll.dll
Berichtskennung: 85bee0f5-cd74-47e0-89e2-e855a2357cea
Vollständiger Name des fehlerhaften Pakets:
Anwendungs-ID, die relativ zum fehlerhaften Paket ist:

 

Up to now, the NI support couldn't help me with the problem. The only idea was to change all VISA operations from asynchronous to synchronous calls. I would say: it was a little improvement, but I still see the crashes.

 

Maybe someone here already has experiences with this kind of error.

 

The development environment that I'm using is LV 2020 SP1 32 Bit.

 

Kind regards,

Daniel

0 Kudos
Message 1 of 14
(1,350 Views)

Did you try a different computer to be sure it is the application and not an OS corruption?

0 Kudos
Message 2 of 14
(1,334 Views)

That sounds a lot like a memory leak.  Have you looked at using the Desktop Execution Trace Toolkit, DETT?  It does ship with that LabVIEW version but might not install by default. 

 

Check that it is installed then, run DETT


"Should be" isn't "Is" -Jay
0 Kudos
Message 3 of 14
(1,309 Views)

Hi

 

the software is already running on several PCs, all running on Windows 10. All PCs have the same problem.

 

The DETT is something I have never used before ... I will give it a try.

 

Kind regards,

 

Daniel

0 Kudos
Message 4 of 14
(1,288 Views)

You mention that MOST modules use VISA but what are the not most using? Any chance you use DLLs through Call Library Nodes?

 

If so, you have a very high probability that the problem is in there, and the only reason NOT to look there first is that it is difficult to do. It’s not a good reason though!

Rolf Kalbermatter
My Blog
0 Kudos
Message 5 of 14
(1,280 Views)

Hi,

 

some of the Plugins are written for NI Devices and thus use DAQmx. One device is controlled by Modbus where I'm using the Modbus Master library.

All the other devices are controlled via TCP/IP using SCPI commands.

0 Kudos
Message 6 of 14
(1,277 Views)

DAQmx, while using DLLs internally, is from NI and you neither want to have to check those Call Library Nodes, nor should you have to! Those are generally done very correct and tested thoroughly. You still may want to consider trying to use a different DAQmx version, if for nothing else than seeing if it changes anything. Just be careful. DAQmx only supports the version of LabVIEW that was current when it was released and the three prior LabVIEW versions. Also if you use older hardware you need to make sure it is still supported in the DAQmx version you intend to install.

Rolf Kalbermatter
My Blog
0 Kudos
Message 7 of 14
(1,271 Views)

Hi together,

 

I made some tests with the Desktop Execution Trace Toolkit and captured the crashes ... or let's say I tried. I attached two pictures of two different tries with the same result: there are a lot of messages that are captured during the runtime of the software, but wenn the app crashes, the DETT shows a gap (marked with arrows in the pictures):

 

Pic1.png

 

Pic2.png

 

In addition, my App is running for a few more seconds after the error entry in the Windows Event Viewer. Can anyone interpret these messages to give me a hint where to find my problem?

 

Kind regards,

 

Daniel

 

 

0 Kudos
Message 8 of 14
(1,226 Views)

Hi everyone,

 

the problem seems to be solved. In my plugins I used timed loops for the data akquisitiion. The NI support asked me to replace the timed loops with normal while loops ... since this change I haven't had any crashes

 

Kind regards,

Daniel

0 Kudos
Message 9 of 14
(1,129 Views)

How many timed loops did you use in your program?

0 Kudos
Message 10 of 14
(1,119 Views)