exception error only w/ an .exe built from LabVIEW
Hey guys, I created a test that takes a relatively long time to complete (~6 hours over all temperatures). In order to avoid eating into my development time, we wanted to use a computer running a stand alone .exe file built from this Labview program. The build process runs smoothly, but I've had a lot of errors cropping up once I start the .exe program. I installed the LV Run time engine, NI-Visa, and all the .dlls associated with this program (tktds7k_32.dll, instrup.dll, and a usb driver needed for some in house software that I'm controlling). One particular computer was giving me fits (a compaq), so I switched it out for a newer, faster dell machine. All the libs copied over fine, but once I ran the program, it gave me the following error about an hour into the test. This is the same error that I was getting with the Compaq machine, but with the Compaq, it would bug out within 5-10 minutes. The node and subVI mentioned are always the same. LabVIEW: An exception occurred within the external code called by a Call Library Node. This might have corrupted LabVIEW's memory. Save any work to a new location and restart LabVIEW. VI Jitter Test with Temp.vi was stopped at node 0x410 of subVI tktds7k Set Measurement Source.vi. I just realized that my development machine is running Windoze2k and the target machine is running WinXP. Could that have something to do with it? When I ran the .exe file on my development machine, it ran through the whole test without any problems. I left it over the weekend and when I came in, it had finished without generating this error. What could be different between the two computers? Also, sometimes, the .exe file won't even start on the target machine because there are communication errors with my scope and other system components. They vary between these messages: * tktds7k Initialize.viERRDriver Status: (Hex 0xBFFF0039) Unable to queue the asynchronous operation because there is already an operation in progress. * tktds7k Initialize.viERRDriver Status: (Hex 0xBFFF0078) The value of some parameter (which parameter is not known) is invalid. And finally, whenever the .exe application is closed, there is an error that an instruction at location 0x7343FF3F could not read the memory at the same location. This particular error happens on either the target machine or the development machine. Does anyone have any ideas about these errors? Even references to documentation about the application builder would be greatly appreciated. (I've had some trouble finding any details about the app builder in the Labview manuals.) Thank you, allen
Re: exception error only w/ an .exe built from LabVIEW
Himes, Allen [EMAIL PROTECTED] wrote: LabVIEW: An exception occurred within the external code called by a Call Library Node. This might have corrupted LabVIEW's memory. Save any work to a new location and restart LabVIEW. VI Jitter Test with Temp.vi was stopped at node 0x410 of subVI tktds7k Set Measurement Source.vi. Well seems like the Tektronix TDS 7000 driver has some problem here which might manifest itself only in the runtime system. Looking at the IVI C source of that driver might help you if you understand C. I just realized that my development machine is running Windoze2k and the target machine is running WinXP. Could that have something to do with it? When I ran the .exe file on my development machine, it ran through the whole test without any problems. I left it over the weekend and when I came in, it had finished without generating this error. What could be different between the two computers? Unlikely but with so many software (DLLs, drivers, LabVIEW executable, VISA, etc.) you never know. Try at least to make sure you install the latest VISA runtime from the NI site. Also, sometimes, the .exe file won't even start on the target machine because there are communication errors with my scope and other system components. They vary between these messages: * tktds7k Initialize.viERRDriver Status: (Hex 0xBFFF0039) Unable to queue the asynchronous operation because there is already an operation in progress. * tktds7k Initialize.viERRDriver Status: (Hex 0xBFFF0078) The value of some parameter (which parameter is not known) is invalid. But resource closing of a previous run might be the reason for this. If the previous run aborted with an exception that is probably the reason. VISA sometimes maintains asynchronous state information over process restarts if the VISA DLL wasn't properly unloaded. And finally, whenever the .exe application is closed, there is an error that an instruction at location 0x7343FF3F could not read the memory at the same location. This particular error happens on either the target machine or the development machine. Huu. That sounds strange but from the address is unlikely to be really in executable code but rather a mixup of a data pointer which managed to get into the execution chain. Either a stack corruption or an improperly set cleanup procedure callback pointer. Of course one of the DLLs you are using, including your USB interface may have scribbled over some address space it wasn't supposed to touch. And just because you don't have such an error when calling your DLL from another application than LabVIEW really means nothing at all. Rolf Kalbermatter CIT Engineering Nederland BVtel: +31 (070) 415 9190 Treubstraat 7H fax: +31 (070) 415 9191 2288 EG Rijswijkhttp://www.citengineering.com Netherlands mailto:[EMAIL PROTECTED]