Contact us

Live Chat with Tek representatives. Available 6:00 AM - 4:30 PM

Call

Call us at

Available 6:00 AM – 5:00 PM (PST) Business Days

Download

Download Manuals, Datasheets, Software and more:

DOWNLOAD TYPE
MODEL or KEYWORD

Feedback

As a Windows C/C++ DLL, the RSA API can be used in many C/C++ development environments including National Instruments LabWindows/CVI.  However, due to the way LabWindows/CVI 2010 handles the loading of external .DLLs, the compiled executable will experience a fatal run-time error.  When this occurs you will receive a message like the following:FATAL RUN-TIME ERRORUnknown source position, thread id 0x0000XXXXA non-debuggable thread caused a ‘General Protection’ fault at address 0xXXXXXXXX.Please note: this issue has been confirmed to exist in LabWindows/CVI 2010 and may exist in other versions of LabWindows/CVI as well.  LabWindows/CVI 2015 has shown not to exhibit this problem.

Question :

As a Windows C/C++ DLL, the RSA API can be used in many C/C++ development environments including National Instruments LabWindows/CVI.  However, due to the way LabWindows/CVI 2010 handles the loading of external .DLLs, the compiled executable will experience a fatal run-time error.  When this occurs you will receive a message like the following:FATAL RUN-TIME ERRORUnknown source position, thread id 0x0000XXXXA non-debuggable thread caused a ‘General Protection’ fault at address 0xXXXXXXXX.Please note: this issue has been confirmed to exist in LabWindows/CVI 2010 and may exist in other versions of LabWindows/CVI as well.  LabWindows/CVI 2015 has shown not to exhibit this problem.

Answer :

National Instrument has confirmed this issue with other external libraries and has written up a KnowledgeBase article showing how to fix the issue.  You can read this article at the following URL.

http://digital.ni.com/public.nsf/allkb/14B6D031F7AC4B53862577AE0060F844

This article explains how to add keys to your Windows Registry to force LabWindows/CVI to load the external .DLLs in a specified order.  This technique will be used to load the RSA API .DLLs in the proper order so that the built executable will not experience a fatal run-time error.

The simplest way to add the keys to your registry is to run the following registry script.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\National Instruments\CVI\10.0\DLL Load Order]
"DLL1"="RSA_API.dll"
"DLL2"="RSA300API.dll"
"DLL3"="RSA500API.dll"
"DLL4"="BaseDSP.dll"
"DLL5"="GPMeasDSP.dll"

Open Notepad.exe and Copy and paste the script above into the Notepad window.

RSA20API20Registry20Fix20Notepad

Go to the File menu and select Save As…

RSA20API20Registry20Fix20Save20As

Save the file to your computer’s Desktop as a .reg file.  Enter the filename and then change the Save as type to All Files (*.*) then click the Save button.

Navigate to the folder where you saved the .reg file.  Double-click the .reg file to launch the Registry Editor.

RSA20API20Registry20Fix20Regedit

Click Yes to allow the changes to be made and the new Registry keys to be added.

 

Rebuild your LabWindows/CVI project.  Your executable should now run without a Fatal Run-time Error.


FAQ ID 72206

View all FAQs »