This section contains limitations added in both this release and in previous releases.
Limitations for installation, upgrade and deployment
If re-installing the Klocwork plug-in for TeamCity, make sure the Project Settings do not have the 'klocwork.step.enabled' parameter
If you have installed and uninstalled the Klocwork plug-in for TeamCity previously, this parameter may have been defined. When doing a new installation, ensure this parameter has been removed.
Workaround: To remove this parameter, access your TeamCity server and go to Administration -> <Project_name> -> Project Settings -> Configuration Parameters. From this page, remove the 'klocwork.step.enabled' parameter.
Limitations for Checker configuration migration
Note the following limitations with checker configuration files during the upgrade process (via the import process):
- Only modifications to default checker configuration files are imported. If you had a non-default checker enabled in an earlier installation and it was renamed in a new version, you will not see the checker in new builds. You must manually re-enable the checker in the new version of Klocwork.
- If a checker that was enabled by default was renamed in the new version of Klocwork, you will not see new codes until the first system build of the new installation.
java_wrappers.conf is no longer used to edit heap size setting
A new file, java_wrappers_memory.conf is created during installation, that populates appropriate heap sizes according to your machine's memory. If you want to modify the heap size, modify this file. The previous recommendation to modify the java_wrappers.conf on Windows is deprecated, as those settings are ignored. Similarly, the previous recommendation for Linux, to modify the last two lines in the shell scripts under <klocwork_install_path>/bin, is unsafe as it may conflict with the java_wrappers_memory.conf settings.
Limitation for importing projects with existing reports
If you attempt to import a project with existing reports that use default metric names, you may see unexpected results.
Workaround: When importing a project, ensure that the reports do not use default metric names. If you encounter this error message, you can either delete and re-create the report or edit the metrics.xml file, ensuring that missing or disabled definitions are enabled.
You must have the Microsoft .NET 4.0 Framework installed in order to run Windows services
This framework is installed by default as part of Windows 8 and Windows 10. For all other versions of Windows, you must download the Microsoft .NET 4.0 Framework Installer and install the framework manually.
kwcollect fails on tables generated by new analysis engine
The behavior of kwcollect has changed with the introduction of the Klocwork 2018 analysis engine.
Workaround: If your project has been built with Klocwork 2018's new analysis engine, you must include the, '--all-sources' option on the command-line. This requirement does not apply if your project was built without Klocwork 2018's new analysis engine. To determine if your project was built with the new analysis engine, examine the output of the build process in the build.log, contained in the root of the build's output tables folder. Find the line that begins with 'Selected Engines'. Your project has been built using Klocwork 2018's new analysis engine if 'MODERN' appears between square brackets.
Limitations for Mac OS support
- On Mac, clients running Flex Net Publisher version 22.214.171.124 cannot connect to a Klocwork 2019.1 server running Flex Net Publisher 126.96.36.199. For a workaround, see kwlef error states license is not valid.
- Distributed Analysis is not supported.
- For developers, plug-in support is provided for Eclipse and IntelliJ IDEA. If your developers are not using Eclipse or IntelliJ IDEA, they need to use Klocwork Desktop Command Line for C/C++ or Java (kwcheck) or Klocwork Desktop to analyze their code and view detected issues. See Fixing issues before check-in with Klocwork Desktop Analysis.
- System Integrity Protection (SIP) blocks the kwinject command from running properly on Mac OS X 10.10 and later. Kwinject returns the following warning, with error code 1: "System Integrity Protection is enabled. kwinject cannot inject to process." Workaround: Disable SIP on the machine running the Klocwork analysis or see Using kwwrap plus kwinject to generate a build specification.
Limitations for build integration
Cannot load Android 4.4 (KitKat) using the default memory settings for kwloaddb, kwadmin and kwjava
When building the Android platform, you may need to increase the memory settings for certain Klocwork tools on the machine invoking the load process. These values can be modified in the <klocwork_install>/config/java_wrappers_memory.conf file.
Android N Java analysis with Jack toolchain
When building Android N using the Jack compiler, some jar files required for Klocwork Java analysis are not generated during the build process. Therefore, kwbuildproject encounters "Unresolved import", "Unresolved method", and "Unresolved name" semantic errors that affect the accuracy of the analysis results.
Workaround: Open a ticket with Klocwork customer support. Customer support can provide a script that can generate the jar files required for analysis. Run the script after running the kwinject command and before running the kwbuildproject command.
Limitations for C# analysis
Klocwork's C# analysis is supported only on Windows.
The following features are not supported for C# integration projects:
|Integration build analysis|
|Klocwork Static Code Analysis||
The following features are not supported for C# desktop analysis:
- On-the-fly analysis
- Display of server issues in Visual Studio
- Parallel analysis
- Incremental analysis
- File-level analysis in Visual Studio (only solutions and projects can be analyzed)
- Using metric thresholds and knowledge bases
Using metric thresholds and knowledge bases is not supported for C# server build analysis.
Limitations for Klocwork Static Code Analysis
In Microsoft Edge, some items may not be clickable
Due to a Microsoft Edge issue, some items in the portal may not be clickable. For more information, see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/5782378/
Workaround: Refresh the page.
Limitations for Klocwork Desktop Analysis
Analysis is not supported for 'no-resolve' mode in certain scenarios
The "no-resolve" mode was added to support symbolic links to source files on Linux. Symbolic links to directories are not supported.
The Eclipse plug-in supports the "no-resolve" mode only if project is configured to use an external build specification, and that build specification was created by using kwinject with "--no-resolve" option.
For WindRiver Workbench users, you will receive an error message if you attempt to use a project with exterior sources linked to it.
Limitations for the Visual Studio plug-in
Visual Studio hang
The Klocwork development team is tracking a support request with the Visual Studio Technical Support team where user actions cause Visual Studio to hang under a number of conditions. These Visual Studio hangs occur whether or not the Klocwork VS Extension is installed. For example, when navigating into the definition of a function that is defined in a source file that is not currently open in a tab in Visual Studio, Visual Studio opens that file in a temporary tab. When this temporary tab is open, if you then navigate to the definition of a different function, Visual Studio hangs.
Visual Studio 2017 help
As of Visual Studio 2017, the Help Viewer component is no longer installed by default and must be explicitly selected during installation. If you attempt to install our Klocwork extension for Visual Studio and you do not have this component installed, you will receive an error as our local help is unable to be installed. For more details on this, see Klocwork Help registration could not acquire the location of the Help Viewer.
Kwvcprojparser not supported for Visual Studio 2017
The kwvcprojparser command is not supported for Visual Studio 2017 projects built from the command line. The kwvcprojparser command is supported on Visual Studio 2010, 2012, and 2015; however, it only provides results based on the previous generation (pre-Klocwork 2018) analysis engine.
Workaround: Use the kwinject command to create the build specification.
The filter by severity option in the Microsoft Visual Studio extension may not display custom severities for C++ projects
For C++ projects where you have defined custom severities, the severity filter list may not display the correct items. The list may display default severity names, or in the case where you have a mixed C++ and C# project, the list will display the C# severities. You can still use the filter, but the severity names displayed in the issue tree may not match the items you selected in the list (as the filter is applied by severity number).
After uninstalling the Klocwork Microsoft Visual Studio extension, the Klocwork help content is not removed
Due to a limitation of the Microsoft VSIX installer, Klocwork help is not removed after uninstalling the plug-in.
Workaround: You can uninstall the help files manually. Go to Help > Add and Remove Help Content; In the Klocwork Inc. section, click the Remove action next to Klocwork Desktop Plugin. You can install a future version of the plug-in without issue.
For the Microsoft Visual Studio extension, minor performance degradation when working with server issues if connection to server is lost
A lost server connection causes a delay of up to three seconds when working with server issues, for example, when opening or citing a server issue.
Workaround: Work with local issues only by clicking the "Show local issues only" button.
F1 help does not work when you attempt to open help for an issue from the Klocwork Issues window in Visual Studio for the Klocwork extension for Visual Studio
If you click on an issue in the Klocwork Issues window and attempt to open the help for it by pressing F1, the shortcut opens the incorrect help in the Help Viewer.
Workaround: Open the help for the checker by right-clicking on the issue and select View Checker Documentation from the Manage <checker name> Checker menu.Klocwork server option fails to retrieve projects when you use a hard-coded IP address
If you use a hard-coded IP address in the Klocwork server dialog under the Klocwork options menu, the Klocwork extension for Visual Studio fails to retrieve the list of projects.
Workaround: Use the host name instead of the IP address; if this is not an option, you can add an entry in the hosts file for the IP address.Klocwork plug-in for Android Studio installs to unexpected location
If IntelliJ IDEA 2017 and Android Studio are both installed, and you install the Android Studio plug-in, the IntelliJ IDEA path will be auto-filled instead of the Android Studio path. Klocwork automatically detects your IntelliJ IDEA directory and installs the plug-in to that location.
Workaround: If more than one installation directory is detected, you must browse to the preferred location for Android Studio manually.
Limitations for Help in Android Studio and IntelliJ IDEA 2017+
Offline help is not available for Android Studio and IntelliJ IDEA versions 2017 and newer. Offline help is available by using the Klocwork Portal. Online help is also available.
Limitations for Klocwork Desktop
Analysis is not supported with any of the following configurations:
- When a project with symbolic links is configured with an external build specification that does not have the attribute "no-resolve". If a project uses symbolic links, the user must configure the project using an external build specification, and the external build specification must be created with the "no-resolve" option passed to kwinject.
- When a project with symbolic links is configured to use the Eclipse CDT toolchain. The Eclipse plug-in does not allow the user to set a "no-resolve" option.
- When a project contains a symbolic link to a directory. The plug-in supports symbolic links to files only.
Limitations for Klocwork extensibility
C/C++ Path checker compilation makefile compatibility
The makefile generated by kwcreatechecker on Unix systems requires GNU make to build the checker. The default make installed on non-GNU systems such as AIX or Solaris may not compile Klocwork extensions for C/C++. On Windows, the makefile generated by kwcreatechecker requires nmake to build the checker.