01-19-2016 07:24 PM
Hello,
I am having this problem with my NI TestStand.
At first I observed that I cannot launch Import/Export Properties Dialog box from Tools>>Import/Export Properties though it seems clickable.
When I click it, there's no response.
Then also, everytime I close the TestStand, I always got this error message box "TestStand Debug Options Warning". The error message is shown below.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
FULL Error Message:
References to PropertyObjects were not released properly.
Total number of objects: 37
Number of top-level objects: 5
Note: Some top-level objects may be included if they are referenced by
an incorrectly released top-level object. For example, an unreleased
SequenceContext object references a SequenceFile object.
The following top-level objects were not released:
Type Definitions [3 object(s) not released]
Type Definition #1:
Name: DatabasePropertyMapping
Type Definition #2:
Name: DatabaseColumnValue
Type Definition #3:
Name: Expression
PropertyObjects [2 object(s) not released]
PropertyObject #1:
Name: PropertiesList
Type: Array of Containers
PropertyObject #2:
Name: ExtraInfo
Type: Array of Containers
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
How do I fix this? Please see below details for your reference. Thank you.
Software Version: TestStand 2014 (32-Bit)
Windows OS: Windows 7 Professional (64-Bit)
*Note: Using TestStand 64Bit instead will do as fine and no erros at all, however, I should use my 32Bit teststand since my Semiconductor Module is in 32Bit.
01-20-2016 03:18 AM - edited 01-20-2016 03:19 AM
The reason for the dialog is that you have an object leak "somewhere". It is your task to identify what "somewhere" is exactly.
Object leaks of that type occur when you use the TestStand API and incorrectly or fail to close references to TestStand objects.
A classic example is retrieving the reference to a sequence and incorrectly or not closing that reference. The issue is that there are many objects "hanging" on that sequence object (object relation ship), therefore these objects cannot be cleaned up properly.
Typical sources of object leaks are:
- Custom user interface
- Customized process model
- Custom tool(s)
- Using TS API in the test sequence(s), e.g. in Expression Edit field(s)
Norbert
EDIT: Reviewing the warning dialog you get, i assume that you use customized database interaction. That can be a custom database report plugin or custom database steps.
01-20-2016 06:46 PM
Hi Norbert,
thank you for your response.
The problem here lies on where exactly these object leaks occur.
Is there a way to cleanup all the leaks on the TestStand in one go?
Please take note also that I've tried uninstalling and re-installing Teststand.
But, the problem still occurs.
best regards,
val87
01-22-2016 08:40 AM
Not that I know of.
If you use TestStand references in ActiveX steps Teststand automatically handles references and you don't need to close them. The problem will therefore lie in some code module.
You can try a "binary search": disable/skip half of your code (and then another half, and so on) until the error disappears and try to track down which code module is causing that way.
Good luck ... hope it doesn't take too much frustration finding the culprit!
Best Regards
Mathis
01-23-2016 04:02 AM
Hello Mathis,
Thanks for the response..
Do you mean the problem occurs only when using a specific sequence file with code module that created the problem?
Once I found out the culprit, would you know how to fix it?
I am hoping if there's a way to clean all this up using TestStand options or something.
Just for the another info, Import/Export Properties also won't launch anymore from Tools >> Import/Export Properties.
I'm not sure though if this is connected to leakage error.
thank you very much.
best regards,
Val
01-25-2016 04:20 AM
Hi Val,
a couple of examples.
1. You want to send a custom UImessage in a sequence step.
The sequence context reference is safe as that was issued by Teststand and handed over to the code module, meaning it doesn't need to get closed.
The subsequent Threads reference however needs to get closed manually. A code module using the first snippet will result in the loathed debug dialogue.
The second one will close down correctly:
another example: You are programmatically loading a specific sequence file in your custom user interface:
Note how the method is automatically generating a reference to the newly generated sequence file object. Even though you might not want to do anything with the object at this moment it still generates the reference which if left unhandled will result in the debug dialogue on shutdown.
You therefore need to make sure to close the reference:
Once no reference is left open on shutdown of your application you will stop to get the debug dialogue.
Hope that helps
Best Regards
Mathis
01-26-2016 01:14 AM
hello mathis, thanks for the response.
however, eventhough i only created a new sequence (only main sequence and no steps added), i still cannot launch the import/export properties dialog box (though it is clickable) and when i close the teststand, that error still occurs.
what you are saying might be one of the reasons for that error.
i thought that there might be an installation issue. but re-installing teststand won't help also.
one more thing, i do not see this error when i use teststand 64-bit. my PC is also 64-bit (windows7).
would there be a connection?
thanks,
val87
01-26-2016 02:40 AM
Val,
do you use customized elements e.g. custom process model?
Is the error also occurring when you do not execute a sequence?
Norbert
01-26-2016 04:09 AM
In addition to what Norbert said, can you check if there are process model files in:
C:\Users\Public\Documents\National Instruments\TestStand 2014 (32-bit)\Components\Models\TestStandModels
but not in
C:\Users\Public\Documents\National Instruments\TestStand 2014 (64-bit)\Components\Models\TestStandModels
(pathname is a guess ... I'm not using the 64Bit version. If it's not correct, check in C:\Users\Public\Documents\National Instruments\ what the correct foldername for 64 Bit is)
process models in those directories would cause Teststand to use those copies rather than the ones in the "program files - Teststand" directory
If there are files in the one folder but not in the other that would explain why it is working in the one version but not the other (one version gets it's factory process models overridden by a faulty process model, while the other uses the stock process model).
What Norbert says is further important as it gives you an indication if the errors in the process models are in the execution entry points or if it's e.g. the SequenceFileLoad/SequenceFileUnload engine callbacks (Which the standard process models don't use ... but a custom process model might obviously use them).
Best Regards
Mathis
01-26-2016 06:51 PM
hi norbert,
i didn't use customized process model or callback. and yes, even when i just launched the sequence editor and open the Computer Motherboard Test sequence, the issue is already there..i still can not launch the Import/Export Properties dialog box and closing it also pops-up the TestStand Debug options warning.
thanks,
val87