V017. The analyzer terminated abnormally due to lack of memory.
The V017 warning in the report means that the analysis was urgently stopped due to a lack of free RAM required to run the analyzer. This usually happens when the analysis is running with a large number of threads in relation to a small amount of free RAM.
Possible solutions
At least 2 GB of memory per analysis thread is required for the C and C++ analyzer core to run stable. There are several ways to resolve this issue:
- reduce the number of analysis threads;
- increase the size of the swap file.
Note. Attempting to fix the error by simply increasing the size of the swap file may issue the V006 warning.
The following describes how to reduce the number of analysis threads in the various product components.
Plugins for IDEs. In the PVS-Studio plugin settings, set the 'ThreadCount' option to a lower value.
PVS-Studio_Cmd / pvs-studio-dotnet. In the analysis configuration file ('Settings.xml'), set the 'ThreadCount' option to a lower value.
CompilerCommandsAnalyzer / pvs-studio-analyzer. Lower the number passed to the '-j' / '‑‑threads' parameter.
Integration with Unreal Build Tool. Use the 'BuildConfiguration.xml' file with the following configuration:
<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
<ParallelExecutor>
<MaxProcessorCount>1</MaxProcessorCount>
</ParallelExecutor>
</Configuration>
If the V017 warning appears in the report after applying all the tips, we would appreciate it if you send us the files described here via the feedback form.