Created attachment 1661747 [details] a short archive recorded on rhel7 that reproduces the failure Description of problem: When trying to extract metrics from the attached archive with pmrep, pmrep fails with the backtrace: File "/usr/bin/pmrep", line 38, in <module> from pcp import pmapi, pmi, pmconfig File "/usr/lib64/python3.7/site-packages/pcp/pmi.py", line 102, in <module> c_char_p, pmID, c_int, pmInDom, c_int, pmUnits] TypeError: item 6 in _argtypes_ passes a struct/union with a bitfield by value, which is unsupported. This happens after upgrading python3 to python3-3.7.6-1.fc30.x86_64. With python3-3.7.3-1.fc30.x86_64 it works fine. A very very quick search reveals https://bugs.python.org/issue39295 , so pcp may turn out to be a victim of an underlying problem. Version-Release number of selected component (if applicable): pcp-system-tools-5.0.2-1.fc30.x86_64 python3-3.7.6-1.fc30.x86_64 (latest versions available for fedora 30) How reproducible: Always Steps to Reproduce: 1. Install the versions of pcp and python mentioned above 2. Download the archive attached to the BZ 3. Run pmrep -t10s -a 20200207.17.32.0 :vmstat Actual results: pmrep -t10s -a 20200207.17.32.0 :vmstat Traceback (most recent call last): File "/usr/bin/pmrep", line 38, in <module> from pcp import pmapi, pmi, pmconfig File "/usr/lib64/python3.7/site-packages/pcp/pmi.py", line 102, in <module> c_char_p, pmID, c_int, pmInDom, c_int, pmUnits] TypeError: item 6 in _argtypes_ passes a struct/union with a bitfield by value, which is unsupported. Expected results: pmrep provides the data from the archive. Additional info: I cannot reproduce the failure in fedora31.
Thanks for reporting. This has been fixed in upstream PCP via the commit below. Next scheduled PCP update in Fedora 30 (with this fix) is in approx 3 weeks - until then, the upstream PCP github and/or bintray repos could be used. commit 2e581f33a5710b5ef3f8da22cc75d13fde3f0713 Author: Nathan Scott <nathans> Date: Mon Jan 20 14:29:09 2020 +1100 python api: allow pmUnits to be converted to an int Provide an __int__ conversion routine for the pmUnits class which contains bitfields, recently confusing latest version of python3 when passed on the stack. This resolves QA failure in pmrep tests on Fedora31 with the latest python updates applied.
FEDORA-2020-1948419b2e has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-1948419b2e
pcp-5.0.3-1.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-1948419b2e
pcp-5.0.3-1.fc32 has been pushed to the Fedora 32 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-7ac95d60db
FEDORA-2020-a4236a5dcf has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-a4236a5dcf
pcp-5.0.3-2.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-a4236a5dcf
pcp-5.0.3-2.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.
pcp-5.0.3-1.fc32 has been pushed to the Fedora 32 stable repository. If problems still persist, please make note of it in this bug report.