INI instrument driver and fatal run time errors

Hey everyone, I'm experimenting with the INI instrument driver and running into a fatal run time error.  Here's what I know so far:
The runtime error only happens during the very first Ini_Putxxx
It only happens if the target INI file does not yet exist.  After the file is created with a Ini_WriteToFile, then the program will proceed with all my Put functions without any errors.
Ideas?
Solved!
Go to Solution.

Are you sure about that? I just tried calling these functions in the Interactive Execution window without errors (the destination file wasn't there before the call and has been created without errors):
#include "inifile.h"
static int error = 0;
static IniText T = 0;
T = Ini_New (0);
Ini_PutString (T, "General", "Item 1", "Test string");
Ini_PutInt (T, "General", "Item 2", 123);
Ini_PutDouble (T, "General", "Item 3", Pi ());
error = Ini_WriteToFile (T, "C:\\test.ini");
Ini_Dispose (T);
Ini_PutXX functions do not make any disk access, they work entirely in memory; the only functions where the instrument accesses the disk are Ini_WriteToFile and Ini_ReadFromFile. Which error are you receiving? Can you post a sample code that exhibits the error?
Proud to use LW/CVI from 3.1 on.
My contributions to the Developer Zone Community
If I have helped you, why not giving me a kudos?

Similar Messages

  • How to display "Non-Fatal Run-Time Error In Function Panel" dialog?

    I'm learning how to develop an IVI-C specific driver using LabWindows/CVI. When I run my function from its function panel and it returns an error, I would like to display a dialog with both the error code and error message (as opposed to simply returning an error code on the function panel). This would save the user from having to call Prefix_error_message() to translate the error code to its error message. NI-DCPower driver is a good example of this behavior (see attached error dialog). How do I show the "Non-Fatal Run-Time Error In Function Panel" dialog? Any help is greatly appreciated. Thanks!
    Attachments:
    ErrorDialog.png ‏8 KB

    Hi Shawn,
    Thank you for replying to my post. The checkErr is just an error handling macro defined in ivi.h to goto Error: tag when the function returns a non-zero value. I have been using the checkErr macro (as well as viCheckErr and other macros) in my driver.
    Using the same hp34401a specific driver as an example, please allow me to explain my question in more details:
    Let's take the hp34401a_close function as an example. It is a simple function with only a few lines of code:
    When the hp34401a_close function is run from its front panel using an invalid session handle (e.g. "8" in this screen capture):
    You will get three "Non-Fatal Run-Time Error" popup dialogs, one from each of the IVI library functions that it calls: Ivi_LockSession, Ivi_UnlockSession, and Ivi_Dispose. However, there is no "Non-Fatal Run-Time Error" popup dialog from the hp34401a_close itself.
    My IVI-C specific driver is behaving identical to the hp34401a specific driver.
    In comparison, if run niDCPower_close function from its front panel using an invalid session handle (using the same "8" in this screen capture):
    You will only get one "Non-Fatal Run-Time Error In Function Panel" from the niDCPower_close function itself:
    I think the behavior of niDCPower driver is much better than the hp34401a driver. It replaces the three "Non-Fatal Run-Time Error" popup dialogs from the IVI library with a single "Non-Fatal Run-Time Error In Function Panel" popup dialog from the driver function itself. I would like to do the same thing with my driver but have not figured out how to display a "Non-Fatal Run-Time Error In Function Panel" dialog. Thanks in advance for your help!

  • Fatal Run Time Error - unknown source position thread id

    Hi All,
    I am using LabWindows CVI 2013 in order to display data from my controller.
    I have defined some functions to activate the communication with the controller and read data from it.
    The communication activation with the controller is being done inside the Main block before loading the UI panels.
    I created a command button that activates the data reading function (Get Register) from the controller.
    When calling the reading function I received a Fatal Run Time Error. Attached please find.
    When I moved the reading function to the main block before loading the UI, the program didn't crush.
    What is the cause for that?
    Thanks for your support.
    Haim 
    Attachments:
    CVI.png ‏168 KB

    Hi Haim,
    Could you explain what you mean by moving the function to the main block? Does that mean instead of having a callback, you added the four lines in that callback (according to the attached image) to the main function? When you do this, does the code execute correctly?
    And can you tell me what DLL package you are using that contains the Jet32Functions.GetRegister function?
    The error is very generic, so it is hard to say what is causing it without seeing the entirety of the code, but it appears that there is a conflict in the thread control. Does the error occur only when you activate the callback by clicking the command button? Which lines are executed in the callback before the error occurs?
    It would be helpful if you could attach your source file or at least a screenshot of the working code so I can see the entire main function.
    Steven

  • Newbie question NON-FATAL RUN-TIME ERROR IN TUTORIAL (PlotY)

    I'm a first time user, following the tutorial and when when I click on Acquire I get the following error "NON-FATAL RUN-TIME ERROR:   "sample1.c", line 85, col 13, thread id 0x00000D54:   Library function error (return value == -10 [0xfffffff6]). The control is not the type expected by the function"
    Code is as follows (line 85 is PlotY......:
        case EVENT_COMMIT:                                                                                                       
            srand (time(NULL));                                                                                                  
            amp = rand ()/32767.0;                                                                                               
            SinePattern (100, amp, 180.0, 2.0, sine);                                                                            
            PlotY (panelHandle, PANEL_Waveform, sine, 100, VAL_DOUBLE, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);  
            break;    
    Its not obvious why it crashes on this line, any help would be appreciated.
    Thanks
    Jeff

    Happy to hear that you have solved your problem.
    Just to be clear, there is no problem in using lowercase letters for control ID, but since the usual CVI behaviour is to use uppercase letters I was wondering if you created the control by yourself and if it could be a wrong one.
    CVI does not really address controls by name: if you see in the include file associated to the UIR you'll see that PANEL_CONTROL is really a macro with an associated value, which is the one the program really uses (see my first post to understand how PlotY operates; the same happens for all functions that operate on control like Get/SetCtrlVal or GetSetCtrlAttribute for example).
    Neither CVI operates any cross check between the panel handle and the control you are addressing: that's why I pointed you to the panel handle value, to be sure that you are not operating on a control using the handle of a different panel, a situation that may happen if you are using more than one panel at a time.
    These are the reasons that may rise an 'incorrect control type' error.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Fatal run time error: unknown source position

    I am getting a fatal run-time error when using CVI 8.0.1.  I get the error when any program I write is exiting.  Here's an example source:
    #include <ansi_c.h>
    int main(void)
        char buf[512];
        printf("press enter to exit\n");
        gets(buf);
        return 0;
    after I press enter to exit, the program hangs for a few seconds and then I get the error.  This only started happening after I upgraded to CVI 8.0.1.  I have tried uninstalling / reinstalling / going back to earlier versions and I always have the problem now.

    It sounds like something went wrong with the initial install or possibly there was problems with removing previous versions. Since uninstalling and reinstalling did not fix this, I would suggest you to use a utility called MSI Blast. This will show all installations that are on your machine and allow you to remove these installations. This is a last resort program and should never be used to replace Add/Remove Programs, but since something sounds as if it is corrupt, I feel it is best to use this. Here is the link.
    ftp://ftp.ni.com/outgoing/msiblast.zip
    You will need to remove and reinstall all NI components to assure that we remove the corrupt file. It is definitely something local to your machine as I was not able to replicate the problem with your provided code. Please run this utility and let me know once you have pick this up off of the ftp, as we do not leave this utility up for long.
    Message Edited by Brandon V on 10-10-2006 02:22 PM
    Brandon Vasquez | Software Engineer | Integration Services | National Instruments

  • Integrating an NI-USB 8451 driver and Labview Run-Time Files in an installation package of a .vi application

    Hello,
    I've built a .vi which uses the NI-USB 8451 device (please see http://sine.ni.com/nips/cds/view/p/lang/en/nid/202368), and I would like to create an installation package to be used on a costumer's PC, which has no Labview installed on or a driver for this device.
    I would like to have this installation as a completely stand-alone setup, so that the user could take this file and run it, and have the driver to the 8451, the run-time files for the Labview application installed by themselves,  and have the .exe file working on a completely "clean" PC.
    How can I integrate it all in one package ?
    Thanks,
    Michael.

    Nice hearing from you again, Ipshita
    I do not call any dll's currently, but am using the driver of the USB device, NI-USB 845x, version 1.0.1
    Now, I would very like to make the use of my application, by another user, with no Labview or this driver on his PC, as simple as possible.
    I just thought that maybe I could create an .EXE file with some Labview created dll's, which this executable would use, and spare the need of the 845x Driver or Labview Run-Time library prior installation. I could be wrong.
    What should I do ?
    P.S.
    Meanwhile, I've been playing with the Application Builder and tried to create an installation with the Driver and the Labview Run-Time.
    It had started the compile, but stopped with the following pop-up window: "Locate the 'NI-845x Software 1.0.1' distribution. Labview needs to copy a component installed or updated by the distribution..."
    (Attaching the pop-up window below)
    What is it looking for and where can I find it ?
    Thanks,
    Michael.
    Attachments:
    Installation_pop-up.JPG ‏20 KB

  • Non-Fatal Run-time Error "%%s"

    This was shown yesterday by an non-debug program written with CVI 9.01 and run-time 9.1 (the current "428" build) on the target.
    I was trying to fix "-12: Out of memory" popups (maybe a race condition inside ProcessSystemEvents/GetUserEvent?) and now this.
    Any idea what this is?
    /* Nothing past this point should fail if the code is working as intended */

    A couple updates:
    From all indications, this dialog should only be shown if your binary (exe) is built in release mode.  If you build in debug mode, you should be able to see the error message that is trying to display.  Also, if our preliminary investigation is correct, the error should be in your release mode exe, and not any loaded dlls.
    From all indications, this dialog should only be shown if your binary (exe) is built in release mode and loads dlls that are build in debug mode.  If you build your dependencies in release mode, no dialog should be displayed at all (because this is a non-fatal error).
    Are you able to verify these statements?
    Thanks -
    NickB
    National Instruments

  • Can I partition a 1tb hard drive and also run time machine on that hard drive

    I have a 1TB external hard drive which s currently running for Time machine only.
    I was hoping to be able to partition the EHD so that 500GB would be for the Time Machine side and the other 500GB would be used as an ecternal storage [ a friend of mine has just lent me a 250gb hard drive with a load of tv series which i want to be able to copy].
    Can anyone tell me if this is possible and if so how do i do it.
    I know that Time Machine is running now but I don't mind starting all over again.

    Yes it is possible, but it is generally not a good idea. That being said, if you decide to use the EHD for another purpose, partitioning it is the best solution. How big is your internal HD? It is recommended for a TM partition to be 2X as large as your internal drive, and it must be at least the size of your internal HD in order to be used.
    In order to partition:
    1) Connect the EHD
    2) Open Disk Utility and select the drive
    3) Click the "partition" tab and drag the original partition to its desired size.
    4) Click "Apply" to create the secondary partition.
    Resizing the TM partition will not erase it.

  • BT2010 Installed Cum Update Packs for Adapters and getting run-time errors with WCF-SQL

    The process has been working fine for months.  Then we installed Cum Update packs to BT2010 (I'll get the exact C.U.'s from our admin guy) and last night got probably 20 errors similar to below.
       - Installed CU6 for BT2010
       - Installed CU3 for LOB (Adapters)
    The SQL stored proc returns a mix of strings, integers, Guids, and dates; the BizTalk schema looks like matches perfectly. The stored proc runs fine in SSMS.
    Got two errors for each, 1 in XLANG/s for the orchestration, and 1 for the Send port that calls the WCF-SQL adapter from the orchestration, and also 1 warning.
    NOTE: This orchestration runs every 15 minutes 24x7.  It calls the Stored Proc to find out which extracts it needs to create.  Most all the extracts run at night.  So if I run the stored proc during the day, it normally returns an empty result
    set.  Yet, the error below is happening every 15 minutes, even when the result set is empty.  How can it generate a data conversion error when there is no data to be converted? 
    ORCHESTRATION/XLANG ERROR:
    xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'Common.Extract.Orchestrations.EFSRExtractHandler(2b35190e-5f11-e360-9ae8-daaf0372cbc3)'.
    The service instance will remain suspended until administratively resumed or terminated.
    If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
    InstanceId: dc354922-73ef-46fc-ac3d-dbf793e5aaf8
    Shape name:
    ShapeId:
    Exception thrown from: segment -1, progress -1
    Inner exception: An error occurred while processing the message, refer to the details section for more information
    Message ID: {066027B8-4750-4D63-A746-1390E9959E49}
    Instance ID: {5A978538-5DD7-40D1-8826-D0486D129F84}
    Error Description: System.InvalidCastException: Failed to convert parameter value from a String to a Guid. ---> System.InvalidCastException: Invalid cast from 'System.String' to 'System.Guid'.
       at System.Convert.DefaultToType(IConvertible value, Type targetType, IFormatProvider provider)
       at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
       at System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType, Boolean& coercedToDataFeed, Boolean& typeChanged, Boolean allowStreaming)
       --- End of inner exception stack trace ---
    Server stack trace:
       at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)
    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)
    Exception type: XlangSoapException
    Source: Microsoft.XLANGs.BizTalk.Engine
    Target Site: Void VerifyTransport(Microsoft.XLANGs.Core.Envelope, Int32, Microsoft.XLANGs.Core.Context)
    The following is a stack trace that identifies the location where the exception occured
       at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env, Int32 operationId, Context ctx)
       at Microsoft.XLANGs.Core.Subscription.Receive(Segment s, Context ctx, Envelope& env, Boolean topOnly)
       at Microsoft.XLANGs.Core.PortBase.GetMessageIdForSubscription(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location)
       at Common.Extract.Orchestrations.EFSRExtractHandler.segment1(StopConditions stopOn)
       at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
    SEND PORT ERROR: 
    A message sent to adapter "WCF-Custom" on send port "Send_SQL_Orch_Call_GetAirportsForExtract" with URI "mssql://QADBAlias.datacenter.local//QTAviation?" is suspended.
     Error details: System.InvalidCastException: Failed to convert parameter value from a String to a Guid. ---> System.InvalidCastException: Invalid cast from 'System.String' to 'System.Guid'.
       at System.Convert.DefaultToType(IConvertible value, Type targetType, IFormatProvider provider)
       at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
       at System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType, Boolean& coercedToDataFeed, Boolean& typeChanged, Boolean allowStreaming)
       --- End of inner exception stack trace ---
    Server stack trace:
       at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)
    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)
     MessageId:  {C1FB3913-42EB-4957-9289-16D03B02674E}
     InstanceID: {46C9D190-902F-48CE-86CF-D8C3C5B8944D}

    Hi,
    About the error System.InvalidCastException: Failed to convert parameter value from a String to a Guid
    , maybe the field on the database is varchar(string type).
    And you can refer to the similar discussion:
    http://stackoverflow.com/questions/12816641/failed-to-convert-parameter-value-from-string-to-guid
    Hope it can help you.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • [Solved] WoW and Wine: Run time errors and massive lag.

    Ok, so I have a AMD A4 Kabini series APU, and I installed the ati open source drivers and added the correct settings into the
    /etc/X11/xorg.conf.d/20-radeon.conf
    , however when ever I run WoW it becomes extremely laggy and to a point where it is unusable. Heres the output from the point that I start getting errors:
    fixme:ntdll:find_reg_tz_info Can't find matching timezone information in the registry for bias 180, std (d/m/y): 16/02/2014, dlt (d/m/y): 19/10/2014
    fixme:win:EnumDisplayDevicesW ((null),0,0x192edf4,0x00000000), stub!
    libGL error: dlopen /usr/lib32/xorg/modules/dri/radeonsi_dri.so failed (/usr/lib32/xorg/modules/dri/radeonsi_dri.so: cannot open shared object file: No such file or directory)
    libGL error: unable to load driver: radeonsi_dri.so
    libGL error: driver pointer missing
    libGL error: failed to load driver: radeonsi
    fixme:d3d:wined3d_guess_card No card selector available for card vendor 0000 (using GL_RENDERER "Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)").
    fixme:win:EnumDisplayDevicesW ((null),0,0x192ecf4,0x00000000), stub!
    fixme:d3d:wined3d_guess_card No card selector available for card vendor 0000 (using GL_RENDERER "Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)").
    fixme:win:EnumDisplayDevicesW ((null),0,0x192f1c4,0x00000000), stub!
    fixme:win:EnumDisplayDevicesW ((null),0,0x192f324,0x00000000), stub!
    fixme:win:EnumDisplayDevicesW ((null),0,0x192f444,0x00000000), stub!
    fixme:win:EnumDisplayDevicesW ((null),0,0x192f5d4,0x00000000), stub!
    fixme:win:EnumDisplayDevicesW ((null),0,0x192f5d4,0x00000000), stub!
    fixme:d3d:wined3d_guess_card No card selector available for card vendor 0000 (using GL_RENDERER "Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)").
    fixme:win:EnumDisplayDevicesW ((null),0,0x192f6f4,0x00000000), stub!
    fixme:d3d:swapchain_init The application requested more than one back buffer, this is not properly supported.
    Please configure the application to use double buffering (1 back buffer) if possible.
    fixme:win:EnumDisplayDevicesW ((null),0,0x192f054,0x00000000), stub!
    fixme:win:EnumDisplayDevicesW ((null),0,0x192f194,0x00000000), stub!
    fixme:avrt:AvSetMmThreadCharacteristicsW (L"Pro Audio",0x192f87c): stub
    fixme:avrt:AvSetMmThreadCharacteristicsW (L"Pro Audio",0x192f87c): stub
    fixme:win:EnumDisplayDevicesW ((null),0,0x192df34,0x00000000), stub!
    fixme:win:EnumDisplayDevicesW ((null),0,0x192df64,0x00000000), stub!
    fixme:d3d:wined3d_guess_card No card selector available for card vendor 0000 (using GL_RENDERER "Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)").
    fixme:win:EnumDisplayDevicesW ((null),0,0x192dfe4,0x00000000), stub!
    err:wininet:open_http_connection create_netconn failed: 12029
    err:wininet:open_http_connection create_netconn failed: 12029
    err:wininet:open_http_connection create_netconn failed: 12029
    fixme:imm:ImmReleaseContext (0x2004c, 0x1b97a8): stub
    What do I have to install to fix this issue ?
    Solved by installing lib32-ati-dri
    Last edited by nathanmartins (2014-08-03 20:38:05)

    Most of us don't need any  /etc/X11/xorg.conf.d/20-radeon.conf , please post it's contents.
    The error messages indicate WoW can't find /usr/lib32/xorg/modules/dri/radeonsi_dri.so , the 32-bit multlib version of ati-dri .
    $ pkgfile /usr/lib32/xorg/modules/dri/radeonsi_dri.so
    multilib/lib32-ati-dri
    LoneVVolf/lib32-mesa-r300-r600-radeonsi-git
    $
    Do you have lib32-ati-dri installed ?

  • FATAL RUN-TIME ERROR: The program has caused a 'General Protection' fault at 0x6846680A.

    Dear all,
    I have some troubles with LabWindows CVI. Sometimes (maybe 2 or 3 times by week) my application crash with General protection error in cvirte adress. This crash never happens in the same part of the code is always happens in random way. The problem is that in debug mode we don't have any information about where the problem occurs in cvirte. This bugs can happens with differents application from very simple application to very complex applications.
    Do you have some ideas that how can I solve these problems?
    Thanks

    Hello J. Romero!
    Thank you for the crash information you provided!
    Hover you managed to collaborate with NI France more in order to determine the cause of this crash?
    Unfortunately, the information you provided is still not sufficient for us to determine the exact cause and circumstance of this crash:
    The provided event logs only contain relative addresses of the locations. An absolute crash address can better suggest the exact location. Please provide a screenshot of the crash window dialog, which contains the exact absolute address of this crash.
    In your original post, you mentioned that you can reproduce the crash with a "very simple application". Is it possible for you to send us the application on our incoming FTP server, so that we can build and run the program on our side?
    Do you have a suspicion for any particular libraries, components or UI controls that you are using, which reproduce the crash. E.g. "whenever I perform this action in a Numeric Control, the crash occurs...". This will further help us to narrow down on the problem!
    If #2 is not possible, one other solution would be to send us a crash dump of the application. Please follow the steps in this Developer Community post, in order to generate and send us a crash dump: https://decibel.ni.com/content/docs/DOC-1496
    Best regards!
    - Johannes

  • Why do I get a "Fatal Run Time Error: Out of Memory" after an hour while using RT on a PXI 8186?

    When I run this code with high speed DAQ+proccessing+control for over an hour in RT on an 8186, I get the above error. There were some arrays being built really quickly, etc. So I replaced these array initializations followed with "replace arrays subset" blocks. Still ,No luck.
    I'd really appreciate it if anyone could help me. the code can be posted here as well if reqd.
    I'm Running LV RT 7.1, and the target is a PXI-8186.
    Also, is there any way of allocating extra virtual memory in RT?

    Let me second everything that Aaron mentioned.
    Please post some code that demostrates your trouble and we will take a look.
    Gnerally I have to say that RT applications are rather demanding in the area of memory.
    I find myself avoiding data types that can vary in size, like strings. These can demand increases in buffer allocations such that the buffer previously allocated are insufficient, are tossed on the heap and another larger block is allocated. Too much of this happening can kill you in RT. Building strings is bad.
    Building arrays is just not allowed.
    LV2 globals (when properly coded) are useful in keeping memory useage static or diminishing. This dovetails with Aarons circular buffer.
    Review all code that is executed repeatedly using
    Tools >>> Advanced >>> Show Buffer Allocations
    In a nutshell, one or more of thes is killing you.
    Post your code so we can make specific suggestions.
    Trying to help,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Fatal Run-Time - Unknown Fault - on any CVI program close

    I have been trying to track down a few what seem like phantom Fatal Run Time Errors on my program closes.
    I am running LabWindows/CVI 2010 Full 10.0.1 (419)
    I originally posted here -> http://forums.ni.com/t5/LabWindows-CVI/EasyTab-ConvertFromCanvas-memory-leak/m-p/3084769#M69465
    As I thought this was related to tabs, where my resource tracker shows 'unclosed' resources.
    Now I am opening a different program and have found that even though I put my return 0; at the top of my main loop, I still get a fatal run time error.
    The error is exactly:
    FATAL RUN-TIMe ERROR
    Unknown source position, thread id 0x00001BB4 
    The program has caused a 'Unknown' fault at 0x748A4F11
    This occurs every time I run my program in the CVI IDE.
    There are no allocated resources in my resources window.
    Searching for either address in my map file brings no results.
    Thanks,
    Nick

    Hi ngay528,
    I have attached a link below to one of our discussion forums that walks through using the Resource Tracking feature of LabWindows/CVI. Again, sometimes this particular error is caused by leaving resources open at the end of an application, so this feature can help us identify those resources if that is the case. Please follow the steps listed in the solution of the thread (message number 4, marked in green). 
    FATAL RUN-TIME ERROR: Unknown source position, thread id 0x00000EB4: The program has caused a 'General Protection' fault at 0x00459B9D:
    http://forums.ni.com/t5/LabWindows-CVI/FATAL-RUN-TIME-ERROR-Unknown-source-position-thread-id/m-p/16...
    Thomas N.
    Applications Engineer
    National Instruments

  • Run-time error handling without popup

    I'm searching for a way to make a CVI executable more robust by performing an automatic routine if any run-time error occurs.  Basically I don't like the fact that a popup is displayed and the program is halted in the event of a fatal run-time error.  I cannot prevent a fatal run-time error from ever occurring so I was hoping there was a way to handle it automattically when CVI detects it.  So far though, the only thing that I've found is the CVI run-time error popup which suspends the program until user input or in release mode, a Windows popup that suspends the program in a similar manner with more cryptic OS level exception info.  I'm using Windows XP and CVI 2009, thanks.

    Ok, well, the source of the fatal run-time error seems to be within a function call to imaqSnap within the NI Vision library.  imaqSnap() is a function that just grabs 1 frame of video.  We're using NI Vision 8.5 with a PCI-1422 Imaq card and whenever there is no signal present at the input of the card, we get the following error:
    FATAL RUN-TIME ERROR:   "Imaq_support.c", line 187, col 18, thread id 0x000004F8:   Function : (errorCode = -1074397150 [0xbff60022]). A timeout error occurred while waiting for the specified event.  If waiting for an image, verify that all video data is acquired within the timeout period.  If waiting for a signal, verify that the signal assertion occurs within the timeout period.
    Line 187 is the line with the call to imaqSnap shown below:
                                                /* Initialize the Image Capture system */
                                                /* Open an interface and a session */
          ApplErrChk(imgInterfaceOpen ("img0", &Iid));
          ApplErrChk(imgSessionOpen (Iid, &Sid));
                                                /* set aquire mode */
        /* Snap a picture : ImaqBuffer is NULL, memory will be allocated by NI-IMAQ */
          AcqImage = NULL;
          AcqImage = imaqSnap (Sid, NULL, IMAQ_NO_RECT);
          if (AcqImage == NULL) {
            ErrNull = TRUE;
            iErrCode = imaqGetLastError();
            if (iErrCode != ERR_SUCCESS) goto tst_exit;
    It seems to me that this should not be a fatal run-time error, it should instead throw a non-fatal timeout error and allow our calling code to handle the null reference to the image.  Since it's a fatal error though, it doesn't allow me to ignore the run-time error and handle it gracefully.  The Sid and Iid references look fine when it throws the error so I'm unable to detect the problem before the function call.  Any thoughts on how to fix this issue?

  • Trapping Run-Time Errors

    We have defined a Setup Function in a sequence we are running. When a 'FAIL'
    is returned from this function a run-time error is generated and a run-time
    error window is displayed. Is it possible to trap this error and not display
    the window in certain circumstances? The function generating the error is
    TX_RunSeqOrTest().
    We are running LabWindows 5.0 and TestExecutive 2.0.1.
    We would appreciate any help.
    Joe Colson

    You can prevent LabWindows from breaking on library
    errors with SetBreakOnLibraryErrrors(). I don't know if
    this will work for TestExecutive functions.
    Regards,
    Reed.
    Reed Blake
    Beta Technology
    Industrial and Scientific Computing
    example:
    int break_state, status
    break_state = SetBreakOnLibraryErrors (0); // Disable break on library
    errors
    status = GetFileSize (name, &file_size); // Labwindows library
    function
    SetBreakOnLibraryErrors (break_state); // Restore break state.
    Joe Colson wrote in message <[email protected]>...
    >
    >We have defined a Setup Function in a sequence we are running. When a
    'FAIL'
    >is returned from this function a run-time error is generated and a run-
    time
    >error window is displayed. Is it possible to trap this error and not
    display
    >the window in certain circumstances? The function generating the error is
    >TX_RunSeqOrTest().
    >We are running LabWindows 5.0 and TestExecutive 2.0.1.
    >
    >We would appreciate any help.
    >
    >Joe Colson

Maybe you are looking for

  • Error when calling a popup window in the initial screen of an application

    Hi,     I am calling a popup window in the Initial screen to select the variant list. I am getting an error reference to Null Object reference. Here is the Error. Runtime Errors         OBJECTS_OBJREF_NOT_ASSIGNED_NO Exception              CX_SY_REF_

  • AirTunes won't work on Snow Leopard

    Before I installed 10.6 everything was working fine. Right after the installation completed I fired up iTunes and the authorization toward to the store was failing. I ran the verify and then fix permission task and now that works. What I can't figure

  • ENGR / PO Import procedure not defaulted

    Folks, Somehow the import procedure is not defaulted in the item of the PO which results in errors during creation of periodic declarations. The business transactions is defaulted correctly. Any suggestions? MdZ

  • Having 2 Views in WDA, can I call the non-default View by itself?

    I am developing a web dynpro that has 2 Views in 1 Window. View 1 is a selection screen with 2 parameters - Project Number & Project Manager View 2 is an Adobe Form which displays project info selected from what the user entered on V1. I created a We

  • Clarification re Pro account

    I understand that to publish single or multi-folio apps across different platforms (i.e. Android, iPhone, Kindle) requires at least a Pro level account.  I also understand that there is a charge per folio download after the initial subscription folio