Debian Package Tracker
Register | Log in
Subscribe

pcp

System level performance monitoring and performance management

Choose email to subscribe with

general
  • source: pcp (main)
  • version: 7.2.0-1
  • maintainer: PCP Development Team (DMD)
  • uploaders: Nathan Scott [DMD] – Ken McDonell [DMD]
  • arch: all any
  • std-ver: 4.7.2
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 5.2.6-1
  • oldstable: 6.0.3-1.1
  • stable: 6.3.8-1
  • testing: 7.2.0-1
  • unstable: 7.2.0-1
versioned links
  • 5.2.6-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 6.0.3-1.1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 6.3.8-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 7.2.0-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • libpcp-archive1
  • libpcp-archive1-dev
  • libpcp-gui2
  • libpcp-gui2-dev
  • libpcp-import-perl
  • libpcp-import1
  • libpcp-import1-dev
  • libpcp-import2
  • libpcp-import2-dev
  • libpcp-logsummary-perl
  • libpcp-mmv-perl
  • libpcp-mmv1
  • libpcp-mmv1-dev
  • libpcp-pmda-perl
  • libpcp-pmda3
  • libpcp-pmda3-dev
  • libpcp-trace2
  • libpcp-trace2-dev
  • libpcp-web1
  • libpcp-web1-dev
  • libpcp3
  • libpcp3-dev
  • libpcp4
  • libpcp4-dev
  • pcp (2 bugs: 0, 2, 0, 0)
  • pcp-atop
  • pcp-conf
  • pcp-doc
  • pcp-dstat (1 bugs: 0, 1, 0, 0)
  • pcp-export-pcp2elasticsearch
  • pcp-export-pcp2graphite
  • pcp-export-pcp2influxdb
  • pcp-export-pcp2json
  • pcp-export-pcp2spark
  • pcp-export-pcp2xlsx
  • pcp-export-pcp2xml
  • pcp-export-pcp2zabbix
  • pcp-export-zabbix-agent
  • pcp-gui
  • pcp-htop
  • pcp-import-benchmarks
  • pcp-import-collectl2pcp
  • pcp-import-ganglia2pcp
  • pcp-import-guidellm2pcp
  • pcp-import-iostat2pcp
  • pcp-import-mrtg2pcp
  • pcp-import-sar2pcp
  • pcp-import-sheet2pcp
  • pcp-pmda-infiniband
  • pcp-testsuite
  • pcp-zeroconf
  • python3-pcp
action needed
Marked for autoremoval on 29 August due to bpfcc, bpftrace, chromium, httpcore, node-ipydatagrid, node-playwright, node-yarnpkg, towncrier: #1143154, #1128867, #1133435, #1135849, #1138720, #1141793, #1142164, #1143321, #1143345, #1143428 high
Version 7.2.0-1 of pcp is marked for autoremoval from testing on Sat 29 Aug 2026. It is affected by #1143154. The removal of pcp will also cause the removal of (transitive) reverse dependency: bpftune. It depends (transitively) on bpfcc, bpftrace, chromium, httpcore, node-ipydatagrid, node-playwright, node-yarnpkg, towncrier, affected by #1128867, #1133435, #1135849, #1138720, #1141793, #1142164, #1143321, #1143345, #1143428. You should try to prevent the removal by fixing these RC bugs.
Created: 2026-07-23 Last update: 2026-08-11 17:34
6 security issues in sid high

There are 6 open security issues in sid.

6 important issues:
  • CVE-2026-16524: A command injection flaw in PCP's linux_sockets PMDA allows malicious shell metacharacters via the network.persocket.filter metric. This failed validation lets attackers execute arbitrary commands as the PMDA user when metrics refresh.
  • CVE-2026-16526: A flaw in the PCP linux_sockets module exposes an unsecured internal connection. An attacker with initial code execution can exploit this to escalate privileges and execute arbitrary commands as root.
  • CVE-2026-16527: An unauthenticated remote attacker can bypass access controls by sending crafted requests to the PCP pmproxy /store endpoint. This allows the attacker to overwrite any PMDA metric, leading to arbitrary code execution and system takeover.
  • CVE-2026-16529: A signed integer overflow in the PCP __pmGetPDU() function can be exploited via crafted network packets during PDU processing or SASL negotiation. This permanently blinds the affected daemon, resulting in a total denial of service (DoS) for subsequent packet reads.
  • CVE-2026-16530: A flaw was found in the PCP (Performance Co-Pilot) `pmproxy` service. A remote attacker can exploit a vulnerability in the `pmLogLoadInDom()` function by sending a specially crafted request. This bypasses a critical bounds check, which can lead to the `pmproxy` service crashing, causing a Denial of Service (DoS). Additionally, this flaw may enable the leakage of sensitive information from the system's memory.
  • CVE-2026-16531: An unauthenticated remote attacker can exploit a path traversal vulnerability in the PCP pmproxy logger servlet using a crafted hostname. This allows arbitrary file and directory creation, potentially leading to a denial of service.
Created: 2026-07-30 Last update: 2026-08-10 09:00
6 security issues in forky high

There are 6 open security issues in forky.

6 important issues:
  • CVE-2026-16524: A command injection flaw in PCP's linux_sockets PMDA allows malicious shell metacharacters via the network.persocket.filter metric. This failed validation lets attackers execute arbitrary commands as the PMDA user when metrics refresh.
  • CVE-2026-16526: A flaw in the PCP linux_sockets module exposes an unsecured internal connection. An attacker with initial code execution can exploit this to escalate privileges and execute arbitrary commands as root.
  • CVE-2026-16527: An unauthenticated remote attacker can bypass access controls by sending crafted requests to the PCP pmproxy /store endpoint. This allows the attacker to overwrite any PMDA metric, leading to arbitrary code execution and system takeover.
  • CVE-2026-16529: A signed integer overflow in the PCP __pmGetPDU() function can be exploited via crafted network packets during PDU processing or SASL negotiation. This permanently blinds the affected daemon, resulting in a total denial of service (DoS) for subsequent packet reads.
  • CVE-2026-16530: A flaw was found in the PCP (Performance Co-Pilot) `pmproxy` service. A remote attacker can exploit a vulnerability in the `pmLogLoadInDom()` function by sending a specially crafted request. This bypasses a critical bounds check, which can lead to the `pmproxy` service crashing, causing a Denial of Service (DoS). Additionally, this flaw may enable the leakage of sensitive information from the system's memory.
  • CVE-2026-16531: An unauthenticated remote attacker can exploit a path traversal vulnerability in the PCP pmproxy logger servlet using a crafted hostname. This allows arbitrary file and directory creation, potentially leading to a denial of service.
Created: 2026-07-30 Last update: 2026-08-10 09:00
9 security issues in bullseye high

There are 9 open security issues in bullseye.

6 important issues:
  • CVE-2026-16524: A command injection flaw in PCP's linux_sockets PMDA allows malicious shell metacharacters via the network.persocket.filter metric. This failed validation lets attackers execute arbitrary commands as the PMDA user when metrics refresh.
  • CVE-2026-16526: A flaw in the PCP linux_sockets module exposes an unsecured internal connection. An attacker with initial code execution can exploit this to escalate privileges and execute arbitrary commands as root.
  • CVE-2026-16527: An unauthenticated remote attacker can bypass access controls by sending crafted requests to the PCP pmproxy /store endpoint. This allows the attacker to overwrite any PMDA metric, leading to arbitrary code execution and system takeover.
  • CVE-2026-16529: A signed integer overflow in the PCP __pmGetPDU() function can be exploited via crafted network packets during PDU processing or SASL negotiation. This permanently blinds the affected daemon, resulting in a total denial of service (DoS) for subsequent packet reads.
  • CVE-2026-16530: A flaw was found in the PCP (Performance Co-Pilot) `pmproxy` service. A remote attacker can exploit a vulnerability in the `pmLogLoadInDom()` function by sending a specially crafted request. This bypasses a critical bounds check, which can lead to the `pmproxy` service crashing, causing a Denial of Service (DoS). Additionally, this flaw may enable the leakage of sensitive information from the system's memory.
  • CVE-2026-16531: An unauthenticated remote attacker can exploit a path traversal vulnerability in the PCP pmproxy logger servlet using a crafted hostname. This allows arbitrary file and directory creation, potentially leading to a denial of service.
2 issues postponed or untriaged:
  • CVE-2023-6917: (needs triaging) A vulnerability has been identified in the Performance Co-Pilot (PCP) package, stemming from the mixed privilege levels utilized by systemd services associated with PCP. While certain services operate within the confines of limited PCP user/group privileges, others are granted full root privileges. This disparity in privilege levels poses a risk when privileged root processes interact with directories or directory trees owned by unprivileged PCP users. Specifically, this vulnerability may lead to the compromise of PCP user isolation and facilitate local PCP-to-root exploits, particularly through symlink attacks. These vulnerabilities underscore the importance of maintaining robust privilege separation mechanisms within PCP to mitigate the potential for unauthorized privilege escalation.
  • CVE-2024-3019: (needs triaging) A flaw was found in PCP. The default pmproxy configuration exposes the Redis server backend to the local network, allowing remote command execution with the privileges of the Redis user. This issue can only be exploited when pmproxy is running. By default, pmproxy is not running and needs to be started manually. The pmproxy service is usually started from the 'Metrics settings' page of the Cockpit web interface. This flaw affects PCP versions 4.3.4 and newer.
1 ignored issue:
  • CVE-2024-45770: A vulnerability was found in Performance Co-Pilot (PCP). This flaw can only be exploited if an attacker has access to a compromised PCP system account. The issue is related to the pmpost tool, which is used to log messages in the system. Under certain conditions, it runs with high-level privileges.
Created: 2026-07-30 Last update: 2026-08-10 09:00
10 security issues in bookworm high

There are 10 open security issues in bookworm.

6 important issues:
  • CVE-2026-16524: A command injection flaw in PCP's linux_sockets PMDA allows malicious shell metacharacters via the network.persocket.filter metric. This failed validation lets attackers execute arbitrary commands as the PMDA user when metrics refresh.
  • CVE-2026-16526: A flaw in the PCP linux_sockets module exposes an unsecured internal connection. An attacker with initial code execution can exploit this to escalate privileges and execute arbitrary commands as root.
  • CVE-2026-16527: An unauthenticated remote attacker can bypass access controls by sending crafted requests to the PCP pmproxy /store endpoint. This allows the attacker to overwrite any PMDA metric, leading to arbitrary code execution and system takeover.
  • CVE-2026-16529: A signed integer overflow in the PCP __pmGetPDU() function can be exploited via crafted network packets during PDU processing or SASL negotiation. This permanently blinds the affected daemon, resulting in a total denial of service (DoS) for subsequent packet reads.
  • CVE-2026-16530: A flaw was found in the PCP (Performance Co-Pilot) `pmproxy` service. A remote attacker can exploit a vulnerability in the `pmLogLoadInDom()` function by sending a specially crafted request. This bypasses a critical bounds check, which can lead to the `pmproxy` service crashing, causing a Denial of Service (DoS). Additionally, this flaw may enable the leakage of sensitive information from the system's memory.
  • CVE-2026-16531: An unauthenticated remote attacker can exploit a path traversal vulnerability in the PCP pmproxy logger servlet using a crafted hostname. This allows arbitrary file and directory creation, potentially leading to a denial of service.
4 issues postponed or untriaged:
  • CVE-2023-6917: (needs triaging) A vulnerability has been identified in the Performance Co-Pilot (PCP) package, stemming from the mixed privilege levels utilized by systemd services associated with PCP. While certain services operate within the confines of limited PCP user/group privileges, others are granted full root privileges. This disparity in privilege levels poses a risk when privileged root processes interact with directories or directory trees owned by unprivileged PCP users. Specifically, this vulnerability may lead to the compromise of PCP user isolation and facilitate local PCP-to-root exploits, particularly through symlink attacks. These vulnerabilities underscore the importance of maintaining robust privilege separation mechanisms within PCP to mitigate the potential for unauthorized privilege escalation.
  • CVE-2024-3019: (needs triaging) A flaw was found in PCP. The default pmproxy configuration exposes the Redis server backend to the local network, allowing remote command execution with the privileges of the Redis user. This issue can only be exploited when pmproxy is running. By default, pmproxy is not running and needs to be started manually. The pmproxy service is usually started from the 'Metrics settings' page of the Cockpit web interface. This flaw affects PCP versions 4.3.4 and newer.
  • CVE-2024-45769: (needs triaging) A vulnerability was found in Performance Co-Pilot (PCP).  This flaw allows an attacker to send specially crafted data to the system, which could cause the program to misbehave or crash.
  • CVE-2024-45770: (needs triaging) A vulnerability was found in Performance Co-Pilot (PCP). This flaw can only be exploited if an attacker has access to a compromised PCP system account. The issue is related to the pmpost tool, which is used to log messages in the system. Under certain conditions, it runs with high-level privileges.
Created: 2024-02-29 Last update: 2026-08-10 09:00
lintian reports 2 errors and 9 warnings high
Lintian reports 2 errors and 9 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2026-07-31 Last update: 2026-07-31 11:48
AppStream hints: 1 error and 1 warning for pcp-gui high
AppStream found metadata issues for packages:
  • pcp-gui: 1 error and 1 warning
You should get rid of them to provide more metadata about this software.
Created: 2018-06-04 Last update: 2026-02-23 04:00
Does not build reproducibly during testing normal
A package building reproducibly enables third parties to verify that the source matches the distributed binaries. It has been identified that this source package produced different results, failed to build or had other issues in a test environment. Please read about how to improve the situation!
Created: 2025-12-05 Last update: 2026-08-11 13:04
version in VCS is newer than in repository, is it time to upload? normal
vcswatch reports that this package seems to have a new changelog entry (version 7.2.1-1, distribution unstable) and new commits in its VCS. You should consider whether it's time to make an upload.

Here are the relevant commit messages:
commit 4101ea464eb76b0e920d2bbe6b860119b6ed415e
Author: Jan Kurik <jkurik@redhat.com>
Date:   Tue Aug 11 07:06:44 2026 +0200

    Fix build on older RHEL and CentOS release
    
    Older RHEL and CentOS releases do not support 'Recommends' directive.

commit 5b519c541291f76c9fd914e4f1381439625cfddc
Author: Nathan Scott <nathans@redhat.com>
Date:   Tue Aug 11 10:32:03 2026 +1000

    pmdalmsensors, qa/1480: handle sensor read failures gracefully
    
    When sensors -j is called for a specific chip (e.g. NVMe) and the
    device returns EAGAIN, the empty or invalid output causes json.loads()
    to raise an exception, crashing the fetch callback. Catch JSON parse
    errors during fetch and preserve the last known sensor values instead.
    
    At init time (no chip filter), re-raise the exception so the PMDA
    fails loudly rather than silently starting with zero metrics.
    
    Also harden the QA test: ensure the awk sum is always numeric so
    _within_tolerance does not receive empty arguments.
    
    Relates: #2665
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

commit 32cb4b12454e6070b87265de1e1699b69f45ffc7
Merge: 42900947 d8a620f3
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 10 15:14:46 2026 +1000

    Merge pull request #2661 from lilu5458/fix/pmagetlog-heap-overflow-v2
    
    libpcp_archive: fix heap buffer overflow in pmaGetLog via integer underflow

commit d8a620f37b1db38ea1ead75a069d83d3d0ba97a2
Author: lilu <lilu@kylinos.cn>
Date:   Mon Aug 10 11:38:16 2026 +0800

    libpcp_archive: fix heap buffer overflow in pmaGetLog via integer underflow
    
    pmaGetLog() in src/libpcp_archive/src/io.c reads a 4-byte head, then computes
    `ntohl(head) - sizeof(head)` as the number of bytes to read into the malloc'd
    buffer of size `ntohl(head)`. When a malicious archive supplies head with
    ntohl(head) < sizeof(head) (e.g. head == 1), the unsigned subtraction wraps to
    a huge size_t, and the preceding `lbuf[0] = head` store already writes 4 bytes
    into the malloc(1) buffer -- a heap buffer overflow.
    
    Add an explicit check that ntohl(head) >= 2 * sizeof(head) (enough room for the
    head field itself plus the trailing tail field) before the malloc/fread. On
    failure, return PM_ERR_LOGREC without rewinding: if the record is bad the caller
    is expected to give up, and leaving the file position advanced past it avoids
    reprocessing the same bad record (a potential infinite loop).
    
    Reproduction: a crafted PCP archive (head=1 TYPE_DESC record) fed to pmlogextract
    triggers the overflow in the real pmaGetLog code path (pmlogextract main ->
    nextmeta -> pmaGetLog). On vanilla glibc malloc the overwrite of the 1-byte
    allocation is silent, so pmlogextract returns PM_ERR_LOGREC ("Corrupted record")
    without crashing; building libpcp_archive + pmlogextract with -fsanitize=address
    makes it deterministic:
    
      ==ERROR: AddressSanitizer: heap-buffer-overflow on address ...
      WRITE of size 4 ... thread T0
          #0 pmaGetLog  src/libpcp_archive/src/io.c:98   (lbuf[0] = head)
          #1 nextmeta   src/pmlogextract/pmlogextract.c:1830
          #2 main       src/pmlogextract/pmlogextract.c:3141
      ... is located 0 bytes to the right of 1-byte region ...
      allocated by thread T0 here:
          #0 malloc
          #1 pmaGetLog  io.c:90                          (malloc(ntohl(head)))
    
    After the fix, pmlogextract returns PM_ERR_LOGREC cleanly with no ASAN error.

commit 4290094757de03899fafe469df541e467d34df78
Merge: 86c77d0e c8acabe2
Author: Nathan Scott <nathans@redhat.com>
Date:   Mon Aug 10 13:06:53 2026 +1000

    Merge branch 'main' of github.com:performancecopilot/pcp

commit c8acabe26ed6beb3fc1a280828b8ce0471ff9415
Merge: e7888870 16dde5d4
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 10 12:09:31 2026 +1000

    Merge branch 'main' of https://github.com/performancecopilot/pcp

commit 86c77d0e4e8cca599043a8cd1436bbf5b2acc20e
Author: Nathan Scott <nathans@redhat.com>
Date:   Mon Aug 10 10:16:51 2026 +1000

    deb build: add postinst for libpcp-import2 /run/pmimport creation
    
    Fixes QA test 2007.

commit 16dde5d4650b7525ad51a2c5203764978d254e15
Author: Nathan Scott <nathans@redhat.com>
Date:   Mon Aug 10 09:53:17 2026 +1000

    pmdadenki: update a couple more log_message locations for DSO use
    
    Fixes QA test 1742.

commit 9df751f8adbeb88376d9dcb299b4696be49f5aac
Merge: 61735379 eb1b1b45
Author: Nathan Scott <nathans@redhat.com>
Date:   Mon Aug 10 09:08:39 2026 +1000

    Merge branch 'atop' of github.com:kurik/pcp into kurik-atop

commit 61735379dee76dab635060dc9aa3404326db3f99
Merge: c7ed4fcd ad616be4
Author: Nathan Scott <nathans@redhat.com>
Date:   Mon Aug 10 09:00:53 2026 +1000

    Merge branch 'fix-libpcp-web-timespec-str' of github.com:xiejing-dev/pcp into xiejing-dev-fix-libpcp-web-timespec-str

commit c7ed4fcd6e6ab4426ce7a1dd492e15f5eadeae9c
Author: Nathan Scott <nathans@redhat.com>
Date:   Sun Aug 9 16:03:50 2026 +1000

    libpcp_web: also reset nlabels in empty-duplicate path
    
    When lp->json is NULL but lp->nlabels > 0, the shallow copy
    left dup->nlabels positive with dup->labels set to NULL.
    Reset nlabels to 0 so consumers cannot dereference a NULL
    labels pointer.
    
    Reported-by: coderabbitai
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

commit 26d4ca53ef4ce107aad8378826c0606a3d8b0ea7
Author: Nathan Scott <nathans@redhat.com>
Date:   Sun Aug 9 13:37:11 2026 +1000

    libpcp_web: fix double-free in pmwebapi_labelsetdup
    
    pmwebapi_labelsetdup() performs a shallow struct copy (*dup = *lp)
    and then selectively deep-copies json and labels — but only when
    nlabels > 0.  Two problems:
    
    1. When nlabels <= 0 (or json is NULL), the dup shares the json
       pointer with the source.  When pmDiscoverInvokeLabelsCallBacks
       frees the source labelset after invoking callbacks, the stored
       duplicate retains the dangling pointer.  The next label discovery
       cycle frees the old duplicate, double-freeing the json allocation.
    
    2. The compound flag and hash pointer were never handled — if set,
       the dup shares the opaque hash with the source, again leading
       to a double-free via pmFreeLabelSets.
    
    Fix both by clearing compound/hash immediately after the struct copy
    and, for the nlabels <= 0 / NULL-json case, NULLing json, jsonlen
    and labels before returning.  This matches what __pmDupLabelSets in
    libpcp already does correctly for the same cases.
    
    Resolves a pmproxy SIGABRT (double-free) in archive discovery:
      pmFreeLabelSets ← pmSeriesDiscoverLabels ← pmDiscoverInvokeLabelsCallBacks
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    
    Fixes: #2686

commit e7888870a9f5cc746a6193ef87ba27033a0985cf
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Sat Aug 8 07:38:54 2026 +1000

    qa: more if cmd | cmd cleanup
    
    Similar to the earlier if ! _service ... refactoring, but these ones
    don't involve _service() but have the same problem, namely the "if" was
    testing the exit status of the last command in the pipeline instead of
    the exit status of the first command.
        modified:   1166
        modified:   1166.out
        modified:   117
        modified:   1477
        modified:   647
        modified:   648
        modified:   683
        modified:   725
        modified:   832
    
    And a small change to src/qa_libpcp_compat.c on the way through.

commit 8594dc578d2f7e173b0f6c8e958752811538b011
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Sat Aug 8 06:41:11 2026 +1000

    qa: tests using pminfo -L ... mmv need mmv in the local PMNS
    
    These tests don't use -n, so they rely on the local PMNS (as used
    by pmcd) to provide the
            mmv     70:*:*
    PMNS entry, which means the mmv PMDA needs to be installed and
    running ... normally this is so, but I tripped over this when a
    different issue (now fixed) left pmcd without a configured mmv
    PMDA.
        modified:   682
        modified:   990
        modified:   1552

commit 234ce7be68562c64ea4089ffd19e7083abab3a59
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Sat Aug 8 06:39:53 2026 +1000

    qa: really-retire 714 and 848
    
    Old NSS secure DB tests.

commit eb1b1b4572046e5c6098c6fc38c53c9eda6a653f
Author: Jan Kurik <jkurik@redhat.com>
Date:   Fri Aug 7 10:25:55 2026 +0200

    Fixed date in the changelog

commit c6bb82f92bf6a768c6eef8c57644478dc402a86e
Author: Jan Kurik <jkurik@redhat.com>
Date:   Fri Aug 7 10:09:01 2026 +0200

    Fix of pcp-atop conflict with atop on Fedora
    
    Make pcp-atop as optional dependency on RPM based distributions to
    allow users with installed atop to update PCP while keeping the
    already installed atop.

commit 918d12b68beca9b2d33e7ff9553aa0fb2fda618d
Merge: 8bcc1345 ce78cb97
Author: Nathan Scott <nathans@redhat.com>
Date:   Fri Aug 7 13:56:18 2026 +1000

    Merge branch 'qa-group-updates'

commit ce78cb974deebdeb2fc64ca2c5018c664a1f4602
Author: Nathan Scott <nathans@redhat.com>
Date:   Fri Aug 7 13:55:53 2026 +1000

    qa: quieten denki startup diagnostics if run as a DSO, fixes 1742

commit 2815ac6f6a30a5addc10ee557198d7d840799a7b
Author: Nathan Scott <nathans@redhat.com>
Date:   Fri Aug 7 13:55:05 2026 +1000

    qa: add recently overlooked updates to qa/group file

commit 8bcc1345ab14e6e07a993accdad1f6b282877b2c
Merge: 1841f9c1 f5a16677
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Aug 7 13:48:15 2026 +1000

    Merge pull request #2684 from kmcdonell/wip
    
    qa: big refactor for _service usage [Part 2 of 2 redo for commit 40641f731]

commit f5a16677bd5bcd8703f48c3dc861fb43be7f7524
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Aug 7 13:39:56 2026 +1000

    qa/713: one more if ! _service ... fix up

commit a8817533dcfe994ecf5621ea0fa0c672b2049ffd
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Aug 7 13:36:45 2026 +1000

    qa: script fixups
    
    @coderabbitai suggestions from PR #2864

commit 27f813cad7284f63048f388d470f5c8f880b3843
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Aug 7 12:05:21 2026 +1000

    qa: big refactor for _service usage [Part 2 of redo for commit 40641f73a]
    
    @coderrabbitai noticed an issue with one of my qa test changes as an
    "outside scope of diff" issue.  In a nutshell we (me?)  had this sort
    of thing:
        if ! _service ... | _some_filter; then _exit 1; fi
    which is 100% broken because the _exit 1 only happens if _some_filter
    has non-zero exit, and the return value from _service is ignored.
    
    The only thing that saved the ship from sinking is that _service only
    fails when a much bigger wheel has fallen off and that very rarely
    happens and is most unlikely to go unnoticed.
    
    This should be something like:
        if ! _service >$tmp.tmp 2>&1; then cat $tmp.tmp; _exit 1; fi
        _some_filter <$tmp.tmp
    
    Unfortunately the pattern of usage is not consistent across the test
    scripts, so this required a hacky script and a lot of RI to fix the 156
    (!) scripts involved.

commit 1841f9c1b5938db03316642dd995da889c22b038
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Aug 7 11:44:52 2026 +1000

    qa: big refactor for _service usage [Part 1 of redo for commit 40641f73a]
    
    @coderrabbitai noticed an issue with one of my qa test changes as an
    "outside scope of diff" issue.  In a nutshell we (me?)  had this sort
    of thing:
        if ! _service ... | _some_filter; then _exit 1; fi
    which is 100% broken because the _exit 1 only happens if _some_filter
    has non-zero exit, and the return value from _service is ignored.
    
    The only thing that saved the ship from sinking is that _service only
    fails when a much bigger wheel has fallen off and that very rarely
    happens and is most unlikely to go unnoticed.
    
    This should be something like:
        if ! _service >$tmp.tmp 2>&1; then cat $tmp.tmp; _exit 1; fi
        _some_filter <$tmp.tmp
    
    Unfortunately the pattern of usage is not consistent across the test
    scripts, so this required a hacky script and a lot of RI to fix the 156
    (!) scripts involved.

commit a8c151deb10dae06e5bb5434ec93dd2ddbc264dd
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Aug 7 08:22:21 2026 +1000

    Revert "qa: big refactor for _service usage"
    
    This reverts commit 40641f73abf5e255919ccb3278a03f9bd0118bae.
    
    Splitting into 2 commits so I get @coderabbit reviews.

commit 40641f73abf5e255919ccb3278a03f9bd0118bae
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Aug 7 07:59:32 2026 +1000

    qa: big refactor for _service usage
    
    @coderrabbitai noticed an issue with one of my qa test changes as an
    "outside scope of diff" issue.  In a nutshell we (me?)  had this sort
    of thing:
        if ! _service ... | _some_filter; then _exit 1; fi
    which is 100% broken because the _exit 1 only happens if _some_filter
    has non-zero exit, and the return value from _service is ignored.
    
    The only thing that saved the ship from sinking is that _service only
    fails when a much bigger wheel has fallen off and that very rarely
    happens and is most unlikely to go unnoticed.
    
    This should be something like:
        if ! _service >$tmp.tmp 2>&1; then cat $tmp.tmp; _exit 1; fi
        _some_filter <$tmp.tmp
    
    Unfortunately the pattern of usage is not consistent across the test
    scripts, so this required a hacky script and a lot of RI to fix the 156
    (!) scripts involved.

commit 8991b6f3b00bfb51ca87ce53c72a9cac33eebce6
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Aug 7 07:26:08 2026 +1000

    qa/check-group: improved integrity checking and usage change
    
    The query command line argument is optional and without it
    the integrity of the group file is checked (more thoroughly) to
    find things like:
    - test in the group file but no corresponding test script
    - undefined group assigned to a test in the group file
    - group without any associated tests in the group file
    - test script not mentioned in the group file
    - test script not executable
    
    And expose a -d flag for debugging check-group.
    
    Also update the COOKBOOK entry.

commit 188a6265c0943f4722b038a97a90451ed88fc4b6
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Aug 7 07:19:19 2026 +1000

    qa/group: comment out some retired groups, add some missing group assignments
    
    Fixes problems found by the (improved) qa/check-group (in the next
    commit).

commit f370583b42f19c0a227fcfafb7146147cfad9df2
Merge: 138d813e 991464f1
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Wed Aug 5 21:31:35 2026 +1000

    Merge branch 'main' of ../pcp

commit 991464f1f7bc4cd9f86049e99081677498b13582
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Wed Aug 5 21:29:43 2026 +1000

    src/pmdas/mmv/src/GNUmakefile: fix botch from commit bc2635ea6
    
    Attempting to remove the duplicat install lines left the mmv
    PMDA installation broken, and lots of QA failures.
    
    With this rework, all of check -g pmda.mmv passes on bozo.

commit 138d813e2a33310eb639e1e7d8c4254463f7da37
Author: Nathan Scott <nathans@redhat.com>
Date:   Wed Aug 5 09:24:37 2026 +1000

    qa: reserve test 1861 for new pmsearch implementation

commit ad616be4ba675f82f0ca8b264d7296263938045d
Author: xiejing <xiejing@kylinos.cn>
Date:   Tue Aug 4 17:43:50 2026 +0800

    libpcp_web: fix truncated timespec strings
    
    Pass the caller-provided buffer length to pmsprintf instead of
    sizeof(buflen). Since buflen is an int, sizeof(buflen) is typically
    four bytes, limiting the output to three characters plus the null
    terminator.

commit aecf52c69776ad8cacd3a77186be9067ffda54f5
Merge: 27097657 c82cea1b
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Tue Aug 4 16:08:01 2026 +1000

    Merge pull request #2680 from kmcdonell/wip
    
    Fault injection testing outside libpcp - PoC for pmlogmv

commit 2709765754b13baa56d89a1825075a1bedddd3bd
Author: Nathan Scott <nathans@redhat.com>
Date:   Tue Aug 4 16:02:13 2026 +1000

    build: add rpm Conflicts to prevent atop vs pcp-atop co-install
    
    Related: Fedora bug #2510602

commit c0a452e808781d66456a7c5fe790b1f7c36604de
Merge: 63bb35f4 fdfacddd
Author: Nathan Scott <nathans@redhat.com>
Date:   Tue Aug 4 15:57:18 2026 +1000

    Merge branch 'Ali-Nasrolahi-improve-lmsensor-fetch'

commit fdfacddd9e39217f806bc09d329c9de8a0385bd9
Merge: 63bb35f4 49cf76b2
Author: Nathan Scott <nathans@redhat.com>
Date:   Tue Aug 4 15:56:27 2026 +1000

    Merge branch 'improve-lmsensor-fetch' of github.com:Ali-Nasrolahi/pcp into Ali-Nasrolahi-improve-lmsensor-fetch

commit c82cea1babd042139d471dea61854b99aee87434
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Tue Aug 4 13:48:11 2026 +1000

    man/man1/pmlogconf.1: remove replicated block of text

commit 0d1cbc2a49ed1582a2c973371d0b9a1bf0851bf6
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Tue Aug 4 12:56:08 2026 +1000

    pmlogcp (or pmlogmv): add fault insertion testing
    
    In copy_file() it is important that we handle errors from read() and
    write() in ways that don't compromise the input archive and don't leave
    turds in the filesystem.
    
    This is also a Proof of Concept for using libpcp_fault for fault
    injection testing outside libpcp.
    
    But it needed some "extra" steps:
    
    1. a change to builddefs so that $(PCPLIB) can be set in a makefile and
       not clobbered here, allowing libpcp_fault to be used in place of libpcp
       when building an instrumented application
    2. the symbol __pmFault_Arm needs to be exported from libpcp_fault as the
       PCP_FAULT_* macros reference this variable (which is a static inside
       libpcp_fault)
    3. changes to pmlogmv.c to conditionally include "fault.h" and add
       the fault insertion points
    4. a new qa/1699 to trigger the fault injections and test the results
    5. fixup for install-dev because for libpcp_fault the library is really
       libpcp_fault, but the pkg-config libdir can only be found using
       libpcp

commit b9376c5612932bb2b3e055fb23a36d81340ada51
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Tue Aug 4 07:03:21 2026 +1000

    src/libpcp_fault/README: fix reference to moved man page

commit 8e0de494202bf9b8ef9a5f37a21d6f2347e0101e
Merge: 9a29f058 63bb35f4
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Tue Aug 4 07:02:45 2026 +1000

    Merge branch 'main' of https://github.com/performancecopilot/pcp

commit 63bb35f48a914e34b83855947587d927841a1856
Merge: 4ce43095 5348d96f
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Tue Aug 4 07:01:01 2026 +1000

    Merge pull request #2677 from kmcdonell/wip
    
    Miscellaneous minor changes

commit 5348d96fe775e7b31f7f40f3c516c0594d9720d4
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 16:54:49 2026 +1000

    man/man3i/__pmprocessexec.3: clarify __pmProcessExec cleanup
    
    __pmProcessExec() only cleans up on success ... there is a failure code
    path via sigaction() or sigprocmask() that misses the memory cleanup.

commit 297f4a63c2186cf9b5ff3475ae274e2583cc4c32
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 16:49:01 2026 +1000

    src/libpcp/src/install-dev: more tweaks

commit d7218a19da6f9f03f38e996ba1d8f7e7d69ffa5d
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 16:15:44 2026 +1000

    src/libpcp/src/install-dev: overhaul
    
    - fix logic
    - add -n (show-me) command line option
    - don't install pkgconfig file (potentially in the wrong place)

commit 5747bec781e41ab64b0a2b436b4821ad817595f4
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 16:15:21 2026 +1000

    src/libpcp/src/exec.c: change cleanup() scope to static

commit 4ce43095305b9f0dab6d975e03a67d9830cb6e5c
Merge: 60e20c97 31e297c3
Author: Nathan Scott <nathans@redhat.com>
Date:   Mon Aug 3 12:54:11 2026 +1000

    Merge branch 'macos-fixes'

commit 60e20c972306f195e8ba13bc9927e4e7798940b2
Author: Nathan Scott <nathans@redhat.com>
Date:   Mon Aug 3 10:48:00 2026 +1000

    libpcp: complete fix for OOB read in __pmDecodeLogStatus
    
    The earlier fix for CVE-2026-16530 added len < 0 guards to five of
    the six length-prefixed string fields in __pmDecodeLogStatus but
    missed the pmlogger_timezone_len field.  A negative length (e.g.
    0x80000000) bypasses the len > PM_MAX_TIMEZONELEN guard, passes the
    signed pointer arithmetic in the p + len > pduend check, and reaches
    strndup(p, len) where len sign-extends to a huge size_t, causing an
    OOB read.
    
    Also fix the same missing guards in libpcp3 (pmcd_fqdn_len,
    pmcd_timezone_len, pmcd_zoneinfo_len) and update error messages from
    "too long" to "invalid" since the check now covers negative values.
    
    Add negative-length test case to pducrash.c decode_log_status_oob().
    
    Reported-by: zx (Jace), GitHub @manus-use
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

commit 30ea149551d569868ff3c6e88b300260dff1320c
Author: Nathan Scott <nathans@redhat.com>
Date:   Mon Aug 3 12:41:30 2026 +1000

    qa: improve diagnostics in test 1626 for triage

commit 9a29f0587f25bc5d9540e83f189a62ce7b010ac0
Merge: 03115d9d 8322917c
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 12:38:34 2026 +1000

    Merge branch 'wip'

commit 8322917c1a431bf6ecc6971a981d57fcace4b5b0
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 12:33:27 2026 +1000

    qa/common.check: small @coderabbitai suggestions

commit 31e297c3baa9a35ea3e53088b7368befca09a461
Author: Nathan Scott <nathans@redhat.com>
Date:   Mon Aug 3 11:38:01 2026 +1000

    build/mac: fix pmlogger/pmie launchd services using farm+pmpause pattern
    
    The pmlogger and pmie launchd plists used "/etc/init.d/<service> start"
    which forks daemons into the background and exits.  With KeepAlive=false,
    launchd tears down the job scope on exit, sending SIGTERM to the child
    processes ~1 second after startup.
    
    Switch both plists to use the pmlogger_farm/pmie_farm scripts, which
    run *_check to start all configured instances then exec pmpause as a
    long-running foreground process.  This matches the Linux systemd farm
    service pattern and keeps launchd happy with KeepAlive=true.
    
    Also run as pcp:pcp instead of root:wheel (matching the periodic check
    plists), and remove the /private prefix from WorkingDirectory across
    all periodic plists for consistency — /var is a stable symlink to
    /private/var on macOS and all other paths in these plists already
    use /var.
    
    Resolves: https://github.com/performancecopilot/pcp/issues/2674
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

commit 5ea18eff425b4b61b1fd385f3573711caefa5ea4
Author: Nathan Scott <nathans@redhat.com>
Date:   Mon Aug 3 11:27:46 2026 +1000

    pmdaopenmetrics/pmdaopentelemetry: defer requests import for install
    
    The Python "requests" module is a build dependency but is not bundled
    in the macOS .pkg.  Both PMDAs import it at the top level, which kills
    the entire script — including the PCP_PYTHON_DOMAIN/PCP_PYTHON_PMNS
    code paths that only need to emit domain.h and pmns files during
    Install.
    
    Wrap the import in try/except and guard the Session() creation so that
    Install succeeds without requests.  At runtime, URL-based sources will
    log an error if requests is still missing but the PMDA stays alive.
    
    Also change pmdaopentelemetry default user from None (root) to 'pcp'
    to match pmdaopenmetrics.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

commit e54c4f582505c2c5fee200f777def562aae4f0e9
Author: Nathan Scott <nathans@redhat.com>
Date:   Mon Aug 3 11:13:24 2026 +1000

    build/mac: fix pcp user permissions for /var/log/pcp and config dirs
    
    The postinstall and postupgrade scripts chowned five subdirectories
    under /var/log/pcp but not the parent directory itself, and missed
    /var/lib/pcp/config entirely.  On a clean install the pcp user cannot
    write /var/log/pcp/NOTICES or create /var/lib/pcp/config/pmlogger/
    config.default, causing pmlogger to exit at startup.
    
    Chown the parent /var/log/pcp (which covers all subdirectories) and
    /var/lib/pcp/config (covers pmlogger and pmie config).
    
    Resolves: https://github.com/performancecopilot/pcp/issues/2673
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

commit 7939684c2e309800acbdca431b00e22b827aa4c8
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 09:49:44 2026 +1000

    qa/1687: fix return status on errors

commit 6f61c9e51ea1dd03e937438073f0f2a80f5457fc
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 09:36:27 2026 +1000

    src/pmdas/pmdaopentelemetry/pmdaopentelemetry.python: remove () in if
    
    Oh, how I hate Python.

commit 3bcdcced10cf007a82c6974762e3fdd2fe13eb21
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 09:12:06 2026 +1000

    src/pmlogmv/pmlogmv.c: small changes suggested by coderabbitai

commit 03115d9def136e162748629020240ad2028bc7fc
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 08:22:32 2026 +1000

    man pages: accept coderabbitai suggested wordsmithing
    
    From PR #2677, but applied to all man pages with a
        .SH DEBUGGING OPTIONS
    section.

commit 186e8914b9f4bc08dc00f7114040c05a94a67060
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 07:09:21 2026 +1000

    man: pmlogmv and __pmprocessexec: changes from PR #2677 review
    
    Thanks coderabbitai.

commit 73f431116510f283e7073ef41eff0f480e1a3748
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 06:40:29 2026 +1000

    src/libpcp/src/auxconnect.c: tweak socket option settings
    
    1. make FD_CLOEXEC unconditional, so no if (family == AF_UNIX)
       run-time guard and no #if defined(HAVE_STRUCT_SOCKADDR_UN)
       compile-time guard
    
    2. make TCP_NODELAY conditional on family != AF_UNIX as it is
       not supported for AF_UNIX but is supported for the other
       address families we use, AF_INET and AF_INET6

commit e62107521958c41817d7ddeee90cf1732b22d0de
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Mon Aug 3 06:01:38 2026 +1000

    src/pmdas/opentelemetry: change -D semantics
    
    Make -D behave like a regular PCP app with debug flags as option
    arguments and allow all of the pmdbg(1) flags to be set.
    
    The previous -D behaviour now moves to -D appl0 (both on the command
    line and via pmstore to opentelemetry.control.debug).
    
    With the previous pmdaproc.sh change, we can now set
    PCP_DEBUG=someflags in the environment before running Install and the
    installed PMDA will have -D someflags welded into pmcd.conf.

commit 09d5202e3352a8661982ab7551e3d3bd93ed52d9
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Sun Aug 2 11:03:23 2026 +1000

    qa/1632 & 1948: _notrun on bozo
    
    1632 - fix grammar in comment from last commit
    1948 - apply same _notrun on bozo band-aid as was previously done
           for 1632 (both tests are structurally similar and use the
           same endpoint generator)

commit 37e51492893dd795155e7f410005f6fe3ea3eea8
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Sun Aug 2 10:47:43 2026 +1000

    qa/1632: _notrun on bozo ... dodge unexplained failure on one host

commit f4ea000532abbff089a1ffd79fe86f4f69b344fa
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Sun Aug 2 07:09:35 2026 +1000

    qa/1632.out: remade after (largely) cosmetic changes to 1632

commit fe08962812d74b695d22c6d6106d206664334ed6
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Sun Aug 2 07:08:16 2026 +1000

    qa/1632: small changes to handling of output ($tmp.out and $tmp.err)

commit 95379ef770afd142ec020cf3433a86c429655dcb
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Jul 31 10:08:46 2026 +1000

    src/libpcp/src/access.c: more info from __pmAccAdd*() routines
    
    When a "Permission clash" occurs the diagnostic messages did not report
    the 4 conflicting permission bit-fields ... this commit exposes the
    (cryptic) specOps and denyOps values for the extant and the conflicting
    permissions.

commit 3a6b40dd1afcddb53045bc3e6df48d0832fc3ff0
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Jul 31 09:52:27 2026 +1000

    src/pmcd/pmdaproc.sh: allow -D... setting from Install for Python and Perl PMDAs
    
    Generic "daemon" PMDAs have (forever) used $PCP_DEBUG if set when
    Install is run to append -D "$PCP_DEBUG" to the command line options
    in pmcd.conf.
    
    This commit adds the same logic for Python and Perl PMDAs that are
    special cases of "daemon" and were missing the $PCP_DEBUG special
    sauce.
    
    Of course setting $PCP_DEBUG before Install is only going to work if
    the PMDA understands -D on the command line, but that's another issue.

commit bc2635ea652d7a659f39cbdb34d224aa08b91ef5
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Jul 31 09:48:48 2026 +1000

    src/pmdas/mmv/src/GNUmakefile: fix duplicate install line
    
    Found on OpenIndiana (and not anywhere else!), we were installing
    $(PMDAADMDIR)/root_mmv *twice* and not installing $(PMDAADMDIR)/pmns
    *at all*.
    
    Fortunately for the mmv PMDA (a) the pmns file is never really used
    and (b) root_mmv and pmns are identical.

commit 0452b5142c6a1b08ffaf38681d96c1f4df0d58db
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Jul 31 07:51:30 2026 +1000

    qa/272: slightly relax pmcd access controls
    
    On non-systemd platforms we were failing to see pmcd restarted
    because of the restrictive access controls in pmcd.conf that
    are used in this test.
    
    The one line that no longer appears in 272.out is not central
    to the effectiveness nor coverage of this test.

commit 81d2faea837a4b14ffbd64528d19917736c0e7f6
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Jul 31 07:47:57 2026 +1000

    src/libpcp/src/auxconnect.c: add some diagnostics for FD_CLOEXEC setting (Coverity)
    
    New warnings around __pmGetFileDescriptorFlags() and
    __pmSetFileDescriptorFlags() calls.
    
    Resolves CID 505000.

commit d900e69d1f1760bb5a0b31384ccc7d367ec9abe2
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Jul 31 07:35:58 2026 +1000

    src/libpcp_pmda/src/root.c: add some diagnostics for FD_CLOEXEC setting (Coverity)
    
    New warnings around __pmGetFileDescriptorFlags() and
    __pmSetFileDescriptorFlags() calls.
    
    Resolves CID 504999.

commit 5315d758398c6fec42ba762495e3ebbeb2a11cb7
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Jul 31 07:25:03 2026 +1000

    linux_sockets PMDA and libpcp: add __pmProcessFree()
    
    The __pmProcess*() family of routines in libpcp do a good job of
    cleaning up any internal memory allocations across all return paths
    (success and error).
    
    But Coverity noticed that the linux_sockets PMDA had encountered
    a slightly different case, where the sequence ...
    
            __pmProcessAddArg(...)
            ...
            if (some error)
                return;
            ...
            __pmProcessPipe() [or __pmProcessExec(()]
    
    lead to a memory leak.
    
    We need a new __pmProcessFree() to allow the caller to abandon the
    arg building and release all memory allocated so far (before the
    return above).
    
    - added routine to src/libpcp/src/exec.c, src/include/pcp/libpcp.h
      and src/libpcp/src/exports.in
    - updated the man pages: man/man3i/__pmprocessexec.3 and
      man/man3i/__pmprocesspipe.3
    - add __pmProcessFree.3.gz entry to debian/libpcp4-dev.install
    - updated src/pmdas/linux_sockets/ss_stream.c to use the new
      routine
    
    Fixes CID 504998.

commit 69da1c7e36df314dd0f68e064e9783b238ab9a3e
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Fri Jul 31 06:33:41 2026 +1000

    src/pmlogmv/pmlogmv.c: improve error code paths in copy_file()
    
    Fixes Coverity CID 504997.
    
    And new qa/1687 to exercise (part of) these error paths.
    
    Also update the man page to (a) remove references to cp(1) that
    is no longer used and clarify the wording around when file
    copying happens.

commit e57bf423d38d62787449f018da6fe37cc67e3713
Author: Ken McDonell <kenj@kenj.id.au>
Date:   Thu Jul 30 15:56:13 2026 +1000

    qa/common.check: update _all_ipaddrs() for OpenBSD ifconfig(1)
    
    No TX line here.

commit 2243090366c034aa166f335be7635c6b518af4cb
Merge: ce97aa44 d9125a19
Author: Nathan Scott <nathans@redhat.com>
Date:   Thu Jul 30 12:55:44 2026 +1000

    Merge branch 'fix/darwin-proc-pmda-metrics'

commit ce97aa444844753aea3987d8767db26895eb6d92
Merge: 1a59b38d c841c63f
Author: Nathan Scott <nathans@redhat.com>
Date:   Thu Jul 30 12:50:10 2026 +1000

    Merge branch 'selinux-virtqemud'

commit 1a59b38dc58957b980f9b9c414c96f1994a291e3
Author: Nathan Scott <nathans@redhat.com>
Date:   Thu Jul 30 12:49:57 2026 +1000

    build: restrict resctrl pmda to linux-only builds

commit c665593d28671a84923bfaad34bddaacaff05829
Author: Nathan Scott <nathans@redhat.com>
Date:   Thu Jul 30 12:49:34 2026 +1000

    docs: bump version number for next planned release

commit d9125a194075dd0d452447a10c3bcfe9d603e4a9
Author: Nathan Scott <nathans@redhat.com>
Date:   Wed Jul 29 10:26:17 2026 +1000

    darwin_proc: fix process state, start_time, memory units and metric gaps
    
    Process state was only set inside darwin_process_set_taskinfo() which
    is skipped when proc_pidinfo() fails (e.g. insufficient privileges).
    Move initial state assignment into darwin_process_set_basic_fields()
    using p_stat from kinfo_proc so all processes get a valid state.
    Refine to RUNNING when taskinfo succeeds and pti_numrunning > 0.
    Map SIDL to 'I' (idle) instead of 'B' for pcp-htop compatibility.
    Propagate TH_STATE_UNINTERRUPTIBLE from threads to parent process
    as 'D' state, matching native htop behavior.
    
    Fix proc.psinfo.start_time which stored absolute epoch seconds but
    declared PM_TIME_NSEC units, causing pcp-htop to mangle the value
    through its nanosecond-to-centisecond conversion.  Now stores
    nanoseconds since boot, consistent with the unit declaration and
    with what pcp-htop expects.
    
    Fix proc.psinfo.majflt to use pti_pageins (actual disk page-ins)
    instead of pti_faults (total faults).  Add proc.psinfo.minflt as
    the difference (pti_faults - pti_pageins).
    
    Fix proc.memory.size and proc.memory.rss unit declarations from
    PM_SPACE_BYTE to PM_SPACE_KBYTE to match the stored values (which
    are divided by 1024 before storage).
    
    Fix proc.id.gid returning proc->uid instead of proc->gid.
    
    Add PMNS aliases for Linux proc PMDA compatible metric names that
    pcp-htop requests: pgrp, tty_pgrp, maj_flt.  Add proc.psinfo.tgid
    (equals pid on macOS) needed by pcp-htop for thread grouping.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    Signed-off-by: Nathan Scott <nathans@redhat.com>

commit c841c63ff11124e931e61ba54ae6497fbe42c6c4
Author: Nathan Scott <nathans@redhat.com>
Date:   Tue Jul 28 17:22:26 2026 +1000

    selinux: allow pmdalibvirt access to virtqemud split daemon sockets
    
    On newer Fedora/RHEL systems, libvirt uses split daemons (virtqemud)
    instead of the monolithic libvirtd.  The virtqemud socket has a
    different SELinux type (virtqemud_var_run_t) than the old libvirtd
    socket (virt_var_run_t), so pmdalibvirt was denied access.
    
    Additionally, virtqemud needs to read /proc/<pid>/stat of connecting
    clients (pcp_pmcd_t) for identification, which also requires policy.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

commit 49cf76b2e86dee159250d519c8202c21e4a568c0
Author: Ali Nasrollahi <A.Nasrolahi01@gmail.com>
Date:   Fri Jul 24 22:25:58 2026 +0330

    pmdalmsensors: query only the requested chip during metric fetch
    
        The lmsensors PMDA currently executes a full `sensors -j` scan for
        every metric fetch, even though only a single metric value is
        requested. Since each invocation probes all detected sensor chips,
        the same hardware is repeatedly queried while serving a single PCP
        fetch request.
    
        Store the original lm_sensors chip name during metric discovery and
        use it to query only the chip associated with the requested metric.
        This preserves the existing fetch semantics while avoiding redundant
        probing of unrelated hardware.
    
        The change reduces the amount of work performed per metric fetch and
        improves scalability on systems exposing many sensor devices or slow
        sensor backends.
    
    Signed-off-by: Ali Nasrollahi <A.Nasrolahi01@gmail.com>
Created: 2026-05-23 Last update: 2026-08-11 12:30
Multiarch hinter reports 1 issue(s) low
There are issues with the multiarch metadata for this package.
  • pcp-doc could be marked Multi-Arch: foreign
Created: 2016-09-14 Last update: 2026-08-11 14:32
6 low-priority security issues in trixie low

There are 6 open security issues in trixie.

6 issues left for the package maintainer to handle:
  • CVE-2026-16524: (needs triaging) A command injection flaw in PCP's linux_sockets PMDA allows malicious shell metacharacters via the network.persocket.filter metric. This failed validation lets attackers execute arbitrary commands as the PMDA user when metrics refresh.
  • CVE-2026-16526: (needs triaging) A flaw in the PCP linux_sockets module exposes an unsecured internal connection. An attacker with initial code execution can exploit this to escalate privileges and execute arbitrary commands as root.
  • CVE-2026-16527: (needs triaging) An unauthenticated remote attacker can bypass access controls by sending crafted requests to the PCP pmproxy /store endpoint. This allows the attacker to overwrite any PMDA metric, leading to arbitrary code execution and system takeover.
  • CVE-2026-16529: (needs triaging) A signed integer overflow in the PCP __pmGetPDU() function can be exploited via crafted network packets during PDU processing or SASL negotiation. This permanently blinds the affected daemon, resulting in a total denial of service (DoS) for subsequent packet reads.
  • CVE-2026-16530: (needs triaging) A flaw was found in the PCP (Performance Co-Pilot) `pmproxy` service. A remote attacker can exploit a vulnerability in the `pmLogLoadInDom()` function by sending a specially crafted request. This bypasses a critical bounds check, which can lead to the `pmproxy` service crashing, causing a Denial of Service (DoS). Additionally, this flaw may enable the leakage of sensitive information from the system's memory.
  • CVE-2026-16531: (needs triaging) An unauthenticated remote attacker can exploit a path traversal vulnerability in the PCP pmproxy logger servlet using a crafted hostname. This allows arbitrary file and directory creation, potentially leading to a denial of service.

You can find information about how to handle these issues in the security team's documentation.

Created: 2026-07-30 Last update: 2026-08-10 09:00
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.4 instead of 4.7.2).
Created: 2025-12-23 Last update: 2026-07-30 22:32
testing migrations
  • This package will soon be part of the auto-openssl transition. You might want to ensure that your package is ready for it. You can probably find supplementary information in the debian-release archives or in the corresponding release.debian.org bug.
news
[rss feed]
  • [2026-08-01] pcp 7.2.0-1 MIGRATED to testing (Debian testing watch)
  • [2026-07-30] Accepted pcp 7.2.0-1 (source arm64 all) into unstable (Debian FTP Masters) (signed by: Nathan Scott)
  • [2026-05-29] pcp 7.1.5-1 MIGRATED to testing (Debian testing watch)
  • [2026-05-26] Accepted pcp 7.1.5-1 (source) into unstable (Nathan Scott)
  • [2026-05-25] pcp 7.1.4-1 MIGRATED to testing (Debian testing watch)
  • [2026-05-22] Accepted pcp 7.1.4-1 (source) into unstable (Nathan Scott)
  • [2026-05-02] Accepted pcp 7.1.3-2 (source) into unstable (Nathan Scott)
  • [2026-04-27] pcp 7.1.2-1 MIGRATED to testing (Debian testing watch)
  • [2026-04-24] Accepted pcp 7.1.2-1 (source) into unstable (Nathan Scott)
  • [2026-04-02] pcp 7.1.1-1 MIGRATED to testing (Debian testing watch)
  • [2026-03-30] Accepted pcp 7.1.1-1 (source) into unstable (Nathan Scott)
  • [2026-01-30] pcp 7.1.0-1 MIGRATED to testing (Debian testing watch)
  • [2026-01-28] Accepted pcp 7.1.0-1 (source) into unstable (Nathan Scott)
  • [2025-12-05] pcp 7.0.5-1 MIGRATED to testing (Debian testing watch)
  • [2025-11-21] Accepted pcp 7.0.5-1 (source) into unstable (Nathan Scott)
  • [2025-11-19] Accepted pcp 7.0.4-1 (source) into unstable (Nathan Scott)
  • [2025-11-12] Accepted pcp 7.0.3-1 (source arm64 all) into unstable (Nathan Scott)
  • [2025-11-01] pcp REMOVED from testing (Debian testing watch)
  • [2025-10-16] Accepted pcp 7.0.2-1 (source arm64 all) into unstable (Debian FTP Masters) (signed by: Nathan Scott)
  • [2025-09-23] Accepted pcp 7.0.1-1 (source arm64 all) into unstable (Debian FTP Masters) (signed by: Nathan Scott)
  • [2025-09-01] Accepted pcp 7.0.0-1 (source arm64 all) into unstable (Debian FTP Masters) (signed by: Nathan Scott)
  • [2025-04-21] pcp 6.3.8-1 MIGRATED to testing (Debian testing watch)
  • [2025-04-11] Accepted pcp 6.3.8-1 (source) into unstable (Nathan Scott)
  • [2025-04-07] pcp 6.3.7-1 MIGRATED to testing (Debian testing watch)
  • [2025-03-28] Accepted pcp 6.3.7-1 (source) into unstable (Nathan Scott)
  • [2025-03-17] Accepted pcp 6.3.6-1 (source) into unstable (Nathan Scott)
  • [2025-03-15] Accepted pcp 6.3.5-1 (source) into unstable (Nathan Scott)
  • [2025-03-13] Accepted pcp 6.3.4-1 (source) into unstable (Nathan Scott)
  • [2025-01-28] Accepted pcp 6.3.3-1 (source) into unstable (Nathan Scott)
  • [2024-09-17] Accepted pcp 6.3.1-1 (source) into unstable (Nathan Scott)
  • 1
  • 2
bugs [bug history graph]
  • all: 4
  • RC: 1
  • I&N: 3
  • M&W: 0
  • F&P: 0
  • patch: 0
links
  • homepage
  • lintian (2, 9)
  • buildd: logs, reproducibility, cross
  • popcon
  • browse source code
  • other distros
  • security tracker
  • screenshots
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 7.1.5-1

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing