LabVIEW 8.5.x Known Issues
Overview
This document contains the LabVIEW 8.5.x known issues. It includes the
set of known issues that were included in the LabVIEW
8.5 readme as well as issues discovered since the release of
LabVIEW 8.5 and 8.5.1. Not every issue known to NI will appear on this
list; it is intended to only show the severe and more common issues
that can be encountered.
Each Issue appears as a row in the table and
includes these fields:
- Issue ID - the number in at the top of each of the cells in the first column. When you report an issue to NI, you may be given this ID, you can also find IDs posted by NI on the discussion forums or in Knowledge Base articles.
- Legacy ID (optional) - If an issue has a legacy ID from NI's legacy/deprecated bug reporting database, you will see it appear on a separate line directly below the Issue ID in the table, or to the right of the Issue ID in the table of contents (separated by a space).
- Issue Title: in italics - it describes the issue in one sentence or less
- Problem Description - a few sentences which describe the problem in further detail. The brief description given does not necessarily describe the problem in full detail, and it is expected that you might want more information on an issue. If you would like more information on an issue feel free to contact NI (contact information below) and reference the ID number given in the document.
- Workaround - possible ways to work around the problem. The workarounds that appear in the document are not always tested by NI and are not guaranteed to resolve the issue. If a workaround refers you to the NI KnowledgeBase, please visit www.ni.com/kb/ and enter that KB number in the search field to locate the specific document.
- Reported Version - the earliest version of LabVIEW the issue was reported in. If you discover the issue appears in an earlier version of LabVIEW than is reported in this field, you can report that to NI (contact information below) to have the field updated.
- Resolved Version - version the issue was resolved or was no longer applicable. If an issue has not been resolved "N/A" will be reported.
- Date Added - the date the issue was added to the document
(not the reported date)
Document Organization:
The Known Issues Document is divided into two separate tables appearing in two separate Developer Zone documents. The following document displays the issues by issue category.
Known Issues by Category
The known issues in this document are organized by the category of issue, and sorted by the date the issue was added to the document (not necessarily the date the issue was reported to NI). This table is recommended for use in helping determine if an issue has been reported to us, and is also recommended for users wanting to skim the document to learn of potential issues they may face with LabVIEW 8.5 during development. If an issue has multiple categories, it will appear multiple times in this document. Please refer to Developer Zone Article " LabVIEW Known Issues Categories Defined" for an explanation of the categories and what types of issues are in each category.
Known Issues by Date
For those who wish to locate the newly reported issues, we have also published another version of the known issues table sorted only by date the issue was added to the document.
Contacting NI
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. See www.ni.com/ask to contact us. Also consider contacting us if you find a workaround for an issue that is not listed in the document so that we can add the workaround to the document.
Known Issues by category
The following items are known issues in LabVIEW 8.5.x sorted by category.
| ID | Known Issue | |||||
|---|---|---|---|---|---|---|
| ActiveX and .NET | ||||||
| 47857 3NHFKMSU Return |
ActiveX event unregistration did not execute properly after the VI goes idle If you register an ActiveX event, you must unregister the event explicitly. Otherwise, memory leaks might occur because the ActiveX control does not know that the client has disconnected. Workaround: Always unregister event using "Unregister For Events" node.
|
|||||
| 66867 4D6EI7XX Return |
LabVIEW Throws ActiveX Error 3005 LabVIEW throws ActiveX error 3005 when executing property and invoke nodes that are passed an automation refnum. This is commonly seen in the Database Connectivity Toolset Execute Query VI. Workaround: Use the forward-only cursor type
|
|||||
| 68471 4E485CF2 Return |
Loading VIs Containing References To .NET Assemblies in the GAC Results In Irresolvable Assembly Load Warnings In rare cases, you may receive warnings when loading a VI that calls .NET assemblies in the Global Assembly Cache (GAC): The .NET assembly expected to be at "C:\[PATH]\[VINAME].vi\<GAC>\[Assembly Name]" was loaded from "<GAC>\[Assembly Name]". You may also receive error 1003 when building an application with VIs that call .NET assemblies in the GAC, indicating "The VI is not executable." Opening the VIs will produce the load warnings mentioned above. Neither saving the VI nor reconfiguring the .NET nodes will resolve this. Workaround: 1. Open the VI. 2. Delete all .NET nodes that reference the specified assembly(s). Also, delete any .NET refnum controls or indictors that reference the specified assembly(s). Note, this will break the VI. 3. Save and close the VI. 4. Reopen the VI and verify you do not get the GAC warning message. 5. Close and restart LabVIEW. 6. Open the VI. 7. Recreate the VI components you deleted in step 4. 8. Save and close the VI. 9. Open the VI (and if applicable, build the application) and verify you do not get the .NET load warnings. 10. Repeat this for all VIs and controls that contain .NET nodes or .NET refnums that reference the specified assembly(s). Note: When loading a VI that calls other VIs that you have already fixed, they will be re-broken in memory. Therefore, do not save the subVIs upon saving and closing the top-level VI. Doing so will re-break those subVIs. To be safe, apply your workaround with a top-down approach starting with the top-level VI and working down towards the subVIs.
|
|||||
| 53386 4G51T2U1 Return |
VI saved without diagram breaks when it contains .NET reference Distributing a VI which contains .NET functionality (especially a callback function) fails when the option "Remove Block Diagram" is enabled. Workaround: Do not save the VI without a block diagram.
|
|||||
| 105336 Return |
Using an ActiveX Document control can crash LabVIEW Wiring an Activex Document Control (a special type of ActiveX control not commonly used with LabVIEW) with the 'create document' option to a property node, it crashes LabVIEW without any error notice. Workaround: N/A
|
|||||
| Building and Distributing LabVIEW Applications | ||||||
| 65977 4CM921LJ Return |
Shortcuts Added in Installers Are Not Created Properly When creating an installer in LabVIEW 8.5 and creating shortcuts to files included in extra project folders, the shortcuts do not populate correctly in Application Builder, and if a file is selected, it may be linked to the wrong file on the install target. Workaround: More information on this problem, and the National Instruments recommended workaround can be found in KB 4EGEL6HY available on ni.com. If you need an alternative to the workaround presented in the KnowledgeBase, you can create separate folders for each file you need to have a shortcut created for instead of putting them all in one
|
|||||
| 66547 4D3CTJLV Return |
Cannot register DLL as a COM file in LabVIEW 8.5 when building an installer In the LabVIEW 8.5 Application Builder when building an installer, "Register COM" cannot be selected for a DLL in order to register it with Windows. Workaround: More information on this problem, and the National Instruments recommended workaround can be found in KB 4EGEL6HY available on ni.com. If you need an alternative to the workaround presented in the KnowledgeBase, you can build an installer which runs a bat file after installing to register your COM object (see the LabVIEW help for further information) or use System Exec.vi to register the DLL in the code.
|
|||||
| 65891 4CKERKC3 Return |
Building an application that contains a VI that has a static VI reference to itself throws Error 7 Building an application that contains a VI that has a static VI reference to itself fails throwing the following errors: "LabVIEW cannot find a file that is a dependency of a Startup, Exported, or Always Included VI. File Not Found: The missing file might be referenced by one of the libraries included in the build or by the file - test.vi." or "Error 7 LabVIEW: File not found. The file might have been moved or deleted, or the file path might be incorrectly formatted for the operating system. For example, use \ as path separators on Windows, : on Mac OS, and / on Linux. Verify that the path is correct using the command prompt or file explorer." Workaround: Don't use static VI references, instead use the Open VI ref prim, passing it the the Current VI path constant.
|
|||||
| 58644 4E9DE968 Return |
Application Builder does not allow Startup VIs to Use VI Setting for the Run When Opened option When configuring the Source File Settings for an executable build specification, checking Use VI Setting for the Run When Opened option and then saving the build specification does not retain the change. When opening the build specification, the Use VI Setting checkbox will be unchecked. Workaround: Configure whether or not the Startup VI will Run When Opened in the build specification (leave Use VI Setting unchecked).
|
|||||
| 67286 4DH8D5QK Return |
Duplicate Files Displayed Within the Installer Properties in 8.5 When adding support files to an installer (build specs), files can appear to be duplicated within the Destination View. Workaround: More information on this problem, and the National Instruments recommended workaround can be found in KB 4EGEL6HY available on ni.com. If you need an alternative to the workaround presented in the KnowledgeBase, you can use an auto-populating folder that points to the data folder (after building the executable).
|
|||||
| 68528 4E2BHO5U Return |
Installer builder source files page shows wrong file names for class members When including override VIs from LabVIEW classes in an installer, the wrong file names are added to the Destination View. This issue also affects build specifications created in previous versions of LabVIEW imported to 8.5 (but not 8.5.1 or later). Workaround: More information on this problem, and the National Instruments recommended workaround can be found in KB 4EGEL6HY available on ni.com.
|
|||||
| 99475 Return |
Error 1 on first build of application when using custom error codes When you create custom error codes and select the "Copy error code files" when building an executable, the build may fail on the first attempt with an Error 1. Workaround: After seeing the error, build the application again for a successful build.
|
|||||
| 112751 Return |
Build Errors when VI Names are Identical but Capitalized Differently A build error occurs when building applications (executables) with VIs (including Dependencies) that have identical names and only differ in their capitalizations. The build ends up being unsuccessful with the Possible Reasons being "Error Copying Files". The VI listed in the error window is the VI which has the similar name. Workaround: Use LabVIEW Search (Edit Menu»Find Project Items) to find the VIs which have the same name and rename them to make the capitalization identical.
|
|||||
| 122079 Return |
Build Specification Ignores Remove Front Panel and Block Diagram Flags for the Dependencies Node The Application Builder Build Specification ignores the remove front panel and block diagram flags at build time. The build always uses the default values of this flag whereby it removes the front panel and block diagram. The problem and workaround apply for both executable and source distributions. Workaround: To change the Settings to not remove front panel and/or block diagram, do the following. 1) Uncheck or Check "Remove front panel" and/or "Remove block diagram" in the Source File Settings page of the Build Specification 2) Change one common VI Property (example: "Allow debugging" is a good one to change since debugging requires a block diagram which you intend to remove anyway) that can be changed for every dependency (all contained items). Change it using the "Customize VI Properties" Dialog Box which is also found in the Source File Settings page of the Build Specification
|
|||||
| 51179 47B12U5U Return |
Error 6 occurred at Create Folder in Create Directory Recursive.vi When Creating a Source Distribution, the build process fails with Error 6. This usually happens if the folder or file name is too long and the "Preserve Hierarchy" option of the Source Distribution is selected. Workaround: Use a shorter path or do not preserve hierarchy.
|
|||||
| Controls and Indicators | ||||||
| 50061 42NAR8SA Return |
Center justified tables display improperly when overlapping with the front panel origin When you add a table control to the front panel so that it overlaps with the vertical origin of the front panel, LabVIEW displays center justified columns off center when you type text. The cells appear to float or move horizontally until aligned with the vertical origin. Workaround: Move the table away from the front panel's vertical origin.
|
|||||
| 51311 477DKPBQ Return |
LabVIEW does not maintain child-only item setting when dragging an item within a tree If you have a tree item with the child-only setting, and then drag it within the tree, LabVIEW loses the child-only setting. Workaround: Use tree events to (1) get the child-only flag setting when the user begins a drag, and (2) reset the child-only flag after completing a drop.
|
|||||
| 52297 4AIFC0R0 Return |
Internal error related to locked tab control at fpsane.cpp line 369 and line 367. If you lock a tab control that is already locked using Group»Lock, you might see two internal errors and LabVIEW may crash. Workaround: Do not lock a control that is already locked.
|
|||||
| 88787 3J0A89J1 Return |
Zero element clusters not reported as an error for Type Defs/Custom Controls Type Defs should not contain zero element clusters, but LabVIEW does not report an error if you have a type def with zero elements. Workaround: This behavior has existed in LabVIEW for a very long time; this issue will be removed from the Known Issues Document in future versions. Please contact NI if you have questions on this issue.
|
|||||
| 91672 477M7K00 Return |
Large amounts of data in combo box can appear to hang LabVIEW. If you place a large amount of data in a combo box, on the order of megabytes, LabVIEW appears to hang by taking a long time to calculate wrapping. Workaround: N/A
|
|||||
| 66461 4CUGA5RK Return |
Programatically Increasing Stacked Plot Chart Legend at Run-Time Crashes LabVIEW If you programmatically increase the size of the plot legend through the property LegNumRows when using the stacked plot option of a waveform chart, often times, LabVIEW will crash with a DWARN in alloc.cpp line 655 or a DABORT in ThEvent.cpp line 190. Workaround: Two potential workarounds: 1. If you write to the plot before you change the number of plots visible, then LabVIEW crashes less often. It appears to crash most often when you try to increase the number of plots before LabVIEW has allocated memory for the additional plots. If you are changing the number of plots while LabVIEW is writing to the indicator in a loop, it appears that it still crashes pretty often. This is only a partially viable solution, and only works if you can stop updating the chart while it resizes. 2. Place the stacked plot in another VI and show it on the front panel via a sub-panel. Then use VI server to programmatically update the chart. Another workaround from a customer: Since it is ok to reduce the number of displayed plots on a chart (but not ok to increase it), initialize the program with maximum expected number of plots and then allow the user to reduce from there. If the user wants to increase the number of plots, they must restart the program.
|
|||||
| 66776 4CUDBIVB Return |
Cannot Save Variant Data Returned by the LabVIEW ActiveX Server as a Control/Indicator's Default Value. Cannot save variant data returned by the LabVIEW ActiveX Server as a control or indicator's default data. Saving the VI returns error: "LabVIEW: Memory is full. Cannot save VI [name of VI]. LabVIEW Save error code 10: Default data space."Workaround: Use the VI Server interface instead.
|
|||||
| 64101 4B1CC3V9 Return |
Scrolling graph's cursor legend corrupts front panel redrawing. Controls and Indicators on front panel have become either totally invisible, distorted, or corrupt. This can happen if your front panel has a waveform graph with the cursor legend visible. If your graph has multiple cursors and a scroll bar in the legend the front panel image can become corrupt if you have scrolled to the very bottom of the cursor legend's list of cursors. Workaround: Because this problem is due to the cursor legend, to fix the problem, replace any waveform graphs with another waveform graph (right click graph and click replace), then minimize and restore the LabVIEW front panel window and repeat for any waveform graphs which had a visible cursor legend. After your controls are restored, expand the cursor legend such that there is enough room to display your cursors without a scroll-bar.
|
|||||
| 66538 4CU3C5QW Return |
Updating a Typedef that Contains a Refnum that Contains a Cluster can Make LabVIEW Crash Updating a typedef that contains a refnum to a cluster can make LabVIEW crash. Workaround: N/A
|
|||||
| 41148 4D1JQKJ7 Return |
Unable to change the Display Format for Y-axis in a dynamic data type Waveform Chart/Graph The display format for the y-axis cannot be changed in a waveform chart/graph if it is configured to receive the dynamic datatype (i.e. it will be blue on the block diagram). Workaround: Configure the y-axis formatting when the graph is not in dynamic datatype mode by deleting any dynamic data wires and rewiring with a waveform. Then you can rewire with the dynamic data.
|
|||||
| 67199 4D97A7ST Return |
LabVIEW crashes when deleting a scale that has a cursor attached to the last scale in the scale list With two scales on a waveform graph, when you delete a scale that has a cursor attached to it, LV crashes. Workaround: To avoid this problem, retarget a cursor to the appropriate plot before deleting the scale.
|
|||||
| 41224 4DA24FXR Return |
Cannot display extended types on intensity plots In LabVIEW 8.0 and newer, when you wire extended precision type numbers to an intensity graph or chart you get a different looking plot than with the same double-precision numbers. Workaround: Use the data type conversion functions to convert your data to double precision representation.
|
|||||
| 41596 4DK867QQ Return |
Right-Clicking on Intensity Chart/Graph Scale Legend Crashes LabVIEW Right-Clicking on Intensity Chart/Graph Scale Legend Crashes LabVIEW. Workaround: N/A
|
|||||
| 67400 4DHETOCB Return |
Enum Property Node RingText.Text Crashes LabVIEW Writing a value to the RingText.Text property of an enum control causes LabVIEW to crash in either fpsane.cpp line 367 or FPDCO.cpp line 1838. Workaround: Use a text ring control instead of an enum.
|
|||||
| 68620 4E3I4TVB Return |
Digital Waveform Graph Cursor Legend Does Not Show Correct Y-Values Digital Waveform Graph Cursor Legend Does Not Show Correct Y-Values Workaround: N/A
|
|||||
| 43116 4FQ6JR1G Return |
Duplicate Case Crashes with "Delete/Copy panel terminals from diagram" Disabled The Block Diagram option "Delete/Copy panel terminals from diagram" allows front panel terminals to be copied/created by copying the block diagram terminal. If you disable this and ask LabVIEW to duplicate a case that has a terminal, LabVIEW crashes. Workaround: Enable the "Delete/Copy panel terminals from diagram", duplicate your diagram then delete the undesired terminals or use the Add Case instead.
|
|||||
| 70707 4FF2R30G Return |
Crash When Passing a True to a SubVI Boolean with "Latch Until Released" Mechanical Action LabVIEW 8.5 crashes when you pass a boolean value to a SubVI where the receiving control is set to mechanical action "Latch Until Released" Workaround: Set mechanical action in SubVI control to anything but "Latch Until Released"
|
|||||
| 37476 44H8J3ZP Return |
Digital Display Legend Doesn't Adjust for Number of Plots in Executable In the LV Development environment, when the number of plots are changed dynamically, the Digital Display for each plot is dynamically added or removed from the legend. However, when run in an executable, the plot glyph is updated correctly, but the digital displays is not added or removed when the number of plots is changed dynamically. Workaround: Please refer to NI KB 2I6H445F for more information about this problem and workaround.
|
|||||
| 59242 4GB6DJ0G Return |
LabVIEW 8.5 crash when replacing modern waveform chart or graph with visible scrollbar to classic waveform chart or graph When you enable the visible scrollbar in the graph or chart's plot legend, and then replace the chart or graph with a classic control or indicator through the right-click menu LabVIEW crashes. Workaround: Disable the scrollbar before replacing the chart or graph.
|
|||||
| 43109 4FRF0826 Return |
Cannot customize plot legend with background image in LabVIEW You cannot configure a plot legend with a custom background image in LabVIEW. Workaround: Make the color of the plot legend transparent, and place the image behind it. This only works if your plot legend remains a fixed size in a fixed location.
|
|||||
| 59426 4GQA4KNO Return |
Sweep Chart with Large History Length Crashes LabVIEW Sweep charts configured with a large history length (multiple thousands of points) and an autoscaling X axis will cause LabVIEW to crash after the first sweep. Decreasing the chart history length afterwards does not prevent the crash from occurring. A new chart must be created and configured. Workaround: Use either the Strip or Scope Chart update methods or use a smaller Chart History Length.
|
|||||
| 45133 4I0976O4 Return |
The coercion of an enum through its digital display behaves differently in the development environment than in a LabVIEW executable. The coercion of an enum through its digital display behaves differently in the development environment than in a LabVIEW executable. Neither produce an out of range value, but one coerces to the last entry in the enum, the other leaves the enum unchanged. Workaround: Use an event structure to capture value change filter events and restore the enum to the value you choose. You can also disable the digital display for the enum.
|
|||||
| 103297 Return |
Changing a Text Ring Control to Fixed Point Representation Crashes LabVIEW Workaround: N/A
|
|||||
| 100580 Return |
Dropping control references may cause Data Change event for XControl Dropping a control/indicator reference onto a VI that is hosting an XControl, whose data type is an array, will cause a Data Change event to be handled by the facade VI of the XControl. Workaround: N/A
|
|||||
| 118949 Return |
Tab control local variables generate value change events when you use a multi-column listBox A value change event is generated when a Tab Control local variable's value is changed in an Event Structure that was triggered by a double-click/ value Change on a multi-column listBox.. Workaround: Use Value Property Node for the Tab Control instead of Local Variable to change the Tabs.
|
|||||
| 119444 Return |
Mulicolumn listbox format lost on upgrade A Multicolumn listbox created in LV 7.1 may lose its format when opened in LV 8.5 or later. Column headers lose their 3D appearance and font formatting might be lost. Workaround: Replace the Listbox and recreate all customizations
|
|||||
| 122856 Return |
The XControl Facade does not get the Panel Resize event when the XControl is inside a re-entrant clone The XControl Facade does not get the Panel Resize event when the XControl is inside a re-entrant clone. All other initializations happen as expected. Workaround: Read and Write the "Container Bounds" (using Property Nodes) of the XControl in the re-entrant VI to force the panel resize to occur. The read and write operation should be performed only once in the re-entrant VI
|
|||||
| 122857 Return |
Bundle by Name does not work for XControls which contain Cluster Typedefs XControls which contain Cluster Typedefs cannot have their values modified by using the Bundle by Name option. Workaround: Use the Value Property Node for the Control/Indicator in the Cluster to change it's value directly.
|
|||||
| 57016 44DLSS7Q Return |
Major grids disappear on waveform graphs under certain circumstances The major grids on waveform graph disappear for some X-scale values when the graph width is between 415 and 703, and the X axis is set to relative time Workaround: Adjust the Plot Area Size to an appropriate width so that the grids show again. OR Do not use relative time.
|
|||||
| DataSocket | ||||||
| 37020 4A37JOV9 Return |
DataSocket functions do not handle Domain security correctly. The DataSocket Open function returns error 1179 for any attempt to connect to a shared variable that has security enabled, even if the correct user is logged in. Workaround: Drop a shared variable node on the block diagram and run the VI once; you can delete the variable node and DataSocket security will continue to work.
|
|||||
| 46630 2VO0SF00 Return |
DataSocket/OPC Leaks Memory when repeatedly using ActiveX VIs to perform open-write-close If you call the DataSocket Open, DataSocket Write, and DataSocket Close functions in succession repeatedly, LabVIEW leaks memory. Workaround: To correct this problem, call the DataSocket Open function once, use the DataSocket Write function to write multiple times, and then use the DataSocket Close function.
|
|||||
| 46965 38ECIGX3 Return |
DataSocket HTTP protocol does not work in a LabVIEW built DLL You cannot use the http protocol with the DataSocket VI and functions in LabVIEW-built shared libraries. Workaround: N/A
|
|||||
| 47103 3BS49JS8 Return |
Dialog box and open datasocket conflict If a dialog box is already open, you cannot use the DataSocket Open function. Workaround: This is due to threading deadlock in LabVIEW -- both attempt to utilize the UI thread. Avoid using dialog boxes when other threads require the UI thread in this and future versions of LabVIEW.
|
|||||
| 47977 3OLE2573 Return |
DataSocket and Fixed Size Array Do Not Work You cannot use front panel DataSocket data binding with fixed-sized arrays. Workaround: Uncheck autopreallocate arrays and strings in the VI properties execution category for all VIs not intended to run on an FPGA.
|
|||||
| External Code | ||||||
| 59247 4GBEB2V9 Return |
LabVIEW crash when calling DLL using Maximum Error Detection When maximum error detection is enabled in your Call Library Function Node, if you pass a string to a DLL and you don't specify a minimum size, LabVIEW can crash, return bad data, and/or an error message. Workaround: Use no error checking or default error checking on your DLL, or set a minimum string size through the Call Library Function configuration dialog.
|
|||||
| File I/O | ||||||
| 47436 3IKBUP99 Return |
Zip build provider and Zip VIs do not support multi-byte character encodings. The Zip build provider and the underlying Zip API provided in the File I/O palette do not support paths with multibyte character encodings. Some upper or lower bytes of multi-byte characters decode into disallowed ASCII characters when not configured correctly. Workaround: Ensure that the full filepath to zipped files does not contain multi-byte characters.
|
|||||
| 47819 3N68LE00 Return |
2GB file size limit of datalog files The maximum size of datalog files is 2 GB. Workaround: N/A
|
|||||
| 53421 4G9A4D00 Return |
Calling TDMS Read Multiple to Read String Data Causes Memory Leak A memory leak will occur when calling TDMS Read multiple times to read string data. This can happen if calling multiple instances of TDMS Read or are calling TDMS Read in a loop. Workaround: Create a property for each data value and store the string value as the property value.
|
|||||
| 69273 4EM9CC70 Return |
Calling TDMS Read Multiple Times to Read String Data Causes Memory Leak A memory leak will occur when calling TDMS Read multiple times to read string data. This can happen if calling multiple instances of TDMS Read or are calling TDMS Read in a loop. Workaround: Create a property for each data value and store the string value as the property value.
|
|||||
| 58848 4F5HD99A Return |
Open/Create/Replace Datalog.vi does not show confirmation message when "replace or create with confirmation" is selected Workaround: Write custom code to first detect whether or not the file exists and give a custom dialog.
|
|||||
| Functions, VIs, and Express VIs | ||||||
| 37575 3PD8N0M8 Return |
LabVIEW uses large amounts of memory when reading an entire wave file at once The Sound File Read VI uses large amounts of memory to read an entire .wav file. Workaround: Read the data from the .wav file in sections rather than in one large file.
|
|||||
| 39161 401FEQTL Return |
The device ID input of the Play Sound File VI does not work on Windows On Windows, LabVIEW ignores the device ID input of the Play Sound File VI. This VI plays sound only on the default sound card. Workaround: Use the Sound Output Configure VI and the Sound Output Write VI with the Sound File Open VI and the Sound File Read VI or the Sound File Simple Read VI. Refer to the Sound File to Sound Output example VI for an example of this workaround.
|
|||||
| 41530 4DJFJM00 Return |
Advanced Storage VIs Do Not Work in a LabVIEW Development System with a Different Language If you move the Advanced Storage VIs to a LabVIEW development system with a different language, the VIs do not work because the object types and property names do not match the names in other languages. Workaround: To correct this problem, use the internal, language-independent object types and property names. Refer to KnowledgeBase 377C3NHB at ni.com for more information about correcting this problem.
|
|||||
| 41531 4DJFK100 Return |
If you create a new, untitled VI while using the Storage VIs, the numbering of the untitled VI might be inconsistent. Workaround: This issue is does not appear to be reproducible in LabVIEW 8.5
|
|||||
| 47891 3NRGJTI7 Return |
Sound Output Set Volume VI doesn't set the volume on a per-channel basis The Array instance of the Sound Output Set Volume VI does not use the volume input to set the volume on a per-channel basis. Instead, this VI uses the first element of the volume input as the sound level for all channels. Workaround: N/A
|
|||||
| 48016 3P7CBB4Q Return |
Unsigned int32 loses value in formula node when you write to the most significant bit If you wire a hex value greater than x7FFFFFFF as an unsigned, 32-bit integer to a Formula Node, LabVIEW coerces the value to 0. Workaround: Use signed 32-bit integers instead of unsigned 32-bit integers in the formula node.
|
|||||
| 50420 44CG88SN Return |
Update the Pulse Transition Measurement Express VI The terminology and measurement definitions for the Transition Measurements VI comply with IEEE Standard 181-2003, IEEE Standard on Transitions, Pulses, and Related Waveforms. However, the Timing and Transition Measurements Express VI does not comply with this IEEE Standard. Workaround: The Slew rate refers to the transition slope. The Preshoot refers to the pre-transition undershoot (rising pulse) or the pre-transition overshoot (falling pulse). The Overshoot refers to the post-transition undershoot (rising pulse) or the post-transition overshoot (falling pulse).
|
|||||
| 51084 4709CDDV Return |
Match Regular Expression function might cause stack overflow with some inputs Certain regular expressions might cause a stack overflow on large input strings. Some regular expressions might recurse repeatedly while LabVIEW attempts to match a large string that might overflow the stack eventually. For example, the regular expression (.|\n)*A and a large input string might cause LabVIEW to crash. Workaround: Rewrite the regular expression to avoid recursion. For example, to avoid recursion you can rewrite the regular expression (.|\n)*A as (?s).*A. The (?s) notation indicates that a period (.) matches new lines. You also could rewrite the expression more efficiently as [^A]*A.
|
|||||
| 52263 4AJA41TQ Return |
Some operations on integer waveforms lose dt value Some functions, such as Absolute Value and Logarithm Base 10 operate as you expect with DBL Waveforms, but when you apply the same functions to an I16 waveform, for example, the Absolute Value function works as you expect while the Logarithm Base 10 function loses the sampling interval dt value. LabVIEW resets the sampling interval dt value to 1.00. Workaround: Extract the Y-array of the waveform and perform the needed operations on Y before re-building the waveform.
|
|||||
| 54942 41CE6I39 Return |
Storage VIs do not recognize DIAdem date/time channels The Storage VIs do not recognize the date/time format used in DIAdem date/time channels. When you use the Storage VIs to read data from a DIAdem date/time channel, LabVIEW converts the date/time data to a double-precision, floating-point number that represents the number of seconds since 01/01/0000. Workaround: After LabVIEW converts the DIAdem date/time data to a double-precision, floating-point number, you can convert the double-precision, floating-point number to a more meaningful value.
|
|||||
| 90497 3YJ87JCM Return |
Write to Clipboard Method takes minutes and a lot of CPU If you try to copy a large amount of data from LabVIEW to the clipboard, LabVIEW slows significantly and might become unresponsive. Workaround: N/A
|
|||||
| 92298 4AOEJ5F2 Return |
FP:Get Image, FP:Get Image Scaled, Print:VI to HTML, Print:VI to RTF, and Print:VI to Printer methods do not properly generate off-screen cluster images These methods generate an incorrect image of the front panel when it contains off-screen clusters and the contents of all off-screen clusters appear blank in the generated image. This issue only affects the FP:Get Image and FP:Get Image Scaled methods when the Visible Area Only parameter is set to False. Workaround: N/A
|
|||||
| 65534 4CFADPDX Return |
Replace Array Subset Broken for 3D (or Higher) Arrays Replacing a subset of an array with more than 2 dimensions (i.e. a 3D array) causes a broken wire and the VI to break. 1D and 2D arrays do not have this problem. Workaround: N/A
|
|||||
| 65723 4CKGJ6Q7 Return |
UDP Write Hangs LabVIEW When Called in a Loop with a High Loop Rate Writing data at high rates using the UDP Write function within a loop can cause LabVIEW to hang and display a Resetting VI dialog. The rate at which UDP Write can be called in a loop is dependent upon the size of the data being written during each call to the function. Workaround: Use the Wait until next second multiple function to control the loop rate and therefore how fast UDP packets are written.
|
|||||
| 67753 4DO78989 Return |
Compiler error when using some strings with Max & Min When using sub-strings (string output of some string functions such as "Match Pattern") with the Max & Min function, compiler error "copy cvt, csrc=0x3F" is generated and the VI fails to compile with broken run arrow and message "VI Failed to Compile." Workaround: Insert an always copy primitive between the wire between the "before substring" output of the Match Pattern function and the input of the Max & Min function
|
|||||
| 67948 4DP855N3 Return |
Write to Binary File function writes incorrect data when writing manipulated arrays When an array of data is written to a binary file, if the array is manipulated in a way that produces sub-arrays to be written to the file (such as through transposing the array or through indexing sub-arrays out of a multidimensional array) the data written to file can be incorrect. Workaround: If you do any array operations such as index array or transpose array, before writing the new array to the write binary file primitive, insert an Always Copy primitive on the wire. A copy will be made, but it will write the correct values to the file. Alternatively, you can use Flatten to String function to flatten data into a string before writing to file.
|
|||||
| 68695 4E4ERDTP Return |
Compiler Error in VI with compound arithmetic primitive taking array and float inputs A VI containing a compound arithmetic function with 4 or more inputs will cause LabVIEW to be unable to compile with "VI Failed to Compile" error if the inputs to the compound arithmetic function are a branched floating point number, and a branched array wire that has been manipulated (such as through a mathematical function like Cos). Workaround: Use an always copy primitive on one of the wires branching from the floating point input (as opposed to an array input).
|
|||||
| 68217 4DPRHHV Return |
Write To Measurement File Express VI in a loop always resets each iteration causing multiple channels to be written Writing data to a TDM file with the Write To Measurement File VI in a loop resets the file each loop iteration creating multiple channels of data in LabVIEW 8.5. Workaround: N/A
|
|||||
| 58548 4E78KBXE Return |
The Split Signals function does not properly generate output terminals When expanding the Split Signals function to allow for multiple output signals, the Split Signals function does not properly generate output terminals to allow for wire connections to those output signals. Workaround: Grow the Split Signals function up from the top instead of down from the bottom.
|
|||||
| 68979 4EFEMMWB Return |
Non-Functional Formula Express VI for Base Development System In the base development system for LabVIEW 8.5 the Formula Express VI appears as a empty icon and is non-functional. This Express VI is functional in the full and professional Development systems. This can also result in LabVIEW load error code 37 if attempting to open a VI with the Formula Express VI that is saved in a previous LabVIEW version. Workaround: Use LabVIEW in evaluation mode for 30 days or use the following work around: In the Functions Palette select "Select a VI..." and choose the function found at: "C:\Program Files\National Instruments\LabVIEW 8.5\vi.lib\express\express arith-compare\FormulaBlock.llb\Ex_Inst_Formula.vi" In order to permanently add this to the Functions Palette, point the user to the LabVIEW Help Topic Editing a Palette Set. Note: Users should be aware that if they migrate to using the different version of the Express VI, they may not get the improved behavior on a future upgrade as we continue to improve this VI.
|
|||||
| 68232 4E1B60P2 Return |
Unzip.vi returns "Error code 2, System Exec.vi." when trying to unzip The Unzip.vi located in the Zip palette of Labview 8.5 throws an error when trying to extract the content of some zip files. Workaround: N/A
|
|||||
| 68790 4EB7N9NK Return |
Compiler error when constant wired to TCP write connection ID LabVIEW gives the compiler error "bad dsoffset, dso=-1" when a connection id constant is wired to the connection ID terminal of the TCP write primitive. Workaround: N/A
|
|||||
| 68872 4EBC79AG Return |
Dabort crash in MemoryManager.cpp error 406 when feedback node handles subarray or substring types When an array of data or string is wired to a feedback node, if the array or string is manipulated in a way that produces sub-arrays (such as through transposing the array or through indexing sub-arrays out of a multidimensional array) or substrings (such as through Split/Search String) LabVIEW crashes with an error in MemoryManager.cpp line 406. Workaround: Replace feedback nodes with shift registers, or insert always copy function between transpose array and feedback node terminal.
|
|||||
| 69463 4EH5G5TQ Return |
LabVIEW crashes when exporting a graph or chart as BMP or EMF image to clipboard in a LabVIEW executable. A LabVIEW Executable will crash when exporting an image of an XY graph, waveform graph, or waveform chart, as a BMP or EMF format. VIs doing the same thing in the development system do not crash. Workaround: N/A
|
|||||
| 53130 4EM7J8WQ Return |
The Formula Express VI Can Produce Incorrect Results When All Inputs Are Integers The numeric representation of a Formula Express VI's 'Result' output terminal is dependant on the representation of the inputs, regardless of the mathematical operations used. For example, if the inputs to the Formula Express VI are all integers and the mathematical operation is division, the result will also be an integer. This is inconvenient when using divisions, logs, etc. as LabVIEW normally coerces inputs in numerical operations when necessary. Workaround: Insert a 'To DBL Precision Float' in the wire of any of the formula inputs to change the 'Result' representation to DBL.
|
|||||
| 69820 4ETCLK2A Return |
LabVIEW 8.5 can crash due to out of range values wired to the DisabledItems[] property node for rings and enums The DisabledItems[] property for named numeric types (Rings and Enums) accepts an array of integers which represent indices to disable. If this array is empty or contains negative numbers LabVIEW memory can be corrupted which can cause either an immediate crash, a delayed crash, or undefined behavior. Workaround: Instead of wiring in an empty array or an array with a negative number to the disabled items (which can cause a crash), wire in an array with an element larger than the highest index of the ring whose disablesitems[ ] is being set. This will enable all the ring items, but since there is no valid disable index, it will leave the ring enabled.
|
|||||
| 70577 4FFFDF7U Return |
Number To Fractional String Uses Incorrect Precision With Doubles When passing a double (DBL) number to the precision input of the Number To Fractional String, it appears the output string uses a precision of 0. When coercing the double to an I32 before passing it to the precision input, the output string uses the specified precision. Workaround: Coerce the DBL value to an integer, using a To Long Integer function, before passing it to the precision input terminal.
|
|||||
| 59547 4H6HORHZ Return |
"Quotient and Remainder" function improperly coerces to I64 and can return incorrect value "Quotient and Remainder" function coerces values to highest bit width. If you are dividing an I64 by an I32 the 32 bit number shows a coercion but the quotient returned is incorrect. If you convert using the To Quad Integer the quotient is computed correctly. Workaround: Convert non 64-bit integers to the I64 type using the "to quad integer" function before wiring to the "quotient and remainder" function.
|
|||||
| 50327 4436ATN3 Return |
To More Specific Class to an XControl returns an error in built applications To More Specific Class to an XControl returns an error in built applications even when the cast is valid. Workaround: Use a generic Typecast node instead.
|
|||||
| 94566 Return |
Probes on a cluster containing an IMAQ image always fail to load Right-clicking to create a probe on a cluster that contains an image returns error "Failed to load or create probe". This worked in LabVIEW 8.0 and 8.2. Workaround: Create custom probe without IMAQ image.
|
|||||
| 96735 Return |
Wiring Invalid File Refnum to Deny Access function crashes LabVIEW When using the Deny Access primitive, if an invalid reference number (including a null reference constant) is passed to this reference input of the function, it will crash LabVIEW. Workaround: Ensure an invalid reference number isn't passed to this VI.
|
|||||
| 101959 Return |
LabVIEW crash when comparing string to a control refnum of a sub-vi LabVIEW crash when comparing string to a control refnum of a sub-vi using an equal or not equal primitive for the comparison. In previous versions the VI would give a broken arrow for this operation. Workaround: Use the property node to get the Label.Text instead of comparing the control refnum directly.
|
|||||
| 118373 Return |
Subtraction and subsequent Add or Subtract operations using 2D array types might produce incorrect results with 64-bit integer data types Adding or subtracting 2D arrays when using array controls (as opposed to constants) with I64 or U64 representation can return incorrect results. This also affects any other add/subtract operation that maybe wired to one of the array controls. However, independently the add function is not affected. This occurs in LabVIEW 8.0 and 8.2 as well. Workaround: This does not happen in all cases; if the 2D array is wired through functions or if other operations occur before the initial subtraction the problem may not exist. If you test the code and discover the problem, multiply the second input to the subtract by -1 and replace your subtract with an add primitive. Add a note to your code where this operation is done so that future reviewers of you code understand why you implemented this workaround.
|
|||||
| 118106 Return |
Variant To Flattened String and Flattened String To Variant Do Not Support Fixed Point Data Type The Fixed Point data type is not supported by the Variant To Flattened String and Flattened String to Variant functions. You may see a crash when trying to unflatten this datatype in conjunction with an empty fixed point array. Workaround: Either use a supported datatype or do not use the Variant.
|
|||||
| 120686 Return |
Write to LabVIEW Measurement Files (LVM) using Express VIs takes up a lot of memory The "Write to Measurement File" Express VI consumes a large amount of memory when writing to a Text File (LVM). However, the memory usage is smaller when the same Express VI is used to write a TDM/TDMS File Workaround: Use general LabVIEW VIs (and not Express VIs) to perform an LVM write for large amounts of data. The other option would be to write in smaller chunks.
|
|||||
| 122057 Return |
Joining Numbers of Different Widths Produce Unexpected Values The Join Number VI produces different results when the inputs are of different widths/sizes. Workaround: Explicitly cast to same size before joining.
|
|||||
| 125328 Return |
Improper Addition and Subtraction when I32 2D arrays are coerced to work with I64 2D Arrays If a 2D array of I32 is added/subtracted with an I64 2D Array, the output is usually wrong. In the addition case, it generally would be twice the value given in the I32 array. However, this happens only if the I32 array is wired to the Top Terminal (x) of the Function. The addition works fine if the I32 array is wired to the Bottom Terminal (y). The subraction fails more often and does not have a fixed pattern other than it always being zero Workaround: For Addition, Wire I32 to the bottom terminal or explicitly convert it to an I64 before performing the add operation.
|
|||||
| Import Shared Library Wizard | ||||||
| 36889 4999TKGI Return |
Import Shared Library wizard cannot recognize a function if the function declaration contains a default value In the Import Shared Library wizard, LabVIEW cannot recognize a function in a header (.h) file if the function declaration contains a default value for a function parameter. Workaround: Remove the default values of parameters in the header file. Instead, add the default values to the Configure VIs and Controls page of the Import Shared Library wizard.
|
|||||
| 37271 45I650CI Return |
The Import Shared Library wizard does not support macros inside of function declarations The Import Shared Library wizard does not support macros inside of function declarations in the header (.h) file. Workaround: Move any macros outside of function declarations in the header file.
|
|||||
| 37448 44CEN7MQ Return |
Import Shared Library wizard cannot recognize multiple function declarations in a row If you have a header (.h) file that contains multiple function declarations in a row, the Import Shared Library wizard recognizes only the first function declaration. Workaround: Separate the function declarations in the header file.
|
|||||
| 39823 4AIGSL00 Return |
The progress bar in the Import Shared Library wizard appears to hang When you use the Import Shared Library wizard, LabVIEW displays a progress bar. This progress bar might appear to hang, even though the tool is working correctly. Workaround: Wait until the generation finishes.
|
|||||
| 64258 4B9MOUMX Return |
Import Web Service wizard fails to expand the .NET reference when the reference is in an array The Import Web Service wizard expands the .NET reference and returns all its properties. However, when the .NET reference is in an array, it returns only the reference, not its properties. Workaround: Use the Index Array function and a Property Node to get the properties of the .NET reference.
|
|||||
| 99392 Return |
The Import Shared Library Wizard hangs when Report Generation Toolkit installed When the Report Generation Toolkit is installed, the Import Shared Library Wizard hangs. Workaround: Please see KB 4DPEIM5M or the LabVIEW Drivers and Updates page on ni.com for more information about this problem.
|
|||||
| Installation and Activation | ||||||
| 67845 4DJE9C3A Return |
LV attempts to repair itself after a later version of LabVIEW is uninstalled If you uninstall LabVIEW 8.5 and a previous version of LabVIEW remains on the system, the previous version of LabVIEW might try to repair itself the next time you open it. The repair process might remove any patches you installed for that version of LabVIEW. Make sure to reinstall any patches you have on the system after the repair finishes. Workaround: Refer to KnowledgeBase 36ICL128 at ni.com for more information about correcting this problem.
|
|||||
| 67931 4DJEJ200 Return |
Windows Explorer crash when opening LLB If you install LabVIEW and then install a previous version of LabVIEW on the same computer, Windows Explorer crashes if you use Windows Explorer to perform an operation on an LLB. Workaround: In the previous LabVIEW version installed, select Tools»Options, select Environment from the Category list, remove the checkmark from the Enable Windows Explorer for LLB files checkbox, and click the OK button. Display the same Environment Options page again, place a checkmark in the Enable Windows Explorer for LLB files checkbox, click the OK button, and restart the computer.
|
|||||
| LabVIEW Environment | ||||||
| 46449 2JQ91R6I Return |
LabVIEW's Hierarchy Window does not show the labels of the VI's for print out When you print the VI Hierarchy window, LabVIEW does not print the VI labels. Workaround: N/A
|
|||||
| 47212 3EIB4MS5 Return |
No prompt to add a comment in the revision history on close If you select the Prompt for a comment when the VI is closed option on the Revision History Properties page, LabVIEW does not prompt you to add a comment to the History window when you close the VI. Workaround: Select the Prompt for a comment when the VI is saved option on the Revision History Properties page
|
|||||
| 47791 3MRDJ300 Return |
Subpalettes need to be context aware, i.e., need to show/hide when owning library is locked/unlocked LabVIEW does not correctly hide subpalette menus that belong to locked project libraries. Workaround: N/A
|
|||||
| 52615 4BMANBJ1 Return |
Multi-frame structures do not switch frames on undo If you place a multi-frame structure (Event Structure, Case Structure, etc) on the block diagram, edit a frame in the structure, switch to a different structure and then press ctrl-z to undo the edit, LabVIEW does not switch to the frame that contains the change that you are undoing. Workaround: N/A
|
|||||
| 61934 42G7H7O5 Return |
VI Save Failures to Shared Network Drives In rare cases, LabVIEW prevents saving to an existing VI on shared network drives. When this occurs, LabVIEW acts as if it has saved the VI to disk when it has not. Workaround: 1. Save to local drive instead of network drive. 2. Select "Save As", Substitute copy for original, keep the same name, select "yes" when prompted to replace the existing file.
|
|||||
| 67983 4DOED73A Return |
LabVIEW crash when opening a VI when LLB manager disabled When the LLB manager is disabled for LabVIEW 8.5 through the ini file, LabVIEW crashes when opening a VI in an llb Workaround: If a previous version of LabVIEW is installed, the Windows LLB shell extension is still installed and VIs will not open through the LLB manager. Otherwise, the workaround is to keep the LLB manager enabled.
|
|||||
| 36543 4039KEG8 Return |
Edit-time crashes when many modules, drivers, and toolkits are installed Edit-time crashes during various operations (right-click menu selection, VI save, moving a VI from one block diagram to another, building an application [executable], shared library, or source distribution, etc.) can result from LabVIEW's image table overflowing from large amounts of palette icons being loaded in memory due to many installed modules, drivers, and toolkits. In this scenario, may receive LabVIEW error log files reporting "You filled the image table" in image.cpp. Workaround: In Tools->Options->Controls/Functions Palettes, change the Palette Loading from "Load palettes in background" (default behavior) to "Load palettes when needed" and restart LabVIEW. This workaround does not work if you: 1. Perform a palette search. 2. Click "place me on diagram/front panel" from the LabVIEW Help.
|
|||||
| 45655 4IBFAOAG Return |
Crash Creating Control from Match Regular Expression with Standard Classic Palette If your LabVIEW.ini file has the key paletteStyle="StandardClassic", you will see a crash if you try to right-click and create a control/constant from a terminal on Match Regular Expression.vi. Workaround: Remove paletteStyle="StandardClassic" option from the LabVIEW.ini file or choose another.
|
|||||
| 104239 Return |
Clicking broken run arrow due to a global variable missing data crashes LabVIEW If you have a VI using a global variable, if you delete the data in the global variable, any VIs which use the global will be broken (this is expected behavior). When you click the broken run arrow in the VI which uses the global, LabVIEW 8.5 might crash. Workaround: Fix global variable before pressing run arrow in calling VIs.
|
|||||
| 99672 Return |
Alt key halts VI Execution when Menu Bar is not Visible If you hide the menu bar of a VI, the VI will pause if the Alt key is pressed and resume if the Alt key is pressed a second time. Workaround: Show menu so that it cannot accidentally be paused. or Use an empty custom runtime menu and uncheck Allow default run-time shortcut menu.
|
|||||
| 105509 Return |
The "do not save automatic changes" setting does not affect libraries The "do not save automatic changes" options setting does not affect any type of library, including classes. Workaround: N/A
|
|||||
| 45456 4IDAUQB7 Return |
VI does not break when a Global Variable in a subVI is edited If a global variable used in a subVI is edited such that the subVI would be broken, the calling VI does not break if the subVI is not opened. You may see an error when trying to build since the subVI is broken. Workaround: Open and close main VI or project.
|
|||||
| 117209 Return |
Bundle by Name does not break VI when fields from the input cluster's typedef are deleted Workaround: Change the data type (numeric to string, string to numeric) of the cluster element to be deleted to force breakage at all references to that member. Repair the broken VIs and then remove the cluster element. Or you can delete the cluster element, save (keeping the control open), then mass compile (or whatever ensures all users of the typedef are resaved while the control is open).
|
|||||
| 111772 Return |
If a LabVIEW Library contains multiple references to the same file, LabVIEW crashes in LinkObj.cpp line 1686. In very rare circumstances, your LabVIEW Library (.lvlib) can contain multiple references to the same file (VI, CTL, etc..). If it does, LabVIEW 8.5.x might crash when opening the library giving the user a crash dialog indicating a crash in LinkObj.cpp line 1686. Workaround: To attempt to recover the LabVIEW library, open the lvlib file in a text editor and delete the duplicate references.
|
|||||
| 43671 4GID11F2 Return |
Opening VI Properties Window takes a long time When I try to open the VI properites window of a VI it takes a very long time to open. This can occur when you are using a network shared printer (as printer default), and that printer is offline. Workaround: Set default printer to "Microsoft Office Document Image Writer" for example.
|
|||||
| LabVIEW Object Oriented Programming | ||||||
| 48855 3W6K2TMQ Return |
Undo on a private data control can leave you in a state where File»Apply Changes is needed but disabled Editing a private data control and then undoing the edits removes the documentation modification on the class. However, while the owning class is broken and expects you to apply the changes you made, the File»Apply Changes menu option is disabled on the private data control. Workaround: Select File»Save or File»Close to save or close the private data control.
|
|||||
| 48913 3WGFQJ2K Return |
LabVIEW class save prompts sometimes come at incorrect times. If you right-click a control in the Project Explorer window, select Convert Contents of Control to Class from the shortcut menu, and then undo the conversion, LabVIEW might appear as if the class still exists and you might not be able to load a class of the same name as the control. Workaround: Save all files that reference the class you created from the control. This clears the backups of the files and allows the class to leave memory.
|
|||||
| 49093 3XHF1O2K Return |
Running a dynamic dispatch VI as top-level and another VI that calls the dynamic at the same time can cause unexpected termination of running VIs When you run a VI by pressing its run arrow, that VI is referred to as the "top-level VI". A VI that is running top-level cannot be used as a subVI by another top-level VI. Normally if you run a VI top-level, any callers of that VI are broken until the VI finishes its execution. If you you run a dynamic dispatch VI as the top-level VI, callers of that VI are NOT broken. If you then try to run one of those callers, the dynamic dispatch VI might become idle. Eventually, any VIs using the class that the dynamic dispatch VI belongs to might break, or, in some cases, VIs may be in the strange situation of being editable while running. Workaround: N/A
|
|||||
| 49753 40M9C8N8 Return |
After you flatten a LabVIEW class to variant data, the private data control hangs if opened from the VI Hierarchy window If you open the private data control of a LabVIEW class from the VI Hierarchy window, LabVIEW might hang when you try to close the Control Editor window for the private data control. This issue occurs if the only LabVIEW class data in memory is contained in variant data. For example, you might delete all LabVIEW class controls and constants and then remove all LabVIEW classes from the LabVIEW project, but variant data with class data still might exist in memory. Workaround: Close the VI that contains the variant data with the value of the LabVIEW class.
|
|||||
| 50616 45ME5NJ1 Return |
Cannot create an override member VI for both a child class and a grandchild class unless you first save the VI that contains the child class You cannot create a VI that overrides the functionality of a child class and then create another VI that overrides the functionality of a grandchild class unless you first save the VIs you want to override. Thus, if you right-click a LabVIEW class in the Project Explorer window and select New»VI for Override from the shortcut menu to create child:A.vi, you cannot select New»VI for Override for the grandchild class to create grandchild:A.vi until you save child:A.vi. This issue occurs because you cannot have two VIs in memory with the same filename that have never been saved. Workaround: Save the VI before you try to override any LabVIEW classes in that VI.
|
|||||
| 51862 49GE2P00 Return |
Stand-alone application cannot load a class that includes polyVIs A LabVIEW-built application that uses a LabVIEW class which contains a polymorphic VI does not function if the build options are set to include unused polymorphic VI instances, or if the polymorphic VI is in a plug-in to a built application that is outside the application. Workaround: Choose to exclude unused polymorphic VI instances by selecting the Remove unused polymorphic VI instances option on the Additional Exclusions page.
|
|||||
| 52027 4A4GRP00 Return |
Cannot use the 'New>>VI for Override...' dialog to create override of password-protected VI unless you have the password You use the 'New>>VI for Override...' dialog to override an ancestor VI in a LabVIEW class if the VI you want to override is password-protected. Workaround: You do not have to use New>>VI for Override... to create an override VI. You can always create an override as follows: 1) create a new VI in the child class 2) save the VI with the same name as the VI in the parent class 3) drop controls/indicators on the child VI so that you make the connector pane match the parent VI 4) configure the child VI's VI Properties>>Execution page so that it matches the parent VI's settings. The automatic tool that does all this work for you can only operate on the parent VI if it can get access to edit (copy from, etc) the parent VI, which is why it requires the passowrd. The manual method for overriding is always available.
|
|||||
| 54223 3Y18O59I Return |
The private data control can get into a permanent locked state when class loads into multiple application instances If you delete a control, indicator, or constant of a LabVIEW class, the backup object keeps the LabVIEW class loaded in that application instance. This backup object can cause a problem if the LabVIEW class is loaded in more than one application instance. Workaround: To edit the LabVIEW class, make sure the class is loaded in only one application instance. The backup object might be the only reason the LabVIEW class stays in memory in an application instance. To remove the backup object for the LabVIEW class, save or close the VI(s). Refer to KnowledgeBase 3Y18O59I at ni.com for more information about correcting this problem.
|
|||||
| 62996 48OAL61W Return |
View»Browse Relationships»This VI's Callers is disabled for dynamic dispatch VIs. LabVIEW disables the View»Browse Relationships»This VI's Callers option for dynamic dispatch VIs. Because LabVIEW calls dynamic dispatch VIs dynamically, the VI Hierarchy window does not recognize dynamic dispatch VIs as callers because there are no calls until run time. Workaround: N/A
|
|||||
| 63958 4AKFM1J1 Return |
Changing the label of controls in private data control does not update actual class data type If you use the Bundle by Name or the Unbundle by Name functions on a LabVIEW class and you change the name of a control in the private data control, the elements available for bundling or unbundling do not change. LabVIEW does not register the name as changed unless or until you make another more substantive change to the data type of the private data control. Workaround: Modify the private data control by adding another element to the cluster, then choose File>>Apply Changes, then delete the extra element and do File>>Apply Changes again.
|
|||||
| 64174 4ARD3OV2 Return |
Inserting Bundle by Name function into the LabVIEW class wire behaves differently than cluster If you right click a class wire and select Insert»Bundle by Name, then the class wire gets inserted into the bundle node's element input (cluster value terminal), not the input cluster (cluster type terminal), as happens when the same procedure is done for a cluster. Workaround: N/A
|
|||||
| 110527 Return |
Create Accessor dialog sometimes creates erroneous accessor VIs The Create Accessor dialog is unable to reliably create an accessor VI for a Class who's private data cluster contains an element with a name which begins or ends with whitespace. The bundle and unbundle nodes on the resulting accessor VI might have an incorrect element of the cluster selected. Workaround: Edit the resulting VI and correct the generated bundle or unbundle nodes.
|
|||||
| 52753 4C08OCJ1 Return |
Locking all classes in inheritance hierarchy does not hide protected member VIs When you lock a class, all the private member VIs are hidden in the project tree. According to the documentation, if all the classes in a class hierarchy are locked then the protected member VIs should also be hidden. They are not. This is strictly a display issue. Protected VIs are protected and cannot be accessed except within the class and its descendant classes. Workaround: N/A
|
|||||
| 110152 Return |
Error Creating Override VI for Dynamic Dispatch VI with No Block Diagram If you remove the block diagram from a dynamic dispatch VI then try to use the shortcut option New-> VI for Override, the action will fail with error 1012. Workaround: Create the override VI manually.
|
|||||
| 112847 Return |
Changing LV class inheritance does not always fix broken wires A child class wire can always connect to a parent class terminal. You may connect a class to another class and get a broken wire, which makes you realize that you forgot to make the wire's class inherit from the terminal's class. So you go to the Class Properties dialog and change the wire's class to inherit from the terminal's class. This should be enough to fix the broken wire. In the case where the class wire is used but there are no controls/indicators/constants of the class anywhere on the VI, the wire will still be broken. In other words, the bug exists if the class is an output wire from one subVI call and an input wire to another subVI call. The inverse problem also exists: Alpha.VI is saved when class A inherits from class B. Now, while Alpha.vi is not in memory, change A to not inherit from B. Load Alpha.vi. It should load broken, but it does not. Forcing a recompile will cause the VI to break. Workaround: Any action that causes LabVIEW to re-evaluate the wire will work to fix this problem. Some options include a) unloading and reloading the broken VI b) deleting the broken wire and rewiring c) force recompiling the VI by holding down the ctrl key while clicking on the Run arrow. If you have many broken VIs that need to be fixed simultaneously, holding down shift+ctrl when clicking the run arrow will force all VIs in memory to re-evaluate.
|
|||||
| 115897 Return |
Cannot fix missing parent class by changing to inherit from LabVIEW Object If a class is missing its parent class, it is broken. The help for this error directs users to change the inheritance and suggests changing to inherit from LabVIEW Object. Changing the inheritance does fix the broken class, but only if you pick any class other than LabVIEW Object. Workaround: You have two possible workarounds: 1) Open the Class Properties dialog for the broken class. Change the broken class to inherit from another class that does exist. Hit "OK" to close the Class Properties dialog. Then change the inheritance again to inherit from LabVIEW Object. 2) You can open the broken class' .lvclass file in a text editor. Find this text: <Property Name="NI.LVClass.ParentClassLinkInfo" Type="Bin"> Delete that tag and everything that follows it until you find the matching </Property> tag. Save the text file. When you next load that class, it will be inheriting from LabVIEW Object. Note that this workaround will not work if the .lvclass file is password protected.
|
|||||
| 119962 Return |
Doing find for "LabVIEW Object" crashes LabVIEW If you attempt to use Edit»Find and Replace... to search for all instances of LabVIEW Object (the ultimate ancestor class of all LabVIEW classes), the development system will crash. Workaround: The only known workaround is a programmatic solution -- writing a VI that opens control references to each control on another VI's front panel and tests if that control is an instance of LabVIEW Object. It can be tricky to write such a VI in versions 8.2 and 8.5. In LV 8.6, there is a VI to help you: [labview]\vi.lib\Utility\LVClass\Is This Control Of LabVIEW Object Class.vi A version of this VI for LV 8.5 may be found by searching the developer forums on ni.com.
|
|||||
| 121514 Return |
To More Specific node creates undesirable copies of LabVIEW class objects The To More Specific node makes a copy of the class when the operation is successful. This copy is unnecessary and has been identified as a source of performance problems. This bug exists in LV8.2 and later. For further details, please read: http://forums.lavag.org/LabVOOP-Performance-Issue-To-More-Specific-function-t11521.html Workaround: 1) Whenever possible, LabVIEW class developers should avoid using the To More Specific node to do type testing -- use dynamic dispatch subVIs instead. That is good programming practice anyway, but this bug makes it even more important. 2) Any LabVIEW class developer who is writing a nested data type -- one where the child class includes an instance of the parent class in its private data control -- needs to be aware of potential performance problems if your data structure gets large, possibly changing to a different implementation of the data structure. These problems will persist until this bug is fixed in a future version of LabVIEW. Some nested data types, such as a simple linked list, may be implementable without using To More Specific by making all operations be dynamic dispatch VIs defined on the parent class, even operations that rightfully should only be called on the child class. The desired functionality is then placed on an override VI in the child class. This lets dynamic dispatching do the work of getting data from a parent class wire onto a child class wire instead of To More Specific.
|
|||||
| 52574 4B8DH7J1 Return |
Race condition exists between loading a LabVIEW class and the Flattened String To Variant function When LabVIEW unflattens a LabVIEW variant, there is a race condition that might lead to a LabVIEW crash if the following conditions exist:
Workaround: In most cases, you can change your program architecture so that the unflattening of data is not happening in parallel to loading classes into memory. If you cannot make such a change, use semaphores to ensure that the loading code and the unflattening code do not execute simultaneously. See the LabVIEW Help for more information about the Semaphore palette. Also, there is no race condition against the Unflatten From String primitive. You may be able to rearchitect your code to use Unflatten From String instead.
|
|||||
| LabVIEW Project | ||||||
| 48100 3PCAD0J1 Return |
Save As»Substitute Copy affects all projects in memory, not just the one that does the Save As operation. If you have Alpha.vi loaded into two separate projects, these are two independent VIs in memory. If you do Save As»Rename then, LabVIEW correctly renames the VI in both projects since the actual source on disk has changed. However, if you do Save As»Substitute Copy, only one project should change. Workaround: Close any projects that you want to contain the original VI before performing the Save As»Substitute Copy operation.
|
|||||
| 40906 4CN9KIG3 Return |
Disabling Autodeploy Shared Variable Setting Does Not Save in Auto Populating Folder with LabVIEW When you create a project in LabVIEW and add a Shared Variable and want to set the library to disable "Autodepoly Variables", the setting does not save if the library is in an auto-populating folder. Workaround: If you turn off autopopulate for the folder, you can disable the option to autodeploy variables and save it correctly.
|
|||||
| 69190 4ENAG200 Return |
Build Specification Source Files Configuration and other LabVIEW Project Properties May Be Lost When Autorecovering a LabVIEW Project File When recovering a LabVIEW Project file using the Autorecovery tool, the configuration of the Source Files page of Build Specifications will be lost as well as some other LabVIEW Project properties (i.e. conditional disable symbols). Workaround: Don't use autosave-recovered projects if they contain build specifications or other LabVIEW project properties.
|
|||||
| 117582 Return |
Private scope has no effect on XControls or StateCharts Marking an XControl or a StateChart as private inside an owning library will not prevent VIs outside the owning library from using that XControl or StateChart. Workaround: No known workaround.
|
|||||
| MathScript | ||||||
| 49355 3YLB3DDX Return |
Instance VIs can be reported bad in mass compile log If you mass compile VIs last saved in a previous version of LabVIEW and the VIs contain MathScript Nodes, LabVIEW might return error messages, but LabVIEW compiles and saves the VIs correctly. Workaround: N/A
|
|||||
| 52985 4DJFLU00 Return |
Save for Previous on a VI with MathScript results in broken VI If you select File»Save for Previous Version and save a VI that contains a MathScript Node for LabVIEW 8.0, the VI is broken when you load it in LabVIEW 8.0. Workaround: To correct this problem, load the VI in LabVIEW 8.0 and then modify the script in the MathScript Node. For example, add and remove a space. Then click the block diagram outside of the MathScript Node. When you click the Run button, the VI runs correctly.
|
|||||
| 64067 4B24T15I Return |
When trying to write to a read-only .m file, MathScript does not show an error dialog box Workaround: Remove the Read-only attribute from the file to be written
|
|||||
| 64738 4BMGP200 Return |
Closing the MathScript Window causes problems with the MathScript Probe variable display If you close the MathScript Window while the MathScript Probe displays the contents of a variable, the current variable display of the probe stops working. The display no longer responds to changes in the value of the variable. Workaround: To restore the display after it stops working, deselect the variable in the probe by clicking on the name of the MathScript node and then reselect the variable.
|
|||||
| 91951 490EII2J Return |
MathScript realmax returns Inf instead of max pos real value. MathScript realmax function returns Inf instead of the maximum positive floating-point number. Workaround: N/A
|
|||||
| 58819 4F1EIJTM Return |
MathScript feval function does not find user defined functions in search path directories Use of feval function only works when calling built-in MathScript functions or functions saved in "My Documents\LabVIEW Data" directory. It does not work for functions in directories included in "Search Paths" (not even if the directory is changed to "Working Directory"). Workaround: Put *.m files in "My Documents\LabVIEW Data" folder.
|
|||||
| 99336 Return |
MathScript can not recognize variable with illegal character loaded from external data file You can use the load function to load data from external data files, such as .tdm or .tdms. MathScript loads each channel from the file as a variable where the name of the channel determines the name of the variable. However, MathScript cannot recognize variable if its name starts with underscore or contains illegal character, such as '-', even though the variable seems to be correctly loaded into MathScript. One exception is the space character. MathScript replaces all space characters in variable name with underscores when the variable is loaded. Workaround: Avoid using illegal characters for variable names in external data files.
|
|||||
| 112426 Return |
Import Script does not work for read-only files Import Script through right-clicking a MathScript node and selecting "Import" does not work for read-only files Workaround: N/A
|
|||||
| Miscellaneous | ||||||
| 39908 4AIBSAFF Return |
When synchronous display is enabled, disconnecting and reconnecting to a LabVIEW Real-Time target performing image display in a loop causes the Real-Time target to hang If you enable synchronous display on an image display control and then update the control in a loop on a VI running on an Real-Time target, LabVIEW hangs after disconnecting and reconnecting to the target. This issue might occur when you want to run an application that can perform a headless operation, but you still want to perform image display in a loop. Workaround: Right-click the image display control and select Advanced»Synchronous Display from the shortcut menu to disable synchronous display.
|
|||||
| 51185 47FGSQCS Return |
Cannot save VI as the same name as missing library member VI If a library contains a VI and the VI is missing, you should be able to save a VI as the same name as the missing VI in order to rebuild the missing VI. Currently, LabVIEW does not allow this. Workaround: Delete the item from the library, save the new VI as the same name as the missing VI and then move the VI into the library.
|
|||||
| 52646 4BFH3J00 Return |
Timed Loops start returning error -800 before reaching the limit of 128 in memory Placing Timed Loops on the top-level block diagram, you can get up to 128 instances before receiving errors, but when the Timed Loops are in reentrant subVIs or instance VIs, the error happens before LabVIEW loads 128 instances. Workaround: If multiple VIs are in memory, close a few VIs and try again. You also can replace some Timed Loops with While Loops for emulation purposes.
|
|||||
| 63686 4A8CI3BW Return |
Import Web Service Wizard hung generating wrapper VIs The Import Web Service Wizard hangs due to a recursive process when you attempt to generate a wrapper VI for a method or property that returns a reference to an object of the same class that the original method or property belongs to. Workaround: 1) Try selecting only those methods that you want in the web service, and deselecting methods that you do not want to include. You also can select a single method, then after the wizard generates a wrapper VI which includes an open and close method, you can manually add a Invoke Node, then select the method you want. 2) If the wizard does hang, the selected methods might have a chain structure as a parameter. Web Service Import Wizard does not support that datatype. Click the Cancel button and exit the wizard.
|
|||||
| 65071 4C5FFLRK Return |
Data corrupted in place when modifed using property node in sub-VI Updating an indicator within a sub-VI, then using a property node to update the value of that indicator overwrites the value of the wire in the top-level VI. This in essence passes data "backwards" through a wire, corrupting that wire's data in other places in the application. If the wire passed into this sub-VI has a constant for the source, the constant's value is modified to match the value written to a property node in the sub-VI. Workaround: Workaround 1: In LabVIEW 8.5, use an "Always Copy" primitive to on the wire that is passed to the sub-VI. This forces LabVIEW to create a copy for each branch in the wire, avoiding the corruption. Workaround 2: In the sub-VI, use a local variable to update the value of the indicator.
|
|||||
| 58466 4DIH22RJ Return |
Copying a Shift Register on a Timed Loop Using a Ctrl Mouse Drag crashes LabVIEW Workaround: N/A
|
|||||
| 68165 4DQESJU4 Return |
Bundling Two Digital Waveforms of Different Sizes Crashes LabVIEW When you bundle two digital waveforms together, LabVIEW will crash if the first waveform is smaller than the second one. Workaround: N/A
|
|||||
| 58524 4E19S6TQ Return |
Save for Previous crashes LabVIEW on a VI containing strict typedef XY graph or XY Graph Reference LabVIEW crashes if you save a VI for previous that contains an instance of an XY Graph or XY Graph Reference strict typedef. Workaround: Modify the control type to be a regular Type Def instead of strict typedef, after you save for previous change the control back to a strict typedef and update callers.
|
|||||
| 58729 4EHAQ141 Return |
Dragging and dropping signals from a tree control into a waveform graph does not work when using tab control typedef When try to drag and drop signals from a tree control into a waveform graph all contained within a custom tab control, you will not be able to view data on the graph. Workaround: Disconnect tab control from its type-def.
|
|||||
| 67511 4DHDH7B7 Return |
Disabling Allow Debugging (VI Property) Causes Erroneous Values To Be Passed Out of Output Terminals of a Case Structure In some cases, a case structure inside a loop with the selector connected to a 'loop-constant' (i.e., something that doesn't change from one iteration to the next, e.g., a non-indexing input loop tunnel) produces erroneous values from the output tunnels when The VI Properties Allow Debugging option is disabled.. Workaround: On the Block Diagram page of the Tools>>Options Dialog, uncheck Show constant folding of structures. Then, on the Execution page of the VI Properties (for a specific VI), check Allow debugging. Finally, recompile the VI by holding down CTRL and clicking the Run button.
|
|||||
| 42538 4F6C651W Return |
Printing VI Documentation Does Not Include Control Descriptions of the Control if it is a Typedef Workaround: Disconnect typedefs for printing. This issue was reported on the NI Discussion Forums. For more information on this issue, or to discuss this issue with other LabVIEW users, visit the post here.
|
|||||
| 70082 4F461U8G Return |
Dropping a front panel object with associated block diagram code onto a front panel containing a splitter bar causes LabVIEW to crash Dropping a front panel object with associated block diagram code onto a front panel containing a splitter bar causes LabVIEW to crash. Examples of front panel objects with associated block diagram code include the Express XY Graph, Express Table, and 3D Graphs. Subpanels do not exhibit this behavior. Workaround: N/A
|
|||||
| 43171 4FSFD5C4 Return |
Cluster data outside of visible portion of front panel do not print If a cluster is outside of the visible portion of a front panel, the data in that cluster is not printed when you print the front panel of a VI. Workaround: Expand front panel to include all visible controls and indicators.
|
|||||
| 42354 4ET88JB9 Return |
Visual Basic 6 Crashes when Calling LabVIEW 8.5 DLL with Mathscript Node Visual Basic 6 crashes on exit when calling a dll created from a vi containing a mathscript node in LabVIEW 8.5. Specific error reported: Fatal Internal Error: "LinkObj.cpp", line 714. If the mathscript node is removed from the vi (before the dll is created), there is no error in Visual Basic 6. If the dll (with the mathscript node) is called from .Net (C#) or from inside of LabVIEW 8.5 using a Call Library Function Node no error is seen. Workaround: Use VB .NET instead of VB 6. See this Discussion Forum Post for more information and discussion on this problem.
|
|||||
| 58859 4FCAO3Y0 Return |
Installation of LEGO MINDSTORMS Prevents Containers from Loading and Gives Control Could not be Loaded Error Message I installed LEGO MINDSTORMS after other NI software (including LabVIEW, TestStand, or Signal Express) was installed, and now I receive "Control could not be loaded" error message in container boxes. Workaround: Please see KB 4FED3500 at www.ni.com for more information about this problem and how to resolve.
|
|||||
| 53875 4IBAFKXX Return |
LabVIEW 8.5.1 Crash when searching diagram palette With RT installed and using the palette loading option "Load palette when needed" in LabVIEW, searching either the front panel or block diagram palettes crashes LabVIEW without an error message. Workaround: Use another palette loading setting.
|
|||||
| 68920 4EE45K1G Return |
LabVIEW protects against recursion by removing nodes from block diagram LabVIEW removes VIs from a block diagram of an unedited VI when dropping a VI to another block diagram. Workaround: This is expected behavior since the LabVIEW compiler cannot support native recursion in current versions of LabVIEW.
|
|||||
| 100474 Return |
Property node fails to execute when error occurs executing any of the properties. Property nodes can be configured to "Ignore Errors Inside Node" by right-clicking the node. The default behavior is to not ignore errors which should result in each property action occurring in top-down order until complete or an error occurs. In LabVIEW 8.5, the behavior was changed, and none of the properties execute when at least one property in the node returns an error. Workaround: Enable "ignore errors inside node" (which will change the behavior of the node) or, separate property node items and string together.
|
|||||
| 109751 Return |
Show constant folding option changes outputs in for loop executing 0 times Having show constant folding enabled changes the execution behavior of a for loop that iterates zero times depending on whether a control or constant is wired to the count terminal. When a control is wired to the count terminal and set to zero then the output tunnels will output their default data values. When a constant of zero is wired to the count terminal then the output tunnels will output values as if the loop had iterated once. This behavior only happens when the VI was compiled while the show constant folding option is enabled. Workaround: Turn off show constant folding and re-compile the VI (you must recompile in addition to disabling the option). Once the VI has been re-compiled you can re-enable show constant folding, but if the VI is recompiled with the show constant folding, the bug will be reintroduced in your code.
|
|||||
| 99651 Return |
LabVIEW crash in MemoryManager.cpp line 406 with MixedSignalGraph strict Value property LabVIEW crashes if you create a Value property node from a Mixed Signal Graph reference, unbundle the value, and then change the data in the cluster. Workaround: Create the Value property node from the graph instead of the reference to the graph.
|
|||||
| 44355 4HGA9JBK Return |
Timed-Sequence iteration duration terminal does not work The Iteration Duration output terminal on Timed-Sequence structures no longer functions correctly. Workaround: Use the Global End and Global Start time to calculate the total duration of the structure.
|
|||||
| 116843 Return |
Expected End Calculation for Timed Loop Iteration is incorrect when Deadline is used The current calculation for Expected End for the Previous Iteraction is "Actual Start + Deadline" but the correct calculation should be "Actual Start + Deadline - 1". Workaround: Subtract one from the Expected End output before using it.
|
|||||
| 120556 Return |
Constant-folded case structure tunnel coerces to non-folded type in LabVIEW 8.5 but not in previous versions If you have a case structure wired with a constant and including a tunnel, and you have two differing, but coerceable, types wired to the tunnel, the type of the tunnel is now (LabVIEW 8.5 and later) dependent on which case has been folded. In LabVIEW 8.2 and prior, LabVIEW coerces the value based on rules for the type. Among other things, this change means that when you upgrade an application from older versions, it may have broken wires or changes in data types. Workaround: Wire a control to the case structure instead of a constant to prevent the constant folding.
|
|||||
| Operating System Specific | ||||||
| 56344 3QHGOFBQ Return |
Cannot use Japanese characters on LabVIEW using Japanese system locale on French OS LabVIEW cannot render language-specific characters correctly if the codepage and locale settings do not match. For example, if you set the system codepage to Japanese but you set the locale to something other than Japanese, LabVIEW does not render Japanese characters correctly. Workaround: Make sure your system codepage and system locale match.
|
|||||
| 57794 4API8A00 Return |
Logos fails on Vista when PC-cillin is installed If you have a version of PC-cillin Internet Security installed on Windows Vista, Logos does not work. Because of this issue, you cannot communicate with Ethernet instruments, such as FieldPoint modules, that use Logos. Workaround: N/A
|
|||||
| 67694 4DJFAN00 Return |
With Windows XP Service Pack 2 or Windows Vista, a Security Alert appears when launching LabVIEW or the NI Example Finder If you have Windows XP Service Pack 2 installed or use Windows Vista, a Security Alert dialog box appears when you launch LabVIEW or the NI Example Finder for the first time. If you select the Keep blocking this program option, the LabVIEW VI Server, LabVIEW Web Server, and any server written in LabVIEW cannot accept incoming connections from a remote computer. Workaround: Select the Unblock this program, despite the security risk option to configure your computer to launch LabVIEW without any changes in functionality. Refer to KnowledgeBase 3HUD6PUW at ni.com for more information about correcting this problem.
|
|||||
| 67879 4DJFNG00 Return |
The LabVIEW installation process enables write permissions for any folders, files, and registry keys that LabVIEW might write to during normal operation. For compatibility reasons, the LabVIEW installation process enables write permissions for any folders, files, and registry keys that LabVIEW might write to during normal operation. This may have some effect on Windows Vista users. Workaround: N/A
|
|||||
| 68072 4DJF8700 Return |
The NI Publish-Subscribe Protocol (NI-PSP) incompatible with the Windows XP Service Pack 2 firewall The NI Publish-Subscribe Protocol (NI-PSP) networking technology is incompatible with the Windows XP Service Pack 2 firewall. You must disable this firewall for networking to function correctly. Workaround: Refer to KnowledgeBase 37H7JBQA at ni.com for more information about the firewall.
|
|||||
| 91250 453BD7Q6 Return |
LabVIEW crashes on Japanese Vista if system locale is set to a Western European codepage If you have a user name that uses Japanese characters and change the system locale to something other than Japanese, LabVIEW crashes. Workaround: Make sure your locale and user name match.
|
|||||
| 41773 4DQE18RM Return |
LabVIEW Crash Capture mechanism doesn't work in Leopard When LabVIEW crashes with an internal error (cpp error), the log file is not created properly and you are not prompted to send the file to NI for investigation. Workaround: N/A
|
|||||
| 43935 4GTI5N00 Return |
LabVIEW file lose icons in Mac OS X 10.5 Leopard LabVIEW VIs lose their icons and are replaced by generic text file icon. The documents still open in LabVIEW when clicked. Workaround: N/A
|
|||||
| 68823 4EBC1FGQ Return |
Mass compiling on an Intel Mac running Leopard may cause LabVIEW to crash Mass compiling on an Intel Mac running Leopard may cause LabVIEW to crash. Workaround: N/A
|
|||||
| 70524 4FKEI9UD Return |
LabVIEW specific Apple Events are not able to be called from AppleScript Due to the change of all string datatypes to unicode, the LabVIEW Apple Events such as Run VI, Abort VI, and VI Active? will fail due to an incorrect parameter being passed from AppleScript. Workaround: N/A
|
|||||
| 70606 4FKF9700 Return |
LabVIEW draws disabled controls on system tab control including LabVIEW Property Pages on Mac OSX Leopard incorrectly. Some disabled controls, including ones on the property pages, will not draw correctly on Mac OS X Leopard. Generally, you will see a black box where the control should be. Workaround: N/A
|
|||||
| 54587 4F19LGAF Return |
New VI files saved on Mac OS X have wrong icon When saving a new VI file (not in an LLB, and not over an existing VI file) in Mac OS X, LabVIEW incorrectly assigns it a file type of "TEXT" and file creator of "????". In Mac OS X 10.4 (Tiger) or before, these files still show up with the correct icon, if they have the .vi extension. The Finder is using the extension on the filename to decide which icon to display. Any file without a .vi extension displays with the wrong icon. In Mac OS X 10.5 (Leopard), even if the file has the correct .vi extension, these same icons do not display correctly. They display as what looks like a generic text file. Workaround: If you have the Apple developer tools installed, you can change the type of the file using the command line tool /Developer/Tools/SetFile. Or you can save your .vi over an existing .vi with the correct file type and creator. Or you can save your VIs inside .llb files.
|
|||||
| Performance | ||||||
| 66623 4CUCQEAR Return |
Slower Execution Time When Manipulating Arrays Than In Previous LabVIEW Versions In some cases, LabVIEW mistakenly allocates an extra buffer resulting in more data copying. The computed results are correct but the execution time is much longer than necessary, especially when occurring with array data types. Workaround: Drop an Array Size function and wire it to the same array feeding the array indexer. Through a circuitous chain of reasoning this will effectively get rid of the extra buffer being allocated at the select structure boundary.
|
|||||
| 68064 4DOC349I Return |
Performance Decrease When Calling XControl Properties and Methods Calling XControl properties and methods takes 10 to 15x longer in LabVIEW 8.5 than in 8.2. This is easily seen when writing a single property many times or many different properties. This is due to LabVIEW incorrectly scanning memory after each property or method call to see if each VI could be removed from memory. Workaround: N/A
|
|||||
| 70226 4F7DAD41 Return |
The XY Graph Property Active Plot Leaks Memory The "Active Plot" (ActPlot) property for a Waveform Graph or XY Graph leak memory. Workaround: N/A
|
|||||
| 43026 4FIIUH7N Return |
Timed Structures May Leak Memory The Timed Sequence Structure uses a DLL which is loaded when a VI using the timed structure is loaded in memory. Loading and unloading this DLL causes a small memory leak. It is unlikely that your application would be loading and unloading this DLL multiple times. Workaround: In order to work around this problem, you must keep the DLL used by the Timed Structure in memory. To do this, simply have a VI loaded in memory that uses a Timed Sequence Structure. You could do this by having a 'dummy' sub-VI in your top-level VI which just has one instance of a Timed Sequence Structure that does nothing but keep the DLL in memory.
|
|||||
| Remote Panels | ||||||
| 46442 2BCDF100 Return |
Remote Panel not correctly displaying hidden/disabled controls when server is a built app. Clients viewing a front panel remotely might see different behavior depending on whether the front panel they are connecting to is from a built application. Specifically, if the front panel is from a built application, any programmatic changes to the front panel made before the client connects to the front panel are not reflected on the client computer. For example, if a Property Node changes a caption on a control before a client connects to that front panel, the client will see the original caption of the control, not the changed caption. Workaround: Refer to the National Instruments KB 3K7COT23 for more information about this issue and workarounds.
|
|||||
| 50165 4367OV4I Return |
VI in web browser with top-level window or dialog window style does not draw. If you create a VI, select Top-level application window or Dialog options from the Window Appearance page in the VI Properties dialog box, and publish the VI to the web, when you view the VI, it uses the default window style instead of the style you selected. This issue was formerly documented as issue 51263/47MA31QO. Workaround: Do not set the window style of a VI to top-level or dialog if you want to publish the VI to the Web.
|
|||||
| 97181 Return |
On a Mac, a VI that writes waveform data to a chart on the Web Server crashes the Web browser when accessed from a PC When posting a VI that writes waveform data to a chart inside a loop on the Web Server for remote front panels on a Mac, accessing the remote front panel from a PC may crash the Web browser. Workaround: Use graphs instead of charts. If chart functionality is necessary, you can programmatically create a history of data that gets plotted to the graph on each plot.
|
|||||
| Shared Variables | ||||||
| 48195 3Q9DN1ZU Return |
Deployment fails for all Variables in a Library if one Variable has a bad binding LabVIEW fails to deploy all shared variables in a library if one shared variable has an invalid binding. Workaround: To correct this problem, either delete the shared variable that has an invalid binding or unbind the shared variable.
|
|||||
| 48349 3R8EFNKY Return |
VarClient on cFP reports "variable does not exist" if the variable is published by a host that has two ethernet adapters Network-published shared variables do not function properly if multiple network adapters are enabled on the same computer. Workaround: You can bind variable communication to a specific network adapter. This will allow variable communication to function normally on the bound adapter. It is not currently possible to perform shared variable communication on two network adapters simultaneously. For instructions on binding variable communication to a network adapter see KB 3WK9NH9A: Deploying Shared Variables to a Specific Network Card.
|
|||||
| 56958 4388O1FI Return |
Using a higher number of shared variables in a VI makes the VI respond slowly during development. A VI with many shared variables on the block diagram, for example, 50, might respond slowly if you place another block diagram object, for example, a numeric constant on the block diagram. Workaround: Place the Shared Variable node inside a subVI and use the subVI to access the Shared Variable node. If you already have a Shared Variable node on the block diagram of a main VI and you have already wired inputs and outputs, you can right-click the Shared Variable node and select Create SubVI from the shortcut menu. If you experience any additional issues after creating a subVI from the Shared Variable node, consider making the subVI reentrant.
|
|||||
| 64277 4BCH23FN Return |
Dragging a Variable between projects if a Multiple Variable Editor window is open can hang LabVIEW. If you've got a Multiple Variable Editor window open, and drag a variable from one project to another, LabVIEW hangs. Workaround: Close all open instances of the Multiple Variable Editor window before dragging variables between projects.
|
|||||
| 88869 3KAEOHC3 Return |
Private variables are accessible outside their Library You can read from and write to private single-process shared variables. Workaround: N/A
|
|||||
| 65672 4C9CRUXP Return |
Bound, Buffered Shared Variables give Error -1950679020 Running a VI that contains a buffered shared variable bound to another shared variable returns Error -1950679020. Workaround: This behavior is caused by a race condition where the variable attempts to transmit an initial value before the read subscription to the variable has been fully established. This puts the variable in a bad state and causes an invalid error condition to be set. One workaround is to force a read of the variable before writing an initial value to the variable. Another alternative is simply to ignore this error if it is returned by the first read of the shared variable. The error condition will be cleared once the variable subscription succeeds, and variable communication should function normally from that point on.
|
|||||
| 53094 4EBG02DT Return |
LabVIEW 8.5 fails to build executable with Target Relative shared variable nodes Building executables that use Target Relative shared variable nodes will fail when building an executable with a possible reason of trying to build a broken VI. Workaround: When receiving the build failure error, right-click on the variable nodes and change any Target Relative variables to Absolute binding
|
|||||
| Source Code Control | ||||||
| 123313 Return |
Unnecessary IAK file checked into source code control When NI-FieldPoint is installed, and source code control is configured for LabVIEW, when you check in projects to source control the source code provider attempts to check in an IAK file for the project, even if one does not exist. Workaround: If a dialog appears when checking in file, do not check in the iak file if it is not necessary for that project.
|
|||||
| Upgrade - Behavior Change | ||||||
| 50061 42NAR8SA Return |
Center justified tables display improperly when overlapping with the front panel origin When you add a table control to the front panel so that it overlaps with the vertical origin of the front panel, LabVIEW displays center justified columns off center when you type text. The cells appear to float or move horizontally until aligned with the vertical origin. Workaround: Move the table away from the front panel's vertical origin.
|
|||||
| 50165 4367OV4I Return |
VI in web browser with top-level window or dialog window style does not draw. If you create a VI, select Top-level application window or Dialog options from the Window Appearance page in the VI Properties dialog box, and publish the VI to the web, when you view the VI, it uses the default window style instead of the style you selected. This issue was formerly documented as issue 51263/47MA31QO. Workaround: Do not set the window style of a VI to top-level or dialog if you want to publish the VI to the Web.
|
|||||
| 51185 47FGSQCS Return |
Cannot save VI as the same name as missing library member VI If a library contains a VI and the VI is missing, you should be able to save a VI as the same name as the missing VI in order to rebuild the missing VI. Currently, LabVIEW does not allow this. Workaround: Delete the item from the library, save the new VI as the same name as the missing VI and then move the VI into the library.
|
|||||
| 51311 477DKPBQ Return |
LabVIEW does not maintain child-only item setting when dragging an item within a tree If you have a tree item with the child-only setting, and then drag it within the tree, LabVIEW loses the child-only setting. Workaround: Use tree events to (1) get the child-only flag setting when the user begins a drag, and (2) reset the child-only flag after completing a drop.
|
|||||
| 51862 49GE2P00 Return |
Stand-alone application cannot load a class that includes polyVIs A LabVIEW-built application that uses a LabVIEW class which contains a polymorphic VI does not function if the build options are set to include unused polymorphic VI instances, or if the polymorphic VI is in a plug-in to a built application that is outside the application. Workaround: Choose to exclude unused polymorphic VI instances by selecting the Remove unused polymorphic VI instances option on the Additional Exclusions page.
|
|||||
| 52263 4AJA41TQ Return |
Some operations on integer waveforms lose dt value Some functions, such as Absolute Value and Logarithm Base 10 operate as you expect with DBL Waveforms, but when you apply the same functions to an I16 waveform, for example, the Absolute Value function works as you expect while the Logarithm Base 10 function loses the sampling interval dt value. LabVIEW resets the sampling interval dt value to 1.00. Workaround: Extract the Y-array of the waveform and perform the needed operations on Y before re-building the waveform.
|
|||||
| 52297 4AIFC0R0 Return |
Internal error related to locked tab control at fpsane.cpp line 369 and line 367. If you lock a tab control that is already locked using Group»Lock, you might see two internal errors and LabVIEW may crash. Workaround: Do not lock a control that is already locked.
|
|||||
| 52615 4BMANBJ1 Return |
Multi-frame structures do not switch frames on undo If you place a multi-frame structure (Event Structure, Case Structure, etc) on the block diagram, edit a frame in the structure, switch to a different structure and then press ctrl-z to undo the edit, LabVIEW does not switch to the frame that contains the change that you are undoing. Workaround: N/A
|
|||||
| 52985 4DJFLU00 Return |
Save for Previous on a VI with MathScript results in broken VI If you select File»Save for Previous Version and save a VI that contains a MathScript Node for LabVIEW 8.0, the VI is broken when you load it in LabVIEW 8.0. Workaround: To correct this problem, load the VI in LabVIEW 8.0 and then modify the script in the MathScript Node. For example, add and remove a space. Then click the block diagram outside of the MathScript Node. When you click the Run button, the VI runs correctly.
|
|||||
| 63958 4AKFM1J1 Return |
Changing the label of controls in private data control does not update actual class data type If you use the Bundle by Name or the Unbundle by Name functions on a LabVIEW class and you change the name of a control in the private data control, the elements available for bundling or unbundling do not change. LabVIEW does not register the name as changed unless or until you make another more substantive change to the data type of the private data control. Workaround: Modify the private data control by adding another element to the cluster, then choose File>>Apply Changes, then delete the extra element and do File>>Apply Changes again.
|
|||||
| 92298 4AOEJ5F2 Return |
FP:Get Image, FP:Get Image Scaled, Print:VI to HTML, Print:VI to RTF, and Print:VI to Printer methods do not properly generate off-screen cluster images These methods generate an incorrect image of the front panel when it contains off-screen clusters and the contents of all off-screen clusters appear blank in the generated image. This issue only affects the FP:Get Image and FP:Get Image Scaled methods when the Visible Area Only parameter is set to False. Workaround: N/A
|
|||||
| 66461 4CUGA5RK Return |
Programatically Increasing Stacked Plot Chart Legend at Run-Time Crashes LabVIEW If you programmatically increase the size of the plot legend through the property LegNumRows when using the stacked plot option of a waveform chart, often times, LabVIEW will crash with a DWARN in alloc.cpp line 655 or a DABORT in ThEvent.cpp line 190. Workaround: Two potential workarounds: 1. If you write to the plot before you change the number of plots visible, then LabVIEW crashes less often. It appears to crash most often when you try to increase the number of plots before LabVIEW has allocated memory for the additional plots. If you are changing the number of plots while LabVIEW is writing to the indicator in a loop, it appears that it still crashes pretty often. This is only a partially viable solution, and only works if you can stop updating the chart while it resizes. 2. Place the stacked plot in another VI and show it on the front panel via a sub-panel. Then use VI server to programmatically update the chart. Another workaround from a customer: Since it is ok to reduce the number of displayed plots on a chart (but not ok to increase it), initialize the program with maximum expected number of plots and then allow the user to reduce from there. If the user wants to increase the number of plots, they must restart the program.
|
|||||
| 66776 4CUDBIVB Return |
Cannot Save Variant Data Returned by the LabVIEW ActiveX Server as a Control/Indicator's Default Value. Cannot save variant data returned by the LabVIEW ActiveX Server as a control or indicator's default data. Saving the VI returns error: "LabVIEW: Memory is full. Cannot save VI [name of VI]. LabVIEW Save error code 10: Default data space."Workaround: Use the VI Server interface instead.
|
|||||
| 65534 4CFADPDX Return |
Replace Array Subset Broken for 3D (or Higher) Arrays Replacing a subset of an array with more than 2 dimensions (i.e. a 3D array) causes a broken wire and the VI to break. 1D and 2D arrays do not have this problem. Workaround: N/A
|
|||||
| 65723 4CKGJ6Q7 Return |
UDP Write Hangs LabVIEW When Called in a Loop with a High Loop Rate Writing data at high rates using the UDP Write function within a loop can cause LabVIEW to hang and display a Resetting VI dialog. The rate at which UDP Write can be called in a loop is dependent upon the size of the data being written during each call to the function. Workaround: Use the Wait until next second multiple function to control the loop rate and therefore how fast UDP packets are written.
|
|||||
| 66538 4CU3C5QW Return |
Updating a Typedef that Contains a Refnum that Contains a Cluster can Make LabVIEW Crash Updating a typedef that contains a refnum to a cluster can make LabVIEW crash. Workaround: N/A
|
|||||
| 65977 4CM921LJ Return |
Shortcuts Added in Installers Are Not Created Properly When creating an installer in LabVIEW 8.5 and creating shortcuts to files included in extra project folders, the shortcuts do not populate correctly in Application Builder, and if a file is selected, it may be linked to the wrong file on the install target. Workaround: More information on this problem, and the National Instruments recommended workaround can be found in KB 4EGEL6HY available on ni.com. If you need an alternative to the workaround presented in the KnowledgeBase, you can create separate folders for each file you need to have a shortcut created for instead of putting them all in one
|
|||||
| 66623 4CUCQEAR Return |
Slower Execution Time When Manipulating Arrays Than In Previous LabVIEW Versions In some cases, LabVIEW mistakenly allocates an extra buffer resulting in more data copying. The computed results are correct but the execution time is much longer than necessary, especially when occurring with array data types. Workaround: Drop an Array Size function and wire it to the same array feeding the array indexer. Through a circuitous chain of reasoning this will effectively get rid of the extra buffer being allocated at the select structure boundary.
|
|||||
| 66867 4D6EI7XX Return |
LabVIEW Throws ActiveX Error 3005 LabVIEW throws ActiveX error 3005 when executing property and invoke nodes that are passed an automation refnum. This is commonly seen in the Database Connectivity Toolset Execute Query VI. Workaround: Use the forward-only cursor type
|
|||||
| 41148 4D1JQKJ7 Return |
Unable to change the Display Format for Y-axis in a dynamic data type Waveform Chart/Graph The display format for the y-axis cannot be changed in a waveform chart/graph if it is configured to receive the dynamic datatype (i.e. it will be blue on the block diagram). Workaround: Configure the y-axis formatting when the graph is not in dynamic datatype mode by deleting any dynamic data wires and rewiring with a waveform. Then you can rewire with the dynamic data.
|
|||||
| 41224 4DA24FXR Return |
Cannot display extended types on intensity plots In LabVIEW 8.0 and newer, when you wire extended precision type numbers to an intensity graph or chart you get a different looking plot than with the same double-precision numbers. Workaround: Use the data type conversion functions to convert your data to double precision representation.
|
|||||
| 65672 4C9CRUXP Return |
Bound, Buffered Shared Variables give Error -1950679020 Running a VI that contains a buffered shared variable bound to another shared variable returns Error -1950679020. Workaround: This behavior is caused by a race condition where the variable attempts to transmit an initial value before the read subscription to the variable has been fully established. This puts the variable in a bad state and causes an invalid error condition to be set. One workaround is to force a read of the variable before writing an initial value to the variable. Another alternative is simply to ignore this error if it is returned by the first read of the shared variable. The error condition will be cleared once the variable subscription succeeds, and variable communication should function normally from that point on.
|
|||||
| 68064 4DOC349I Return |
Performance Decrease When Calling XControl Properties and Methods Calling XControl properties and methods takes 10 to 15x longer in LabVIEW 8.5 than in 8.2. This is easily seen when writing a single property many times or many different properties. This is due to LabVIEW incorrectly scanning memory after each property or method call to see if each VI could be removed from memory. Workaround: N/A
|
|||||
| 67753 4DO78989 Return |
Compiler error when using some strings with Max & Min When using sub-strings (string output of some string functions such as "Match Pattern") with the Max & Min function, compiler error "copy cvt, csrc=0x3F" is generated and the VI fails to compile with broken run arrow and message "VI Failed to Compile." Workaround: Insert an always copy primitive between the wire between the "before substring" output of the Match Pattern function and the input of the Max & Min function
|
|||||
| 67948 4DP855N3 Return |
Write to Binary File function writes incorrect data when writing manipulated arrays When an array of data is written to a binary file, if the array is manipulated in a way that produces sub-arrays to be written to the file (such as through transposing the array or through indexing sub-arrays out of a multidimensional array) the data written to file can be incorrect. Workaround: If you do any array operations such as index array or transpose array, before writing the new array to the write binary file primitive, insert an Always Copy primitive on the wire. A copy will be made, but it will write the correct values to the file. Alternatively, you can use Flatten to String function to flatten data into a string before writing to file.
|
|||||
| 68165 4DQESJU4 Return |
Bundling Two Digital Waveforms of Different Sizes Crashes LabVIEW When you bundle two digital waveforms together, LabVIEW will crash if the first waveform is smaller than the second one. Workaround: N/A
|
|||||
| 68695 4E4ERDTP Return |
Compiler Error in VI with compound arithmetic primitive taking array and float inputs A VI containing a compound arithmetic function with 4 or more inputs will cause LabVIEW to be unable to compile with "VI Failed to Compile" error if the inputs to the compound arithmetic function are a branched floating point number, and a branched array wire that has been manipulated (such as through a mathematical function like Cos). Workaround: Use an always copy primitive on one of the wires branching from the floating point input (as opposed to an array input).
|
|||||
| 68217 4DPRHHV Return |
Write To Measurement File Express VI in a loop always resets each iteration causing multiple channels to be written Writing data to a TDM file with the Write To Measurement File VI in a loop resets the file each loop iteration creating multiple channels of data in LabVIEW 8.5. Workaround: N/A
|
|||||
| 68979 4EFEMMWB Return |
Non-Functional Formula Express VI for Base Development System In the base development system for LabVIEW 8.5 the Formula Express VI appears as a empty icon and is non-functional. This Express VI is functional in the full and professional Development systems. This can also result in LabVIEW load error code 37 if attempting to open a VI with the Formula Express VI that is saved in a previous LabVIEW version. Workaround: Use LabVIEW in evaluation mode for 30 days or use the following work around: In the Functions Palette select "Select a VI..." and choose the function found at: "C:\Program Files\National Instruments\LabVIEW 8.5\vi.lib\express\express arith-compare\FormulaBlock.llb\Ex_Inst_Formula.vi" In order to permanently add this to the Functions Palette, point the user to the LabVIEW Help Topic Editing a Palette Set. Note: Users should be aware that if they migrate to using the different version of the Express VI, they may not get the improved behavior on a future upgrade as we continue to improve this VI.
|
|||||
| 68528 4E2BHO5U Return |
Installer builder source files page shows wrong file names for class members When including override VIs from LabVIEW classes in an installer, the wrong file names are added to the Destination View. This issue also affects build specifications created in previous versions of LabVIEW imported to 8.5 (but not 8.5.1 or later). Workaround: More information on this problem, and the National Instruments recommended workaround can be found in KB 4EGEL6HY available on ni.com.
|
|||||
| 68790 4EB7N9NK Return |
Compiler error when constant wired to TCP write connection ID LabVIEW gives the compiler error "bad dsoffset, dso=-1" when a connection id constant is wired to the connection ID terminal of the TCP write primitive. Workaround: N/A
|
|||||
| 68872 4EBC79AG Return |
Dabort crash in MemoryManager.cpp error 406 when feedback node handles subarray or substring types When an array of data or string is wired to a feedback node, if the array or string is manipulated in a way that produces sub-arrays (such as through transposing the array or through indexing sub-arrays out of a multidimensional array) or substrings (such as through Split/Search String) LabVIEW crashes with an error in MemoryManager.cpp line 406. Workaround: Replace feedback nodes with shift registers, or insert always copy function between transpose array and feedback node terminal.
|
|||||
| 53421 4G9A4D00 Return |
Calling TDMS Read Multiple to Read String Data Causes Memory Leak A memory leak will occur when calling TDMS Read multiple times to read string data. This can happen if calling multiple instances of TDMS Read or are calling TDMS Read in a loop. Workaround: Create a property for each data value and store the string value as the property value.
|
|||||
| 69273 4EM9CC70 Return |
Calling TDMS Read Multiple Times to Read String Data Causes Memory Leak A memory leak will occur when calling TDMS Read multiple times to read string data. This can happen if calling multiple instances of TDMS Read or are calling TDMS Read in a loop. Workaround: Create a property for each data value and store the string value as the property value.
|
|||||
| 67511 4DHDH7B7 Return |
Disabling Allow Debugging (VI Property) Causes Erroneous Values To Be Passed Out of Output Terminals of a Case Structure In some cases, a case structure inside a loop with the selector connected to a 'loop-constant' (i.e., something that doesn't change from one iteration to the next, e.g., a non-indexing input loop tunnel) produces erroneous values from the output tunnels when The VI Properties Allow Debugging option is disabled.. Workaround: On the Block Diagram page of the Tools>>Options Dialog, uncheck Show constant folding of structures. Then, on the Execution page of the VI Properties (for a specific VI), check Allow debugging. Finally, recompile the VI by holding down CTRL and clicking the Run button.
|
|||||
| 69463 4EH5G5TQ Return |
LabVIEW crashes when exporting a graph or chart as BMP or EMF image to clipboard in a LabVIEW executable. A LabVIEW Executable will crash when exporting an image of an XY graph, waveform graph, or waveform chart, as a BMP or EMF format. VIs doing the same thing in the development system do not crash. Workaround: N/A
|
|||||
| 70226 4F7DAD41 Return |
The XY Graph Property Active Plot Leaks Memory The "Active Plot" (ActPlot) property for a Waveform Graph or XY Graph leak memory. Workaround: N/A
|
|||||
| 53130 4EM7J8WQ Return |
The Formula Express VI Can Produce Incorrect Results When All Inputs Are Integers The numeric representation of a Formula Express VI's 'Result' output terminal is dependant on the representation of the inputs, regardless of the mathematical operations used. For example, if the inputs to the Formula Express VI are all integers and the mathematical operation is division, the result will also be an integer. This is inconvenient when using divisions, logs, etc. as LabVIEW normally coerces inputs in numerical operations when necessary. Workaround: Insert a 'To DBL Precision Float' in the wire of any of the formula inputs to change the 'Result' representation to DBL.
|
|||||
| 42538 4F6C651W Return |
Printing VI Documentation Does Not Include Control Descriptions of the Control if it is a Typedef Workaround: Disconnect typedefs for printing. This issue was reported on the NI Discussion Forums. For more information on this issue, or to discuss this issue with other LabVIEW users, visit the post here.
|
|||||
| 70577 4FFFDF7U Return |
Number To Fractional String Uses Incorrect Precision With Doubles When passing a double (DBL) number to the precision input of the Number To Fractional String, it appears the output string uses a precision of 0. When coercing the double to an I32 before passing it to the precision input, the output string uses the specified precision. Workaround: Coerce the DBL value to an integer, using a To Long Integer function, before passing it to the precision input terminal.
|
|||||
| 43116 4FQ6JR1G Return |
Duplicate Case Crashes with "Delete/Copy panel terminals from diagram" Disabled The Block Diagram option "Delete/Copy panel terminals from diagram" allows front panel terminals to be copied/created by copying the block diagram terminal. If you disable this and ask LabVIEW to duplicate a case that has a terminal, LabVIEW crashes. Workaround: Enable the "Delete/Copy panel terminals from diagram", duplicate your diagram then delete the undesired terminals or use the Add Case instead.
|
|||||
| 68471 4E485CF2 Return |
Loading VIs Containing References To .NET Assemblies in the GAC Results In Irresolvable Assembly Load Warnings In rare cases, you may receive warnings when loading a VI that calls .NET assemblies in the Global Assembly Cache (GAC): The .NET assembly expected to be at "C:\[PATH]\[VINAME].vi\<GAC>\[Assembly Name]" was loaded from "<GAC>\[Assembly Name]". You may also receive error 1003 when building an application with VIs that call .NET assemblies in the GAC, indicating "The VI is not executable." Opening the VIs will produce the load warnings mentioned above. Neither saving the VI nor reconfiguring the .NET nodes will resolve this. Workaround: 1. Open the VI. 2. Delete all .NET nodes that reference the specified assembly(s). Also, delete any .NET refnum controls or indictors that reference the specified assembly(s). Note, this will break the VI. 3. Save and close the VI. 4. Reopen the VI and verify you do not get the GAC warning message. 5. Close and restart LabVIEW. 6. Open the VI. 7. Recreate the VI components you deleted in step 4. 8. Save and close the VI. 9. Open the VI (and if applicable, build the application) and verify you do not get the .NET load warnings. 10. Repeat this for all VIs and controls that contain .NET nodes or .NET refnums that reference the specified assembly(s). Note: When loading a VI that calls other VIs that you have already fixed, they will be re-broken in memory. Therefore, do not save the subVIs upon saving and closing the top-level VI. Doing so will re-break those subVIs. To be safe, apply your workaround with a top-down approach starting with the top-level VI and working down towards the subVIs.
|
|||||
| 58848 4F5HD99A Return |
Open/Create/Replace Datalog.vi does not show confirmation message when "replace or create with confirmation" is selected Workaround: Write custom code to first detect whether or not the file exists and give a custom dialog.
|
|||||
| 70082 4F461U8G Return |
Dropping a front panel object with associated block diagram code onto a front panel containing a splitter bar causes LabVIEW to crash Dropping a front panel object with associated block diagram code onto a front panel containing a splitter bar causes LabVIEW to crash. Examples of front panel objects with associated block diagram code include the Express XY Graph, Express Table, and 3D Graphs. Subpanels do not exhibit this behavior. Workaround: N/A
|
|||||
| 42354 4ET88JB9 Return |
Visual Basic 6 Crashes when Calling LabVIEW 8.5 DLL with Mathscript Node Visual Basic 6 crashes on exit when calling a dll created from a vi containing a mathscript node in LabVIEW 8.5. Specific error reported: Fatal Internal Error: "LinkObj.cpp", line 714. If the mathscript node is removed from the vi (before the dll is created), there is no error in Visual Basic 6. If the dll (with the mathscript node) is called from .Net (C#) or from inside of LabVIEW 8.5 using a Call Library Function Node no error is seen. Workaround: Use VB .NET instead of VB 6. See this Discussion Forum Post for more information and discussion on this problem.
|
|||||
| 43109 4FRF0826 Return |
Cannot customize plot legend with background image in LabVIEW You cannot configure a plot legend with a custom background image in LabVIEW. Workaround: Make the color of the plot legend transparent, and place the image behind it. This only works if your plot legend remains a fixed size in a fixed location.
|
|||||
| 53386 4G51T2U1 Return |
VI saved without diagram breaks when it contains .NET reference Distributing a VI which contains .NET functionality (especially a callback function) fails when the option "Remove Block Diagram" is enabled. Workaround: Do not save the VI without a block diagram.
|
|||||
| 59426 4GQA4KNO Return |
Sweep Chart with Large History Length Crashes LabVIEW Sweep charts configured with a large history length (multiple thousands of points) and an autoscaling X axis will cause LabVIEW to crash after the first sweep. Decreasing the chart history length afterwards does not prevent the crash from occurring. A new chart must be created and configured. Workaround: Use either the Strip or Scope Chart update methods or use a smaller Chart History Length.
|
|||||
| 45655 4IBFAOAG Return |
Crash Creating Control from Match Regular Expression with Standard Classic Palette If your LabVIEW.ini file has the key paletteStyle="StandardClassic", you will see a crash if you try to right-click and create a control/constant from a terminal on Match Regular Expression.vi. Workaround: Remove paletteStyle="StandardClassic" option from the LabVIEW.ini file or choose another.
|
|||||
| 99475 Return |
Error 1 on first build of application when using custom error codes When you create custom error codes and select the "Copy error code files" when building an executable, the build may fail on the first attempt with an Error 1. Workaround: After seeing the error, build the application again for a successful build.
|
|||||
| 99672 Return |
Alt key halts VI Execution when Menu Bar is not Visible If you hide the menu bar of a VI, the VI will pause if the Alt key is pressed and resume if the Alt key is pressed a second time. Workaround: Show menu so that it cannot accidentally be paused. or Use an empty custom runtime menu and uncheck Allow default run-time shortcut menu.
|
|||||
| 105336 Return |
Using an ActiveX Document control can crash LabVIEW Wiring an Activex Document Control (a special type of ActiveX control not commonly used with LabVIEW) with the 'create document' option to a property node, it crashes LabVIEW without any error notice. Workaround: N/A
|
|||||
| 94566 Return |
Probes on a cluster containing an IMAQ image always fail to load Right-clicking to create a probe on a cluster that contains an image returns error "Failed to load or create probe". This worked in LabVIEW 8.0 and 8.2. Workaround: Create custom probe without IMAQ image.
|
|||||
| 96735 Return |
Wiring Invalid File Refnum to Deny Access function crashes LabVIEW When using the Deny Access primitive, if an invalid reference number (including a null reference constant) is passed to this reference input of the function, it will crash LabVIEW. Workaround: Ensure an invalid reference number isn't passed to this VI.
|
|||||
| 97181 Return |
On a Mac, a VI that writes waveform data to a chart on the Web Server crashes the Web browser when accessed from a PC When posting a VI that writes waveform data to a chart inside a loop on the Web Server for remote front panels on a Mac, accessing the remote front panel from a PC may crash the Web browser. Workaround: Use graphs instead of charts. If chart functionality is necessary, you can programmatically create a history of data that gets plotted to the graph on each plot.
|
|||||
| 100580 Return |
Dropping control references may cause Data Change event for XControl Dropping a control/indicator reference onto a VI that is hosting an XControl, whose data type is an array, will cause a Data Change event to be handled by the facade VI of the XControl. Workaround: N/A
|
|||||
| 44355 4HGA9JBK Return |
Timed-Sequence iteration duration terminal does not work The Iteration Duration output terminal on Timed-Sequence structures no longer functions correctly. Workaround: Use the Global End and Global Start time to calculate the total duration of the structure.
|
|||||
| 118949 Return |
Tab control local variables generate value change events when you use a multi-column listBox A value change event is generated when a Tab Control local variable's value is changed in an Event Structure that was triggered by a double-click/ value Change on a multi-column listBox.. Workaround: Use Value Property Node for the Tab Control instead of Local Variable to change the Tabs.
|
|||||
| 119444 Return |
Mulicolumn listbox format lost on upgrade A Multicolumn listbox created in LV 7.1 may lose its format when opened in LV 8.5 or later. Column headers lose their 3D appearance and font formatting might be lost. Workaround: Replace the Listbox and recreate all customizations
|
|||||
| 120556 Return |
Constant-folded case structure tunnel coerces to non-folded type in LabVIEW 8.5 but not in previous versions If you have a case structure wired with a constant and including a tunnel, and you have two differing, but coerceable, types wired to the tunnel, the type of the tunnel is now (LabVIEW 8.5 and later) dependent on which case has been folded. In LabVIEW 8.2 and prior, LabVIEW coerces the value based on rules for the type. Among other things, this change means that when you upgrade an application from older versions, it may have broken wires or changes in data types. Workaround: Wire a control to the case structure instead of a constant to prevent the constant folding.
|
|||||
| Upgrade - Migration | ||||||
| 65344 4CG9B3J1 Return |
Upgrading a LabVIEW Class Containing a Resource Control in the Private Data Causes Corruption Upon Save When upgrading a LabVIEW Class Containing a Resource Control (such as a VISA control, DAQ channel control, DAQmx task control, IVI control, Shared Variable control, etc.) in the Private Data, saving the VI causes the LabVIEW Class to become corrupt. Workaround: The first time you load the private data control in 8.5, open the front panel and resize any control in the private data cluster before saving. This puts a change on the VI so the class knows to update the save image. This issue has been fixed in LabVIEW 8.5.1. This fixes classes saved in LV8.2 that load into LV8.5.1. However, any VI that has already been saved corrupted cannot be recovered.
|
|||||
| 102226 Return |
Format Into String function containing an enum input with an out of range value crashes LabVIEW Executing a Format Into String function containing an enum input with an out of range value crashes LabVIEW. It is possible to create an enum with an out of range value in LabVIEW 7.x by creating a new enum, adding items to the enum, selecting the last item in the enum on the front panel, and then removing the last item from the enum through the Edit Items dialog. Doing so in LabVIEW 7.x creates an enum with an out of range value that appears as a list of items (upon clicking of the enum) where none of the items have a checkmark. This state of an enum is not possible to create in LabVIEW 8.x. However, this state will persist in 8.x for an enum control saved in LabVIEW 7.x and upgraded to LabVIEW 8.x. Selecting an item in the enum, making the current control value the default value, and then saving the VI will prevent the enum from entering this state in LabVIEW 8.x. Workaround: Select an item in the enum, make the current control value the default value, and then save the VI.
|
|||||
| 113584 Return |
LabVIEW 8.5 coerces out of range enums to the last value, prior LabVIEW versions coerce to 0 When you wire value to a enum indicator, if the value wired to the indicator is out of range, LabVIEW 8.5 coerces the value to last value in the indicator, LabVIEW 8.2 and prior incorrectly coerces the value to 0 (the first value in the enum indicator). Workaround: This change in behavior between LabVIEW versions was introduced as a result of fixing the incorrect behavior in LabVIEW 8.2 and earlier. To restore original behavior, perform an out of range check on anything wired to an enum. If the value is out of range, programmatically set to 0. It is generally considered unsafe programming practice to allow an out of range value wired to an enumeration.
|
|||||
| 108672 Return |
Replacing outdated Express VI does not give notice If you open the Express VI "Write LabVIEW Measurement File" from previous LabVIEW versions in 8.2 or later, LabVIEW automatically converts it to the newer "Write to Measurement File" Express VI. When this happens, there is no message to the user, so you may not notice that your code has changed. If you click the "Cancel" button in the Express VI Property pages, the previous file path is not preserved. Workaround: N/A
|
|||||
| 99825 Return |
Table Property Nodes Run Slow After Upgrade from 7.1 Property nodes that are used to update table controls on the front panel (such as Set Cell Value, Active Cell, CellBGcolor, CellFontColor) run about 7 times slower in LabVIEW 8.x versions than in 7.1 and prior. Workaround: Use defer front panel updates to avoid rapid updates of the UI which would probably not be noticed. This design pattern can speed up the program to levels much faster than 7.1 ran before the slowdown.
|
|||||
| 108413 Return |
Possible Execution Time Slowdown in 8.5.1 There is a particular combination of repeatedly calling Bundle By Name and/or Insert into Array functions that slows down when compiled in 8.5.1. Workaround: Re-architect to call these functions in a different way if you see this problem.
|
|||||
Reader Comments | Submit a comment »
Where to submit feedback on this document
If you are interested in submitting feedback
on this document, please do so here on the NI
Discussion Forums:
http://forums.ni.com/ni/board/message?board.id=170&thread.id=339788
Thanks!
Travis M | National Instruments
- Jul 18, 2008
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
