Archived: LabWindows™/CVI™ 2013 SP1 Bug Fixes

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Overview



The following items are changes from LabWindows/CVI 2013 to LabWindows/CVI 2013 SP1. If you have a Bug ID, you can search this list to validate that the issue has been fixed.

Note: LabWindows/CVI 2013 SP1 integrates all of the fixes from the LabWindows/CVI 2013 f1 patch. For a list of fixes included in the patch, see the patch details.

Bug Fixes

IDLegacy IDFixed IssueIssue Details
394758
When a build distribution finishes, LabWindows/CVI continues to use 100% of the CPU.If you build any distribution and then leave open the dialog box that shows the build was completed, cvi.exe will use 100% of the processor on which it is running.
402701
Duplicating a control in a mouse-up callback may cause an assert and possible crash.For example, an assert or crash may occur if a control is duplicated in an EVENT_LEFT_CLICK_UP event.
403294
If a variable is declared at the beginning of a switch statement body, LabWindows/CVI displays a -wunreachable-code compilation warning.This warning displays when compiling in both debug and release configurations.
409932
Using a reduction clause may cause incorrect results to be returned.After the parallel region has completed, the process of updating the original variable using the private copies sometimes results in a race condition. The race condition can cause the original variable to contain incorrect results. For more information on the reduction clause, refer to the Reduction Clause help topic.
410989
A small resource leak occurs upon direct or indirect disposal of a control, which, initially made movable, is made un-movable at run-time.If you set the control attribute MOVECTRL_ATTR_ENABLED to 0 at run-time for a control that was initially movable and then dispose of the control, a small resource leak occurs.
411417
The project icon shows modified state (*) when no changes have been made to the Target Settings dialog box.LabWindows/CVI does not prompt to save or discard project changes when the project is in this state.
413261
The LabWindows/CVI compiler does not generate prototype definitions for macro expanded functions.If you define a function that is actually a result of a macro expansion and select the function in NI TestStand, the function prototype information is not automatically filled in.
413765
Running a real-time (RT) program that uses DEFAULT_THREAD_POOL_HANDLE crashes the RT target on reboot.Note: The documentation states: (RT) Do not use the default thread pool in RT applications.
414554
No run-time error is produced while debugging when uninitialized structures or structure array elements are accessed.Compiler warnings are shown, but the debugger does not produce a NON-FATAL RUN-TIME ERROR stating that the local was referenced before being initialized at run-time.
414568
Writing a string to file from the Array Display window is very slow. 
414651
Switching projects while the Interactive Execution window is active sometimes causes LabWindows/CVI to crash.For this crash to occur, you must have manually loaded an instrument which was not automatically loaded by the active project.
414652
Function pointer variables are incorrectly listed for non-void pointer- or array-type controls in the Select Variable dialog. 
415252
Resizing a tree control that originally had the last item partially visible can sometimes cause a crash. 
415271
The LabWindows/CVI compiler runs out of memory if void main() returns a value. 
417800
Using #pragma GCC visibility push(hidden) causes LabWindows/CVI to crash during compilation.The GCC visibility hidden pragma is not supported on Windows.
417978
Some feature checking macros with missing arguments cause the LabWindows/CVI compiler to hang.The following are examples of macros that can cause this hang:
__has_builtin
__has_feature
__has_attribute
__has_include
__has_include_next

The following build error results:
2, 5 error: builtin feature check macro requires a parenthesized identifier.
418152
If a function call is written in a source file before any other statement, LabWindows/CVI displays a ran out of memory when generating browse information message. 
418540
Calling SetActiveConfiguration crashes LabWindows/CVI if no valid configuration exists.If you want to set a custom configuration, you must specify a buildOption greater than 3. However, if you try to set an invalid active configuration for a project that has no custom configurations or simply to a non-existent configuration, LabWindows/CVI will crash.
421158
Enabling Options»Build Options»Detect uninitialized local variables at run time causes the debugger to return incorrect run-time errors when indexing arrays in a for loop. 
421675
Interactive Execution window code does not rebuild in subsequent execution attempts after a linker error occurs. 
422597
Creating a release build using Clang as an external compiler results in build failure.The build fails with the following output:
Build Status (Test402701.prj - Release)
Test402701.c - 1 warning
1, 1 The system cannot find the path specified.
Build failed
422871
The DeleteDir function writes to a string literal past the end of the string.For example, the following code snippet will cause a non-fatal run-time error due to string corruption:
char* p ="temp1";
MakeDir("temp1");
DeleteDir ("temp1");
printf("P= %s\n", p);
422950
The __FILE__ macro expands to full pathname by default instead of only the file name. 
422953
The ScanFile function ignores the %s[in] format specifier. 
423062
The BuildIntWinProgram function always returns an error. 
423475
The LabWindows/CVI compiler crashes on an apparently invalid linkage for a global variable.The following syntax for the global variable produces the crash:
extern DLLEXPORT int foo;.
423492
The Variables and Call Stack window incorrectly shows pointer information for pointers passed through (void **) parameters. 
423654
The Variables and Call Stack window cannot display 64-bit integers in binary format. 
424471
The _OPENMP macro is incorrectly documented as defined only when the Enable OpenMP support option is enabled.The _OPENMP predefined macro is always defined regardless of whether the Enable OpenMP support option is checked.
425151
If a function pointer is defined in the source, the LabWindows/CVI debugger crashes when Options»Interpret As is selected from the Variables and Call Stack window context menu. 
426262
Compiler warnings occur when building a project with precompiled headers and Microsoft Visual Studio 9 as an external compiler.The following compiler warnings display:
', object file assumed
' ignored
cl : Command line warning D9021 : no action performed
426584
Generating a type library with a function panel that uses undefined struct data types results in an unexplained error. 
426628
A header file is required for type library function panels in order for build to succeed. 
426785
Installing LabWindows/CVI 2013 causes a noticeable slow down in TestStand debugging features for LabWindows/CVI.Installing LabWindows/CVI 2013 causes all LabWindows/CVI development environments to slow down when called by TestStand for debugging. The DLL used by TestStand to access LabWindows/CVI debugging features is shared by all the versions of LabWindows/CVI on a computer system.
427783
Double precision is limited to five decimal places in the Variables and Call Stack window. 
428584
The DDC_Get[File/ChannelGroup/Channel]StringPropertyLength functions incorrectly return the number of characters instead of size in bytes.This is a problem only when called on a string property whose value contains multibyte characters on a system with a corresponding multibyte code page selected.
428966
Pointer handling creates a non-fatal run-time error out of bounds when compiling for debug64.Decrementing a pointer can cause this error in 64-bit applications.
429073
The LabWindows/CVI compiler crashes when using variable length arrays (VLAs) as OpenMP data-sharing variables. 
429202
It is impossible to set multiple cells in a table control to unsigned char in the User Interface Editor. 
430784
LabWindows/CVI throws errors regarding file version macros when using precompiled headers and auto-increment file version for release configurations. 
431261
The LabWindows/CVI compiler crashes when a build step includes multiple %s statements. 
431971
LoadExternalModule and LoadExternalModuleEx cannot link libraries with global pointer variables. 
432526
An Assert! error occurs when using the CVI GUI Localization Utility. 
432688
The TestStand debugger continues instead of breaking on the next step when stepping out of a LabWindows/CVI code module.This problem occurs when debugging a LabWindows/CVI code module, called from TestStand, if LabWindows/CVI 2013 is installed.
433769
UIR changes are not included in an executable build when the Embed project .UIRs option is enabled.A change, introduced in the LabWindows/CVI 2013 f1 Patch prevents incremental changes to embedded UIR files from being included in subsequent builds.
434048
LabWindows/CVI displays a A custom control callback raised an exception message when changing the Array Display window format to ASCII.After dismissing the dialog box, the mouse pointer changes into the wait cursor, but the development environment does not hang. Stepping over in the debugger after dismissing the dialog box causes the development environment to crash.
434857
Opening the Variables and Call Stack window in the SymmetricMultiprocessingRT example crashes the real-time target and hangs the development environment. 
434892
It is not possible to step into a LabWindows/CVI DLL from NI TestStand when using LabWindows/CVI 2013.While debugging in TestStand, if you choose to step into a LabWindows/CVI DLL, TestStand will instead skip to the next sequence. This problem is unique to the LabWindows/CVI 2013 development environment.
435055
The LabWindows/CVI 2013 f1 patch version of cvi_lvrt.dll cannot load on real-time targets.If you manually transfer the 2013 f1 patch version of cvi_lvrt.dll to your real-time target, it will fail to load with the following message:
Error loading 'cvi_lvrt.dll': Missing export 'GetShortPathNameA' from 'KERNEL32.DLL.

Note: Installing the 2013 f1 patch does not automatically cause this DLL to be installed to your real-time targets.
435108
Compiling source code with enums in the Interactive Execution window fails with an Invalid allocation size message.The following snippet produces the error message:
enum months { Jan=1, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };
enum months month;
printf ( "%d\n", month=Sep );
435714
If you upgrade the version of NI-VISA or IVI Compliance Package on your system and the upgraded versions have added new functions, you will not be able to run the newly added functions in the Interactive Execution window. 
435982
The Build Output window is cleared after calling ActiveX automation function GetCVIState. 
435983
Instruments loaded in the Library Tree are not loaded in the Interactive Execution window.This can lead to unresolved symbol error messages when certain functions are called from the Interactive Execution window.
436211
The Array Display window, configured to display ASCII, shows the octal code for last 9 bits for an array with more than 1 byte width. 
437051
Data tooltips display infinite precision instead of scientific notation. 
437134
GetCVIState and GetCVIStateEx sometimes return the wrong state between the build-time and run-time of a project.When building and running a project, there is a window of time in which the project has been built but has not yet started running. During this time, GetCVIState and GetCVIStateEx return the same state as after the project has begun running. Consequently, a program that is checking if the project has finished executing might incorrectly think that the project has finished executing, when it has not started yet.

This happens very infrequently.
437610
LabWindows/CVI 2013 removed support for specifying a .c file as the module to load to the LoadExternalModule and LoadExternalModuleEx functions.LabWindows/CVI 2013 SP1 restores support for this feature.
438332
Clicking the options button in the graph cursor control from the graphcursorctrl.prj shipping example causes a non-fatal run-time errorThe error message is as follows:
NON-FATAL RUN-TIME ERROR: "graphcursorctrl.c", line 58, col 5, thread id 0x00001078: Library function error (return value == -46 [0xffffffd2]). The attribute passed is not valid
438578
LabWindows/CVI hangs on multiple occasions when stopping the Interactive Execution window in Debug64 configuration. 
438723
The CanvasClear function does not clear all its contents if the canvas control attribute, ATTR_PEN_WIDTH, is greater than 2. 
438724
LabWindows/CVI generates an Unrecoverable Internal Error when generating a DLL import source. 
438812
The LabWindows/CVI graph control sometimes displays two zero-valued y-axis tick marks when using a log scale.When graph ticks have values on the order of 10-60 and smaller, their values are rounded to 0 on the tick label.
438840
The ATTR_TOOLTIP_HIDE_DELAY attribute is not saved when saving a UIR as a TUI. 
438949
Breakpoints in project source code are not bound when running a stand-alone Interactive Execution window program.If you set breakpoints in the source code of your project, those breakpoints will not be reached while you run your program in the stand-alone Interactive Execution window.
440415
Debugging via LabVIEW does not fully support multiple calls into the same DLL at the same time.For example, a LabVIEW project might call two functions in a DLL from separate threads at the same time. Both LabWindows/CVI functions register the DLL with the LabWindows/CVI debugger. The first thread to exit the DLL will unregister the DLL from the LabWindows/CVI debugger while the second thread is still executing inside the DLL. This is a problem only when the second thread generates a run-time error, because the debugger thinks the location of the error is in an unknown module. The debugger cannot display proper source information for the error.
441043
Combining several operations on a pointer after a pointer cast or referencing specific elements in a global array causes compile-time crashes.Combining several operations on a pointer after a pointer cast example:
*((unsigned short *)ptr)++ = x;

Referencing specific elements in a global array example:
temp = &GlobalPointer[0];
442199
LoadExternalModule loads .obj files that are linked into the calling executable instead of loading only .obj files on disk.This occurs when the .obj file is specified by name instead of by its full path.
443056
Break On Change option in the Watch window does not work for items below the fourth position in the watch list. 
443084
The Watch window does not retain the Format setting for variables between debugging sessions. 
443134
Running a function panel with attached source in the Interactive Execution window always uses the Debug32 object, resulting in link errors or unintended behavior.Note: This appears to work with 32-bit configurations, but the wrong compiled object is used.
443144
The Watch window does not retain the Format setting for variables when stepping through code. 
443270
Adding an enum variable to the Watch window crashes the debugger. 

Glossary of Terms

 

  • Bug ID - When an issue is reported to NI, you may be given this ID or find it on ni.com.  You may also find IDs posted by NI on the discussion forums or in KnowledgeBase articles.
  • Legacy ID – An older issue ID that refers to the same issue.  You may instead find this issue ID in older known issues documents.
  • Description - A few sentences which describe the problem. The brief description given does not necessarily describe the problem in full detail.
  • Workaround - Possible ways to work around the problem.
  • Reported Version - The earliest version in which the issue was reported.
  • Resolved Version - Version in which the issue was resolved or was no longer applicable. "N/A" indicates that the issue has not been resolved.
  • Date Added - The date the issue was added to the document (not the reported date).