chcpumf installed with s390-tools version 2.14.0 no longer provides version or help information
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
Medium
|
bugproxy | ||
s390-tools (Ubuntu) |
Fix Released
|
Undecided
|
Frank Heimes | ||
Groovy |
Fix Released
|
Undecided
|
Frank Heimes | ||
Hirsute |
Fix Released
|
Undecided
|
Frank Heimes |
Bug Description
SRU Bug Justification:
=======
[Impact]
* The chcpumf version 2.14.0 of groovy (used to manage CPU-measurement
facilities) has a regression and no longer provides version or help
information in case the sampling facility is not installed.
* Instead of displaying proper help information using '-h'
or proper version information using '-v',the message
"No CPU-measurement sampling facility detected" is displayed.
[Test Case]
* Have an Ubuntu Server 20.10 system installed on z/VM or LPAR.
* But make sure that the sampling facility is not installed.
* The s390-tools package is installed by default,
so no need to install anything.
* Just execute 'chcpumf -h' and 'chcpumf -v'.
* If proper version is help information is displayed,
the problem is fixed.
* If the message "No CPU-measurement sampling facility detected" is
displayed the problem still persists.
[Where problems could occur]
* The changes are largely in the area of the parameter handling
and read_sfb of the chcpumf tool.
* A problem could be that the argument handling gets totally broken,
means that the problem is no longer limited to version and help
information,
* or in worst-case it may break things even in case a sampling
facility is installed.
* At the end it's an optional s390x only tool
and only needed for performance measurement.
[Others]
* The fix is upstream in 2.15, and since hirsute has already 2.15.1 hirsute is not affected.
__________
With s390-tools version 2.14.0 installed with Ubuntu 20.10 the -v and -h options to chcpumf no longer report the version or display help information. Rather the message "No CPU-measurement sampling facility detected" is displayed. This behavior diverges from previous versions and is not consistent with other binaries provided by the s390-tools package.
ubuntu@
No CPU-measurement sampling facility detected
ubuntu@
No CPU-measurement sampling facility detected
ubuntu@
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu Groovy Gorilla (development branch)
Release: 20.10
Codename: groovy
ubuntu@
/usr/sbin/chcpumf
ubuntu@
dpkg-query: no path found matching pattern /usr/sbin/chcpumf
ubuntu@
s390-tools: /sbin/chcpumf
ubuntu@
s390-tools:
Installed: 2.14.0-1ubuntu1
Candidate: 2.14.0-1ubuntu1
Version table:
*** 2.14.0-1ubuntu1 500
500 http://
100 /var/lib/
Here's a an example of the behavior with version 2.12 from 20.04
ubuntu@
CPU-measurement facility utilities, version 2.12.0-
Copyright IBM Corp. 2014, 2017
ubuntu@
/usr/sbin/chcpumf
ubuntu@
s390-tools: /usr/sbin/chcpumf
ubuntu@
s390-tools:
Installed: 2.12.0-0ubuntu3
Candidate: 2.12.0-0ubuntu3
Version table:
*** 2.12.0-0ubuntu3 500
500 http://
100 /var/lib/
Related branches
- Lukas Märdian (community): Approve
-
Diff: 578 lines (+544/-0)5 files modifieddebian/changelog (+18/-0)
debian/patches/s390-tools-sru-lp1898935-groovy.patch (+72/-0)
debian/patches/s390-tools-sru-lp1903984-groovy.patch (+49/-0)
debian/patches/s390-tools-sru-lp1908371-groovy.patch (+402/-0)
debian/patches/series (+3/-0)
tags: | added: s390x |
tags: | added: reverse-proxy-bugzilla |
Changed in ubuntu-z-systems: | |
importance: | Undecided → Medium |
assignee: | nobody → bugproxy (bugproxy) |
tags: | added: architecture-s39064 bugnameltc-188540 severity-high targetmilestone-inin2010 |
Changed in ubuntu-z-systems: | |
status: | New → Triaged |
Changed in s390-tools: | |
assignee: | nobody → Canonical Foundations Team (canonical-foundations) |
tags: | added: fr-829 |
summary: |
- chcpumf installed with s390-tools version 2.14.0 not longer provides - version of help information + chcpumf installed with s390-tools version 2.14.0 no longer provides + version or help information |
description: | updated |
description: | updated |
description: | updated |
no longer affects: | s390-tools |
Changed in s390-tools (Ubuntu Hirsute): | |
status: | New → Fix Released |
Changed in s390-tools (Ubuntu Groovy): | |
status: | New → Confirmed |
Changed in s390-tools (Ubuntu Hirsute): | |
assignee: | nobody → Frank Heimes (fheimes) |
Changed in s390-tools (Ubuntu Groovy): | |
assignee: | nobody → Frank Heimes (fheimes) |
Changed in s390-tools (Ubuntu Groovy): | |
status: | Confirmed → In Progress |
Changed in ubuntu-z-systems: | |
status: | In Progress → Fix Committed |
Changed in ubuntu-z-systems: | |
status: | Fix Committed → Fix Released |
------- Comment From <email address hidden> 2020-10-09 02:49 EDT-------
I found the root cause. When no CPU-measurement sampling facility is detected,
this error is printed first:
No CPU-measurement sampling facility detected
regardless of any command line options specified. Then program then exits.
This happened during the rewrite from perl to C.
When the CPU-measurement sampling facility is available and detected,
the command line options -h and -v are properly processed.
This error shows up only when no CPU-measurement sampling
facility is detected. Without any installed CPU-measurement sampling
facility, you can not change the CPU-measurement sampling facilities
buffer sizes (because it is not there!).
So I will change the code to honour previous behavior and print help
string and version number, even if the program can not be used properly.