Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

NIPALK fails to load modules which causes system to slow down extremely!

Hi all,
 
I have TestStand 3.1 with DAQmx 8.5 on one machine and on another one TS 3.1 with DAQmx 8.6 installed. Now I have sporadical problems on both machines: The system is slowing down extremely so that Windows XP isn't displayed correctly any more (e.g. start menu hasn't any fonts any more, windows title bars are transparent and so on). The event viewer shows the following then:
 
********************************************************************************************************************************************************
29.02.2008,13:24:11,SAVRT,Warnung,Keine,1001,Nicht zutreffend,MDE20187,System memory is running very low. Auto-Protect may not be able to function properly.
29.02.2008,13:23:59,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"#4 status: c000009a
"
29.02.2008,13:23:59,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"ation #1 status: c000025e
iteration #2 status: c..."
29.02.2008,13:23:59,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,[nipalk]  Notice: ZwLoadDriver(nidmxfk) failed a...
29.02.2008,13:23:58,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"000025e
iteration #3 status: c000025e
iteration ..."
29.02.2008,13:23:58,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"t least once:
iteration #0 status: c000025e
iter..."
29.02.2008,13:23:58,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,[nipalk]  Notice: ZwLoadDriver(nidmxfk) failed a...
29.02.2008,13:23:57,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"#4 status: c0000017
"
29.02.2008,13:23:57,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"ation #1 status: c0000017
iteration #2 status: c..."
29.02.2008,13:23:57,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,[nipalk]  Notice: ZwLoadDriver(nidmxfk) failed a...
29.02.2008,13:23:56,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"s: 0
"
29.02.2008,13:23:56,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"000017
iteration #3 status: 0
iteration #4 statu..."
29.02.2008,13:23:56,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"tion #1 status: c0000017
iteration #2 status: c0..."
29.02.2008,13:23:56,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187," least once:
iteration #0 status: c0000017
itera..."
29.02.2008,13:23:56,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,[nipalk]  Notice: ZwLoadDriver(nicdrk) failed at...
29.02.2008,13:23:56,Application Popup,Fehler,Keine,877,Nicht zutreffend,MDE20187,There was error [INIT DATABASE FAILED] processing the driver database.
29.02.2008,13:23:55,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"#4 status: c0000017
"
29.02.2008,13:23:55,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"0000017
iteration #3 status: c0000017
iteration ..."
29.02.2008,13:23:55,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"ation #1 status: c0000017
iteration #2 status: c..."
29.02.2008,13:23:55,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"t least once:
iteration #0 status: c0000017
iter..."
29.02.2008,13:23:55,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,[nipalk]  Notice: ZwLoadDriver(nidmxfk) failed a...
29.02.2008,13:23:54,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"4 status: c0000017
"
29.02.2008,13:23:54,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"000017
iteration #3 status: c0000017
iteration #..."
29.02.2008,13:23:54,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"tion #1 status: c0000017
iteration #2 status: c0..."
29.02.2008,13:23:54,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187," least once:
iteration #0 status: c0000017
itera..."
29.02.2008,13:23:54,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,[nipalk]  Notice: ZwLoadDriver(nicdrk) failed at...
29.02.2008,13:23:53,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"4 status: c0000017
"
29.02.2008,13:23:53,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"000017
iteration #3 status: c0000017
iteration #..."
29.02.2008,13:23:53,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,"tion #1 status: c0000017
iteration #2 status: c0..."
29.02.2008,13:23:53,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187," least once:
iteration #0 status: c0000017
itera..."
29.02.2008,13:23:53,NIPALK,Informationen,Keine,4096,Nicht zutreffend,MDE20187,[nipalk]  Notice: ZwLoadDriver(nicdrk) failed at...
 
********************************************************************************************************************************************************
 
Any ideas? Why does this happen only once in a while?
 
Any help appreciated,
regards Steffen
0 Kudos
Message 1 of 4
(4,827 Views)
Howdy Steffen,
A vast majority of the error messages in your log indicate low memory.  This would explain both why operations fail and run slow.
 
For example (quoting ntstatus.h):
"
#define STATUS_NO_MEMORY                 ((NTSTATUS)0xC0000017L)    // winnt
// Not enough virtual memory or paging file quota is available to complete the specified operation.
...
#define STATUS_INSUFFICIENT_RESOURCES    ((NTSTATUS)0xC000009AL)     // ntsubauth
// Insufficient system resources exist to complete the API.
"
 
If you have a problem set that is a little bigger than your system's memory, then adding system memory should solve the problem.  However, if there is some sort of memory leak or pool that keeps getting bigger, then adding memory would just buy you time before the issue pops up again. 
 
Consider using tools like Task Manager, perfmon, Process Explorer, and so forth to examine memory usage.  Who is using memory, when, and why?  Perhaps you have large arrays that you are analyzing?  Are you leaving open handles to hardware in your tests or forgetting to free memory?  If there is unbounded memory use, find the source and plug the leak.  If you require assistance or believe the source of the leak to be an NI product, contact our Applications Engineers at http://www.ni.com/ask and select phone or email.
 
Sincerely,
Jeremiah
Senior Software Engineer in Platform Services
National Instruments -- http://www.ni.com
0 Kudos
Message 2 of 4
(4,766 Views)
Hi Steffen,

Does your application create, start, and destroy DAQmx tasks constantly? A slow memory leak (around 50 bytes per task, if I recall correctly) has been identified in DAQmx 8.5 and 8.6, and its effects are amplified by repeatedly creating, starting, and destroying DAQmx tasks on Windows XP or Vista. It was reported to R&D as CAR#
70542 and has been addressed in DAQmx 8.7.1.

There are a couple of workarounds if you can't upgrade to DAQmx 8.7.1 at this time:
- Avoid unnecessary creation / destruction of DAQmx tasks.
- Force the affected kernel services to stay loaded by running net start nidmxfk & net start nicdrk (note: this requires administrator privileges)

Note that the memory leak I'm talking about is a relatively slow one. As Jeremiah suggested, I recommend examining the memory usage patterns of your application.

Brad

---
Brad Keryan
NI R&D
0 Kudos
Message 3 of 4
(4,760 Views)

Hi Brad,

installing NI DAQmx 8.7.1 seems to have solved the problem. The application indeed creates, starts and destroys tasks repeatedly. I was in contact with a german support engineer who checked the source code of my daqmx dll and found it ok. So I think it might have been the reported bug in DAQmx 8.5 / 8.6.

Thanks for your help

0 Kudos
Message 4 of 4
(4,704 Views)