Chapter 56. Compiler and Tools

Memory consumption of applications using libcurl grows with each TLS connection

The Network Security Services (NSS) PK11_DestroyGenericObject() function does not release resources allocated by PK11_CreateGenericObject() early enough. Consequently, the memory allocated by applications using the libcurl package can grow with each TLS connection.
To work around this problem:
  • Re-use existing TLS connections where possible or
  • Use certificates and keys from the NSS database instead of loading them from files directly using libcurl (BZ#1510247)

OProfile and perf can not sample events on 2nd generation Intel Xeon Phi processors when NMI watchdog is disabled

Due to a performance counter hardware error, sampling performance events with the default hardware event CPU_CLK_UNHALTED may fail on 2nd generation Intel Xeon Phi processors. As a consequence, the OProfile and perf tools fail to receive any samples when the NMI watchdog is disabled. To work around this problem, enable NMI watchdog before running the perf or operf command:
echo 1 > /proc/sys/kernel/nmi_watchdog
...
operf some_examined_program
opreport
...
Note that this workaround allows only the selected tool to work correctly, but not the NMI watchdog, because it is based on the NMI watchdog using the erroneous counter. (BZ#1536004)