LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

CVI 8 cvirte.dll gpf on some XP systems but not others!

I'm getting a gpf in cvirte.dll on some XP systems, but not others (two of five tested so far).  The program was initially written for CVI 5.5 but recently moved to being built with CVI8.0, then 8.1.1, and finally 8.5.   All have the same problem, a crash soon after RunUserInterface() is called.

I tried going back to CVI5.5, but the 8.5 install seems to have contaminated my development system so than my CVI 5.5 distribution kit now installs the 8,5 runtime 😞

Short of uninstalling 8.5 and reinstalling 5.5, is there anyway to make my CVI 5.5 return to distributing its versions of the runtime?

Nothing particular pops out about differences between the XP systems.  The two that fail one is a Dell Inspiron 5100 P4, the other is a HPCompact Intel Core2.  The three that work are all P4 cpus of various speeds.  All are XPsp2 with apparently all security patches installed.

Crash data
Exception Code: 0xc0000005
Flags: 0x0C000000
Address: 0x00000000684ef9f8

The 8.0 built version of my program ran fine on my Windows 2000 development system when I tested it after the initial rebuild with CVI8.

--wally.


0 Kudos
Message 1 of 7
(4,156 Views)
CVI since 7.0 (I think it is) only supports a single version of the RTE on a target or on a development system, and that will be the latest version that's ever been installed.  And you can't control the version of the RTE that goes into the distribution kit, it's always the (single, latest one ever installed) version that's installed on the development system.

If you try and remove the RTE directly using add/remove programs, Windows insists on also removing any applications that are dependent on the RTE as well (!)

The exception you're getting is for the DEP feature in XP SP2.    Data Execution Prevention tries to detect data being executed.  Usually this is a mishandled pointer.  It could be that the pointer mishandling has always been there, but never caused a GPF, but the DEP detects it.

You can turn DEP off for everything except Windows programs and services using the control panel advanced features tab.

Menchar
0 Kudos
Message 2 of 7
(4,152 Views)
I kind of figured this when the CVI7 demo, lacking an uninstaller, contaminated my system introducing a bogus requirement for mesa.dll in all my CVI 5.5 code after I tried the demo (and decided not to upgrade).

I restored the 5.5 run-time to the target system and it still crashed.

I've further traced the issue to an apparent interaction between XP and a third party DLL I use to support an external RS232 device.  XP is just making it look like the cvirte.dll is what has crashed.

CVI is off the hook for this one, now.  Renews my faith, as the downward compatability of the newer runtimes is something I've taken for granted over the years and I'm very happy to see this was not broken by CVI8.

--wally.

0 Kudos
Message 3 of 7
(4,145 Views)
menchar,

The DEP feature is probably not the issue since the 5.5 version runs fine under Vista.  But I will try turning it off and see what happens.

Proprietary libraies often play games with executing data to obscure their code from reverse engineering 😞

--wally.

0 Kudos
Message 4 of 7
(4,142 Views)
Hi wally_666,

We always try not to break any backwards comptability in our run-time engines but sometimes things slip by. However, we do try and address those issues as soon as possible. If you do come across any issues, please let us know as we want to make sure that you are have the best user experience as possible.

Thanks

Best Regards,


Message Edited by Jonathan N on 11-30-2007 06:19 PM
Jonathan N.
National Instruments
0 Kudos
Message 5 of 7
(4,139 Views)
Turned off DEP on my application on the machine where it crashes, but no help.

At this point, its a bug in a third party library that for some reason depends on which XP machine runs it 😞

Thanks for the suggestion though,  DEP is supposed to throw a dialog identifing it as the cause of the exception, We're getting a GPF type dialog that blames cvirte.dll.  It probably blames cvi because I call the library function from a CVI timer callback.

For now, we can just use the application on machines that it works on.

thanks again,
--wally.

0 Kudos
Message 6 of 7
(4,094 Views)

I hate when that happens.

The DEP dialog is an option that can be set/defeated as I recall.  Error reporting I think it's called - it wants to send an e-mail to Microsoft reporting the exception.

Good luck.

0 Kudos
Message 7 of 7
(4,085 Views)