NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Test Stand Execution Abort

I have a button that executes TS_ExecutionAbort. When I press that button in debug, it seems to work find but when I exit the program, I get the following error:

Global type list not empty!
Error Code: -17001
Where raised:
function: TypeUsageList::DeleteGlobalTypeList
file: c:\TestStand_Autobuild\Build30\Dev\Src\tstobj2\TypeList.cpp
line: 195
compilation time: 12:31:43 Jul 31 2003

Where caught: Debugging When Exception Constructed
WARNING!!! 'destructor exception' Line 9962 in function in file c:\TestStand_Autobuild\Build30\Dev\Src\tstobj2\TestObj.cpp
Compilation Date: Jul 31 2003 Compilation Time: 12:31:41
Not all type usage lists have been destroyed!
Error Code: -17001
Where raised:
function: TypeUsageList::DeleteAllTypeUsageLists
file: c:\TestStand_Autobuild\Build30\Dev\Src\tstobj2\TypeList.cpp
line: 853
compilation time: 12:31:43 Jul 31 2003

Where caught: Debugging When Exception Constructed
WARNING!!! 'destructor exception' Line 9963 in function in file c:\TestStand_Autobuild\Build30\Dev\Src\tstobj2\TestObj.cpp
Compilation Date: Jul 31 2003 Compilation Time: 12:31:41

When I press the button in release, I get popups errors while waiting for the step to finish. The errors are as follow:

ActiveX Error
-------------
sCode = 0xffffbc6c
Description: Value invalid or out of range

And

ActiveX Error
-------------
Unknown Error

My gui is compiled in CVI 7.0 and I am using teststand 3.0.

Here is my button code otherwise the cvi gui is just updating status.

int CVICALLBACK cmdAbortCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2)
{
int error = 0;
ERRORINFO errorInfo;
ErrMsg errMsg;

switch (event)
{
case EVENT_COMMIT:
tsErrChkMsgPopup(TS_ExecutionBreak (m_oExecution, &errorInfo));
// Prompt the user to make sure he wants to abort
if (ConfirmPopup ("Abort Confirmation", "Are you sure you want to abort?"))
{
m_bUserAbort = TRUE;
m_eState = ABORT_PENDING;
tsErrChkMsgPopup(TS_ExecutionAbort (m_oExecution, &errorInfo));
UpdateGUI();
}
else
{
tsErrChkMsgPopup(TS_ExecutionResume (m_oExecution, &errorInfo));
}
break;
}
return(0);

Error:
return(-1);
}

Do any of you know why I am getting these error or how to find the problem?
0 Kudos
Message 1 of 2
(3,401 Views)
To gsflat -
You appear to have created a global variable called "m_oExecution" which I assume that you have created using
CA_DuplicateObjHandle() within some callback. If you are just copying a callback parameter to your global variable, the handle may have already been released.

If you fail to call CA_DiscardObjHandle() on object handles that you duplicate before shutdown or before you reassign a new value to an already assigned variable, TestStand will not be able to release the object on shutdown and you will get these debug warnings. Failing to properly release any type of object handle can result in these warnings.

As to why you release build is erroring, you will have to determine which functions in the project that uses the tsErrChkMsgPopup
macro are failing and then figure out why.

Scott Richardson (NI)
Scott Richardson
https://testeract.com
0 Kudos
Message 2 of 2
(3,401 Views)