From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

[FATAL] [ConvertSecsElapsedToMilliSecs]

Solved!
Go to solution

Hello,

 

Labwindows cvi 2009 on Windows XP.

 

I have lot's of error in application events log, error is in CVI and Event log say :

 

[FATAL] [ConvertSecsElapsedToMilliSecs] [..\jeff\stdlib\lwutil.c:3518] Assertion failed: converted < UINT_MAX.

 

error are happening with a rate of about 100 to 150 times per secondes.

 

closing application and restarting it does not stop the error logging.

 

I've to rebbot the pc to stop the error filling the event log.

 

I think CVI start to fire error after a long runnig time of the application.

This application is running 27/7.

 

Any idea on this issue ?

 

Nota : i've checked the code and there is no call to the Delay function, only Sleep from winows api.

 

Thank's for your support.

 

 

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

You're right, the event that you're seeing was a bug in CVI that was introduced in version 2009 and fixed in version 2010.

 

Luis

Message 2 of 14
(4,304 Views)

Hi Luis,

 

thank you for your quick reply.

 

Can you tell me the root cause of that bug ?

Is there any workaround for cvi 2009 ?

 

Benoit.

0 Kudos
Message 3 of 14
(4,302 Views)

The assert was added during development of 2009 to detect an internal overflow of a counter used for timing, but we subsequently found that an overflow was a normal, proper behavior given the specific use of the counter value. As a result, we removed the assert in 2010.

 

Unfortunately, this assert cannot be avoided when your program (using a UI timer, or the Timer function) runs for a long duration. One solution is to upgrade the runtime engine to version 2010, but I realize that is not always an option. If you are just concerned about keeping the Windows application logs "clean", you can modify the CVI Runtime Engine's error logging. In your CVI installation's bin directory, you'll find ConfigCVILogging.exe. This tool allows you to change the kinds of messages that are logged, as well as the location they are logged to. Select the "Runtime Engine" radio button, then select 2009 from the version ring. Now you can either deselect the "Fatal" message type, or change the "Log output to" selection from "Windows App Log" to something else. Hit OK or Apply, then the next time you run your program, it will honor the new settings.

 

Mert A.

National Instruments

Message 4 of 14
(4,286 Views)

Thank you for your explanation.

 

If my understanding is correct, this assert is harmless regarding the behaviour of my application the only consequence is flooding the event log.

 

Am I right ?

 

Benoit.

0 Kudos
Message 5 of 14
(4,280 Views)

That is correct.

Message 6 of 14
(4,278 Views)
Solution
Accepted by topic author bw-dijon

Thank you

0 Kudos
Message 7 of 14
(4,276 Views)

Hello,

We have had the same behaviour with a software made with LabWindows/CVI 8.5 and which runs in Service mode on a Server 2008 R2 machine.

This software is installed at least on 30 Server, but we have never seen this kind of messages before in Windows Event logs.

Also we did not find the "ConfigCVILogging.exe" file in our LabWindows/CVI 8.5

So could you please confirm the same analysis with LabWindows/CVI 8.5 more particularly when running on a 64bit Windows Server 2008 R2 ?

And how can we solve this hard drive stress on the installed Server with the current RunTime CVI 8.5 ?

Thanks a lot for your answers,

Best regards,

Franck Dubreuil

 

0 Kudos
Message 8 of 14
(3,936 Views)

These log messages come from the CVI Run-Time Engine. If you are seeing this message, your server must have been upgraded to the 2009 version of the CVI RTE. This could have occurred at the same time some other software/drivers were installed or upgraded.

 

Logging did not exist in CVI 8.5, which is why you don't find ConfigCVILogging.exe in your CVI 8.5 installation's bin directory.

 

The ConfigCVILogging tool is just a UI to some settings that are stored in the Windows registry. If you want to disable the CVI RTE log messages, add the following key (using regedit):

 

HKEY_CURRENT_USER\Software\National Instruments\CVI Run-Time Engine\cvirte\Logger

 

In that key, create a new REG_DWORD with the name "Log Level" and a value of 0.

0 Kudos
Message 9 of 14
(3,924 Views)

Hello and thanks for your fast answer !

I did not found any "National Instruments" folder under "HKEY_CURRENT_USER\Software\" in the registry of this Win Server 2008 R2 machine.
Can it be linked with the fact that this software runs in Service mode, and so no "Current User" structure ?

Thanks for your help to solve this behaviour.

Best regards,

Franck

0 Kudos
Message 10 of 14
(3,909 Views)