LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Application failed to initialize - nidevmon.exe

I have modified an existing CVI program that has been in use for several years.  This program runs on a server that is running Server 2008.  The old version of the program runs fine.  When I install the new version and restart the computer, however, I receive a "The application failed to initialize..." message, which is apparently caused by nidevmon.exe.  If I try to start the new program, the same message appears and the program does not run.  NI devices attached include a GPIB-USB converter and a USB-6501 and both of these devices are listed as problematic in Device Manager. 

 

I have attached the debug info captured when this problem occurs as well as the MAX configuration report showing installed software versions when the program works.  A newer version of one of the NI software components appears to be the culprit.  In order to get the old version of the program working, I had to uninstall all NI software and reinstall the old distribution.  The updated program was built using CVI 2010 and associated NI components (all of which get updated in the new distribution).

 

I installed Server 2008 and the new program on a desktop computer and have not seen the same problem on that machine.  I'm pretty much out of ideas at this point.

Download All
0 Kudos
Message 1 of 8
(4,816 Views)

Hi Double_D

 

So, independent of the changes you have been making, if you open the old program and recompile it using CVI 2010 with no changes - then nidevmon.exe will crash upon application execution?

Do the devices appear problematically in MAX at boot? 

 

On your last point, the program runs fine on a desktop pc with the same operating system and the same LabVIEW runtime engine? so it's specific to one installation of the labview environment on one server? Have you tried to uninstall all NI components from the server and then reinstall the latest components? It could be a confliction between the old and new ni files which have been installed on the server.

 

Sorry to ask so many questions, I'm just trying to clarify the issue in my head.

 

Thanks

Chris | Applications Engineer NIUK
0 Kudos
Message 2 of 8
(4,798 Views)

Chris,

 

I haven't tried recompiling the old code under CVI 2010 yet.  I will try to do that.  Unfortunately, I can't test this change until next Monday, because the server is running a process that can't be halted until then.

 

Nidevmon crashes even before I execute the program (i.e., on bootup).  It also gives the same error message when I do attempt to start the program.  I didn't check the status of the GPIB devices in MAX, but they were flagged in Device Manager after startup.

 

I have attached the MAX report for the desktop PC running the new version of code.  The same NI components are installed on this machine as on the server, but the program doesn't run on the server.  I did uninstall all of the old NI files on the server and installed the new program (with the new NI component software), but the error persists.  To get the old version working, I had to uninstall all NI software and install the old distribution.

 

One possible clue that I forgot to mention is that I had to manually uninstall NI-DAQmx 8.8 before installing the latest distribution.  I don't remember the exact wording of the message that the installer displayed, but it did not allow me to simply install the new version of NI-DAQ with the rest of the program.

 

 

0 Kudos
Message 3 of 8
(4,791 Views)

Hi Double_D

 

I've had a look through the MAX config reports you posted and the server is running 'Windows Server "Longhorn" Server 4.0 Service Pack 2" but the minimum runtime requirements for LabWindows/CVI 2010 is Windows Server 2008 R2 (64-bit), as you don't seem to be running the R2 version that could very well be the problem!

Was the desktop pc you setup deffinitley running the same OS? the MAX report isn't complete so it doesn't say.

 

Thanks

 

Chris

Chris | Applications Engineer NIUK
0 Kudos
Message 4 of 8
(4,773 Views)

The desktop is running Longhorn Server 4.0 SP1.

0 Kudos
Message 5 of 8
(4,765 Views)

Is there any chance you have PAE enabled on the server? (Only applies if it's running the 32-bit version)

 

Have a look at this article which describes the same startup nidevmon issue on systems where PAE is enabled.

 

The following microsoft document details how you can toggle PAE on a Windows Server 2008 machine PAE 

Chris | Applications Engineer NIUK
0 Kudos
Message 6 of 8
(4,752 Views)

This sounds like the problem.  We believe that PAE is enabled on the server machine.  We haven't yet been able to find an explicit confirmation of this, as shown in the NI article you pointed out (Server 2008 is different).  From what we have read, PAE is enabled if DEP is and DEP is enabled on this machine.  It is also enabled on the desktop machine that is running Server 2008, however, and I don't see the problem on that machine.  

 

The plan is to explicitly disable PAE on Monday and see if that solves the problem. 

 

Thanks for your ideas and I will keep you posted on our progress.

0 Kudos
Message 7 of 8
(4,738 Views)

Disabling PAE seems to have solved the problem.  I initially tried installing the old version of the software built in CVI 2010, but that led to the same error as with the new version.  I did have to change the declaration of a TaskHandle variable in the 2010 version, because the NI definition of TaskHandle changed from unsigned long to void * in the latest DAQ code.

0 Kudos
Message 8 of 8
(4,713 Views)