This document contains the TestStand Bug Fixes
that were discovered before and since the release of
TestStand 2014. Not every bug fix known to NI will appear on this
list; it is intended to only show the severe and more common issues
that have been addressed.
Each Issue appears as a row in the table and
includes these fields:
Feel free to contact NI regarding this document or issues in the document. If you are contacting NI in regards to a specific issue, be sure to reference the ID number given in the document to the NI representative. The ID number contains the current issue ID number as well as the legacy ID number (use the current ID number when contacting National Instruments). You can contact us through any of the normal support channels including phone, email, or the discussion forums. Visit the NI Website to contact us.
The following items are Bug Fixes in TestStand 2014.
ID | Legacy ID | Fixed Issue | Issue Details |
---|---|---|---|
.NET Adapter | |||
217390 |
| .NET Adapter does not support Nullable<T> | The .NET Adapter does not support Nullable<T> because of boxing and unboxing behavior. Refer to Microsoft documentation for more information about Nullable<T>. |
Database | |||
129380 |
| The Validate button in the Database Options dialog box does not report items or stored procedures that it does not validate | The Validate button in the Database Options dialog box will not report issues in some cases because certain aspects of the schema are not validated. However, the validation results do not indicate what items were skipped. For example, the Validate button will not validate stored procedures. |
432246 |
| Logging results to an Oracle database with the Oracle ODBC driver may cause results to be logged out of order | In some cases, using the Oracle ODBC driver to log results to a database may cause results to be logged out of order. Additionally, logging operations with the ODBC driver may occur more slowly than expected. |
462471 |
| Property Loader database filtering does not work properly with double-precision numeric conditions | When you use the Property Loader with data from a database, filtering settings will not be applied if a condition uses a double-precision Number data type. As a result, the Property Loader could return extra or undesired records from the database. |
46783 | 334BG2KF | Build SQL File feature generates incorrect SQL for SQL Server | The Build SQL File feature generates incorrect SQL for SQL Server. When executed, the generated SQL will return the following error: "Statement MEAS_NUMERICLIMIT Procedure InsertStepMeasNumericLimit not found" |
47240 | 3FLCB5UX | The Validate feature in the Database Options dialog box does not detect missing columns in the database | If you add additional columns to a database schema and use the Validate button to validate that these columns are in your database, the results will not indicate that the columns are missing. |
Documentation | |||
414315 |
| Graphics missing in UsingtheTestStandUserInterfaces.html document | The UsingtheTestStandUserInterfaces.html document incorrectly references graphics in the <TestStand>/Doc/Art directory. The graphics reside in the <TestStand>/Doc directory. |
File Differ | |||
426239 |
| Using the File Diff/Merge tool to merge two sequence files may cause the tool to hang in certain cases | If you merge two sequence files such that an unstructured container property of one file will be merged into a subproperty of an existing type instance from the other file, the File Diff/Merge utility may hang. |
LabVIEW | |||
101510 |
| LabVIEW user interface reports object leaks on shutdown when using ActiveX Variants in ActiveX callbacks | A LabVIEW user interface reports object leaks on shutdown when you pass a TestStand object as the ActiveXData parameter of a UIMessage in the UIMessage callback VI. LabVIEW does not release the object reference until you unload the LabVIEW callback VI. |
415334 |
| Loading a LabVIEW project containing network shared variables that use strict type definitions will cause TestStand to crash if LabVIEW Adapter is set to use the Run-Time Engine | If you load a LabVIEW 2013 or earlier project, containing network shared variables with strict type definitions, into memory, TestStand will crash with a DAbort error. This issue occurs only with the LabVIEW Run-Time Engine setting in the LabVIEW Adapter. LabVIEW 2014 fixes this issue. |
420123 |
| Analyzing LabVIEW class VIs with the Sequence Analyzer will prevent dependencies of the class VIs from being edited in LabVIEW | When you include a LabVIEW class VI in the analysis of a sequence with the Sequence Analyzer, TestStand reserves the VI and its dependencies, which you cannot edit from the LabVIEW Development System. Using the Unload All Modules function in TestStand does not release the references. |
433261 |
| Removing an element from a cluster parameter of a LabVIEW code module unmaps all parameters of the code module | When you use LabVIEW code modules that specify a cluster as a VI parameter, and you modify the cluster to remove an element, TestStand will unmap the current inputs to the VI. |
433664 |
| Executing certain VIs with the LabVIEW 2013 Run-Time Engine may cause a -17502 error | In some cases, executing an Express VI, or a VI with array parameters, with the LabVIEW 2013 Run-Time Engine may result in a -17502 error. LabVIEW 2013 SP1 fixes this issue. |
441653 |
| Reentrant dynamic dispatch class VI does not execute when using "Step Into" to debug the VI | Debugging a dynamic dispatch LabVIEW 2013 or earlier class member fails if the VI is re-entrant. You can successfully step into the VI from TestStand, but clicking the Run button does not execute the VI. The VI runs correctly if you do not step into it. This issue does not occur with static dispatch VIs or non-reentrant VIs. LabVIEW 2014 fixes this issue. |
452034 |
| TestStand executions experience long delays in TestStand user interface running in LabVIEW 2013 | When you run a TestStand user interface in the LabVIEW development environment, the second and subsequent sequence executions containing LabVIEW VIs will experience a long delay, up to approximately one minute. This issue is fixed in the LabVIEW 2013 SP1 f2 patch and in LabVIEW 2014. |
452316 |
| LabVIEW can crash when executing a broken VI using the LabVIEW Development Environment if adapter setting "Reserve Loaded VIs for Execution" is unchecked | LabVIEW can crash when executing a broken VI using the LabVIEW Development Environment if adapter setting "Reserve Loaded VIs for Execution" is unchecked. This behavior occurs only if the LabVIEW Development Environment is open before you execute the sequence. TestStand 2014 or later will return an error in this case, indicating that the VI is broken. |
455500 |
| TestStand automatically relaunches the LabVIEW Development System when a LabVIEW step is selected in the Sequence Editor | If you close the LabVIEW Development System, it will immediately relaunch if you select a LabVIEW step in the Sequence Editor after you have returned to that window. |
462209 |
| Including an array of waveform data in a cluster returned from a LabVIEW adapter step may cause incorrect data to be logged | When a LabVIEW step returns a cluster containing an array of waveform data, elements with a lower control order in the cluster may return incorrect data. Elements higher in the control order are unaffected. Additionally, the waveform data may not display in the report. |
476396 |
| VI with multiple outputs of the same type may return incorrect data when called via dynamic dispatch | This issue occurs when the parent implementation of the VI passes the same data to both outputs. When TestStand calls the child VI with dynamic dispatch, the data passed to the output from the parent implementation will be returned to TestStand, regardless of what data the child VI passes to the outputs. |
LabWindows/CVI | |||
433014 |
| Enabling the "External Instance of LabWindows/CVI Adapter" setting uses the oldest supported version of LabWindows/CVI installed on the machine. | The "External Instance of LabWindows/CVI Adapter" setting always uses the oldest supported version of LabWindows/CVI installed on the machine, rather than using the most recently launched version of LabWindows/CVI. |
Miscellaneous | |||
415304 |
| TestStand can hang in some cases when using the Property Loader step in multiple sockets | TestStand can hang if you are using the Property Loader step in the following ways:
This issue occurs as a result of a deadlock in the Property Loader step. |
429223 |
| Build errors occur when building the MultiUUT Example Project with LabWindows/CVI 2013 | When building the MultiUUT example project with LabWindows/CVI 2013, you will receive a build error similar to the following: Link multiuuttests.dll -- Error: Definitions for these types could not be found: Rect, CAObjHandle. The type library cannot be generated until the above types are defined in one of the expected header files, or the typedefs are removed from the list of Function Panel datatypes. This project is located in the following locations: \Examples\MultiUUT\MultiUUT.prj \Tutorial\MultiUUT.prj In TestStand 2014 and later, the MultiUUT.prj example file is located here: \Examples\Parallel Testing\Common\MultiUUT.prj |
448316 |
| UIMsg_ModelState_Initializing UIMessage does not contain the correct numeric data for the current test socket when using the Batch process model | When you use the Batch process model, the numeric data parameter of the "UIMessage_ModelState_Initializing" UIMessage does not contain the correct number for the test socket index. This issue occurs because the UIMessage passes the "RunState.TestSockets.MyIndex" value, which is not valid at the point at which the UIMessage is sent. |
448317 |
| UIMsg_ModelState_EnabledStateSet UIMessage does not contain the correct numeric data for the current test socket when using the Batch process model | When you use the Batch process model, the numeric data parameter of the "UIMessage_ModelState_EnabledStateSet" UIMessage does not contain the correct number for the test socket index. This issue occurs because the UIMessage passes the "RunState.TestSockets.MyIndex" value, which is not valid at the point at which the UIMessage is sent. |
448318 |
| UIMsg_ModelState_Identified UIMessage does not contain the correct string for the batch serial number when using the Batch process model | When you use the Batch process model, the string data parameter of the "UIMsg_ModelState_Identified" UIMessage does not contain the correct string for the batch serial number. This issue occurs because the UIMessage passes the "Paraemeters.UUT.SerialNumber" string instead of the batch serial number string. |
452153 |
| Property Loader may launch slowly when loading properties with deeply nested subproperties for sequence file locals or parameters | In cases where a property in the current sequence file contains deeply nested subproperties for locals or parameters, the Property Loader dialog may appear to hang when launching. The dialog will respond once the hierarchy of subproperties has been processed. |
469533 |
| Signaling NaN numeric values may be incorrectly converted to NAN or IND in some cases | In some cases, numeric data returned from code modules may be incorrectly converted to the NAN or IND constant in TestStand. Specifically, signaling NaNs in other languages may be incorrectly converted to IND, rather than to NAN. Additionally, the documentation for these functions in TestStand incorrectly states that an IND value in TestStand corresponds to a Signaling NaN in Visual C++. An IND value is actually a special case of a Quiet NaN value and appears as a result of certain numeric operations, such as "sqrt(-1)". |
Reports | |||
390048 |
| ATML 5 and XML reports do not display in Microsoft Internet Explorer 9 when the style sheet path contains Japanese characters | If you generate ATML 5.0 or XML reports that specify a style sheet path that contains Japanese characters, the report does not display correctly in Microsoft Internet Explorer 9. In this case, the report displays the raw XML text. |
403032 |
| TestStand does not provide a macro for including a part number in a custom report file path | When you use the Specify Report File Path by Expression option on the Report File Pathname tab of the Report Options dialog box, TestStand provides several macros so you can include TestStand data in the report file path. TestStand does not provide a macro for including the part number. |
423013 |
| ActiveX graph control displays no data plot in reports when viewed in Internet Explorer 11 | When you view reports generated in TestStand, with report options set to "display measurement array data as graph", in Internet Explorer 11, the graphs do not display the plots for the measurement array data. |
424141 |
| Entering an invalid expression for Report Path in Report Options dialog may generate an exception or prevent the dialog from closing | In the Report Options dialog, if you choose to specify a report file path by expression and enter an invalid expression, the dialog will prompt you to fix the expression or ignore it. If you choose to ignore the invalid expression, the dialog will generate an exception. Otherwise, you must fix the expression before exiting the dialog. |
424540 |
| ATML report graphs may display incorrect data on German language versions of Windows | On German language versions of Windows, graphs in ATML reports may contain incorrect data or display improperly. |
440418 |
| ATML report from a sequence with a Numeric Limit Test step, with Run Mode set to "Force to Fail" and a comparison type that uses an expression, will not properly display | If you execute a sequence that includes a Numeric Limit Test step, with its comparison type set to an expression (such as a local variable) and its run mode set to "Force to Fail", and the report is in ATML format, the resulting report will have incorrect tags and will not render correctly in a browser. This issue affects only ATML reports. |
444217 |
| ATML5 reports do not display newline characters properly in ReportText | ATML5 and ATML6 reports do not properly display newline characters in the ReportText field. In these strings, \n is incorrectly replaced with a space. For example, Hello\nWorld displays as "Hello World", instead of the expected result of "Hello" and "World" on two separate lines. |
462200 |
| Test socket reports for Batch model executions may not display properly during execution with Test UUTs entry point | Immediately following a Batch model execution with the Test UUTs entry point, multiple report panes may show the same test socket report, rather than showing each test socket report in its own pane. This issue occurs if the following options are selected on the Report File Pathname tab of the Report Options dialog box: New UUT Report File for Each UUT, New UUT Report File for Each Test Socket, and Store UUT Report in Batch Report File. This issue affects only the temporary reports generated for display in the user interface. All test socket reports are saved in the batch report file, as configured in the settings. |
479179 |
| XML and ATML 2.0 reports may contain broken XML tags when On-The-Fly reporting is enabled | In some cases, when you generate an XML or ATML 2.0 report with On-The-Fly reporting enabled, the report on disk may contain broken XML tags. As a result, the report does not display properly in a web browser. |
TestStand Deployment Utility | |||
237588 |
| TestStand Deployment Utility does not issue a warning when files are not found after moving a TSD file on disk | When you move a TSD file on disk, the TestStand Deployment Utility can sometimes fail to find files, since the paths to these files are mapped to the original location of the TSD file. In this case, the TestStand Deployment Utility does not indicate that the paths to these files are no longer valid. |
277891 |
| TestStand Deployment Utility returns an ambiguous error when building if the TestStand directory and its VIs do not exist in the vi.lib\addons directory | If the TestStand directory and its contents does not exist in the vi.lib\addons directory of the current LabVIEW version, the TestStand Deployment Utility returns the following error when building a deployment that includes LabVIEW files: "Error: Unable to find all subVIs from saved VIs. Either a subVI is missing or the VI is not saved in the current LabVIEW version." |
389135 |
| In the TestStand Deployment Utility, changing the installation directory of a LabVIEW packed project library causes settings to change | In the TestStand Deployment Utility, if you change the installation directory of a LabVIEW packed project library (.lvlibp ), the other settings for the file (Force File to Install and Create Program Item) revert to the disabled state. |
412636 |
| TestStand Deployment Utility incorrectly deploys LabVIEW projects that contain class member calls to a packed project library | If you call a class using class member calls in two different project contexts, such as when you call a VI outside the context of a project but use the class methods in the context of a project, deployments that include the packed project library do not operate correctly. This issue occurs because the TestStand Deployment Utility does not update the sequence properly, and some LabVIEW steps return "VI Not Loadable" errors. |
413692 |
| Moving a TestStand deployment specification file may cause unexpected changes to the Installation Destination Subdirectory for LabVIEW packed project libraries | If you move a TestStand deployment specification file (.tsd) to a new location on disk and enable the "Output VIs to a Packed Library" setting in the TestStand Deployment Utility, the Installation Destination Subdirectory unexpectedly changes from the specified subdirectory. National Instruments recommends moving all dependent files, in addition to the .tsd file, to avoid this issue. |
416202 |
| Misleading error message appears if you enable the "Create Program Item" option in File Properties without specifying a Program Item Name | If you enable the "Create Program Item" option in File Properties without specifying a Program Item Name, you will receive the following error, which does not correctly indicate the cause of the problem, when you build the deployment: "The build contains one or more invalid paths". |
432151 |
| TestStand Deployment Utility build may fail if source files include read-only packed project libraries | The TestStand Deployment Utility may generate an error during the deployment build process if the source file location is read-only and packed project libraries are included in the deployment. |
435105 |
| TestStand Deployment Utility log reports incorrect VI dependencies when missing dependencies are detected | If a dependency of a VI in a TestStand deployment is missing, the TestStand Deployment Utility returns the error, "Error: Unable to find all subVIs from saved VIs. Either a subVI is missing or the VI is not saved in the current LabVIEW version.", and lists the hierarchy of VIs that were not found. However, the TestStand Deployment Utility incorrectly reports that any VI dependencies located in the LabVIEW instr.lib and user.lib folders are missing as well. This issue is fixed in the LabVIEW 2013 SP1 f2 Patch and all later versions of LabVIEW. The issue is fixed in TestStand 2014 for all other versions of LabVIEW. |
460772 |
| Opening .tsd deployment file by double-clicking may cause Error -19000 | In some cases, opening a .tsd deployment settings file by double-clicking it in Windows Explorer may cause an Error -19000 to occur. |
469046 |
| TestStand Deployment Utility may return error -31 while building an installer | In some cases, the TestStand Deployment Utility may generate an error while building an installer. An error message stating "Functions were called in an incorrect order. (Error code -31)" indicates that this issue has occurred. |
475922 |
| Customized FrontEndCallbacks.seq may not be installed properly by a TestStand deployment installer | When you install a TestStand deployment that includes both the TestStand Engine and a customized FrontEndCallbacks.seq file, the customized FrontEndCallbacks.seq file may not install on the deployment computer. This issue occurs because the TestStand Engine installation overwrites the customized version of the file. |
TestStand Engine | |||
248782 |
| Custom type container reports type incompatibility when you use a field of the custom type container as the current element of a For Each loop | When you use a field of a custom type container as the current element of a For Each loop and then attempt to assign the custom type container to a container of the same type, TestStand returns the following run-time error: "Variable or property types do not match or are not compatible." |
404914 |
| TestStand arrays are limited to 5,000,000 elements | TestStand arrays cannot contain more than 5,000,000 elements. In TestStand 2014 or later, array size is limited only by the maximum integer value. TestStand will issue a warning if an array exceeds 5,000,000 elements in 32-bit TestStand or 10,000,000 elements in 64-bit TestStand. You can ignore this warning if necessary. |
405812 |
| Type errors may result when loading a more recent version of a type that is stored only in a sequence file | If a step or data type is stored only in a sequence file, you may encounter errors in some cases when you open another sequence file that contains a newer version of the type. This behavior occurs only when you execute the sequence file that contains the type before you open the file that contains the more recent version of the type. |
405858 |
| Using modal dialog box functions to handle the ApplicationMgr.DisplayCustomRunTimeErrorDialog event results in incorrect behavior | The ApplicationMgr.DisplayCustomRunTimeErrorDialog event allows you to launch a custom dialog box when a run-time error occurs. However, using modal dialog box functions to handle this event results in incorrect behavior when displayed by multiple executions at the same time, because the event handler always executes in the UI thread. |
424211 |
| Engine.SetProductRegistrationInfo and Engine.GetProductRegistrationInfo TestStand API methods do not properly access or set registration information | The Engine.SetProductRegistrationInfo and Engine.GetProductRegistrationInfo TestStand API methods do not save the serial number, name, or company name in the correct location, which prevents the methods from working properly. |
465815 |
| The ResetTypeInstances method behaves incorrectly when updating arrays in custom types | The ResetTypeInstances() API method does not correctly update array values in custom types, such as the default Additional Results in a custom step type. The resulting names and values of the array are blank and do not contain the correct data. |
475371 |
| Incorrect language is displayed when there are multiple language directories present in <TestStand>\Components\Language | In the Localization tab of the station options dialog box, the Language field will display the incorrect value if multiple language folders are present in the <TestStand>\Components\Language directory. This issue does not occur with language folders located in the <TestStand Public>\Components\Language directory. |
TestStand Sequence Editor | |||
406158 |
| Repeatedly undoing operations may cause TestStand Sequence Editor to crash | When you repeatedly perform the Undo operation many times (100 or more times in a row), the TestStand Sequence Editor may report an error and become unstable or crash. |
417712 |
| Adding new default additional results to a custom step type and applying changes to existing instances may not update additional results in the step instances | If you add a new default additional result to a custom step type and choose to propagate the change to loaded instances of the type, the new additional results may not be saved after you close and reopen the sequence file. |
456644 |
| Resource Usage Profiler may display incorrect resource names | When you use an array of resources as the Lock Name input for an Auto Schedule step, the Resource Usage Profiler tool may display an incorrect resource name for the Use Auto Scheduled Resource step. This issue affects the display only and does not affect the execution of the sequence. |
460948 |
| "Index must be within bounds of the list" error may result from selecting a hidden property in the Find pane | If the Show Hidden Properties option is disabled, clicking on a hidden property in the results of a Find search will return the error "Index must be within bounds of the list". This issue occurs only when you select a hidden property. |
466292 |
| Configuring multiple LabVIEW Express VI calls may cause TestStand Sequence Editor to hang | If you configure multiple LabVIEW Express VI calls using the Edit LabVIEW VI Call dialog box, the TestStand Sequence Editor may eventually run out of available GDI objects, which could cause the Sequence Editor to hang. |
TestStand User Interface (UI) Controls | |||
138406 |
| The /run and /runEntryPoint command-line arguments are ignored when no user is logged in | The Application Manager control automatically handles the /run and /runEntryPoint command-line arguments to run a sequence when a user interface launches. However, if you set the ApplicationMgr.LoginOnStart property to "False", the command-line arguments are ignored, even if you also set the StationOption.RequireUserLogin and StationOption.EnableUserPrivilegeChecking properties to "False". |
426179 |
| Expanding the Additional Results container in the Variables View pane while execution is paused at a breakpoint may result in unexpected behavior | While execution is paused at a breakpoint, if you expand an Additional Results container in the Variables View pane, the Variables View will enter an unexpected state and may not respond to user input correctly. |
User Interfaces | |||
438047 |
| Opening the Specify Module dialog for a .NET substep in a custom type palette may result in slow performance | When you edit a custom step type, clicking the Specify Module button for a substep will cause the .NET assembly to be loaded into memory. For large assemblies or large type palettes, this action may result in slow performance when editing the type palette. |
451052 |
| User Interface applications crash when Workspace Browser dialog is launched and path of the workspace is pasted instead of typed | In editor mode of a TestStand user interface, if you open a dialog to browse for a workspace file and paste the path of the workspace into the dialog, the user interface will crash. This issue does not occur when you type the path of the workspace into the dialog. |
456194 |
| TestStand 2012 SP1 .NET assemblies are not installed with TestStand 2013 | TestStand 2013 does not install TestStand 2012 SP1 assemblies into the Global Assembly Cache (GAC) or the <TestStand>\API\DotNet\Assemblies\PreviousVersion folder. For this reason, applications built with references to the 5.0.1.66 version of TestStand assemblies may fail to run properly on a system with only TestStand 2013 installed. |