sts-sponsors team mailing list archive
-
sts-sponsors team
-
Mailing list archive
-
Message #04894
[Bug 1999816] Re: Failure to get free disk space breaks "rabbitmqctl status" command
Hey Jorge,
Thanks for the bug report, SRU template, and debdiffs!
I just reviewed those; please find the comments below.
I'll keep the points detailed in case they might help
other readers preparing for submitting SRUs in Ubuntu.
Thanks!
Mauricio
...
SRU template:
---
- Added [Impact] section title [0].
- Added more steps/commands to clarify the reproducer.
Fix:
---
- Added nomination for kinetic (please attach debdiff).
It's still supported for ~3 months :)
$ ubuntu-distro-info --series=kinetic --days=eol
174
...
Checking the provided link for fix commit title.
https://github.com/rabbitmq/rabbitmq-server/pull/4897
Checking the versions the commit was introduced,
and the stable branches with backports (nice!).
$ git clone https://github.com/rabbitmq/rabbitmq-server.git
$ cd rabbitmq-server
$ git log --oneline -G 'when is_number' origin/main -- deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex
9dc9b92a94f3 Fix `rabbitmqctl status` when the disk_free cannot be determined
$ git describe --contains 9dc9b92a94f3
v3.11.0-beta.1~288^2~1
$ rmadison -a source rabbitmq-server
rabbitmq-server | 3.2.4-1 | trusty | source
rabbitmq-server | 3.2.4-1ubuntu0.1 | trusty-security | source
rabbitmq-server | 3.2.4-1ubuntu0.1 | trusty-updates | source
rabbitmq-server | 3.5.7-1 | xenial | source
rabbitmq-server | 3.5.7-1ubuntu0.16.04.2 | xenial-security | source
rabbitmq-server | 3.5.7-1ubuntu0.16.04.4 | xenial-updates | source
rabbitmq-server | 3.6.10-1 | bionic | source
rabbitmq-server | 3.6.10-1ubuntu0.5 | bionic-security | source
rabbitmq-server | 3.6.10-1ubuntu0.5 | bionic-updates | source
rabbitmq-server | 3.8.2-0ubuntu1~ubuntu18.04.1 | bionic-backports | source
rabbitmq-server | 3.8.2-0ubuntu1 | focal | source
rabbitmq-server | 3.8.2-0ubuntu1.3 | focal-security | source
rabbitmq-server | 3.8.2-0ubuntu1.3 | focal-updates | source
rabbitmq-server | 3.9.13-1 | jammy | source
rabbitmq-server | 3.9.13-1 | kinetic | source
rabbitmq-server | 3.10.8-1.1 | lunar | source
1) lunar: not needed.
$ git log --oneline -G 'when is_number' origin/v3.10.x -- deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex
abb059610eac Fix `rabbitmqctl status` when the disk_free cannot be determined
$ git describe --contains abb059610eac
v3.10.3~19^2~1
2) kinetic/jammy: needed. [kinetic not nominated/debdiff]
$ git log --oneline -G 'when is_number' origin/v3.9.x -- deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex
17c9f6960724 Fix `rabbitmqctl status` when the disk_free cannot be determined
$ git describe --contains 17c9f6960724
v3.9.19~10^2~1
3) focal: needed
$ git log --oneline -G 'when is_number' origin/v3.8.x -- deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex
7a5a467d4be4 Fix `rabbitmqctl status` when the disk_free cannot be determined
$ git describe --contains 7a5a467d4be4
v3.8.33~2^2~1
1.1) lunar: double check
$ pull-lp-source rabbitmq-server lunar
$ grep 'def convert(' rabbitmq-server-*/deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex
def convert(bytes, "bytes") when is_number(bytes) do
def convert(bytes, unit) when is_number(bytes) do
def convert(:unknown, _) do
Debdiffs:
---
d/changelog:
- release name (unreleased)
- version (see [2]): almost there, please use 'ubuntu0.22.04' on jammy and 'ubuntu0.22.10' on kinetic
(the ubuntu +1 increments are usually used for the development release, and +0.1 for stable releases;
although the strict requirement is just not to have a conflict with future versions;
however, here we have the corner case of 2 stable releases with the same version number.)
- mention d/p/file.patch
- bug reference in "LP: #NNNNNNN" format (but you're "close" with
"Closes:" ;-) it's used by Debian)
- timezone seems unset? "+0000" (export TZ=America/Santiago, before `dch
-r` iirc)
d/control:
- nice touch on running update-maintainers!
d/p/fix_unknown.patch:
- please rename it as lpNUMBER-commit-subject-or-summary.patch
it's not a strict rule, but it goes a long way for reviewers and future maintenance.
e.g., d/p/lp1999816-fix-rabbitmqctl-status-disk-free-timeout.patch
- the DEP3 headers are incorrect; please refer to [3] for details.
For git commits, it's easier if you just use `git format-patch`
(instead of manually doing DEP3), as it gives correct authorship,
subject/description outside fields;
then you just need to add:
'Bug-Ubuntu: https://bugs.launchpad.net/bugs/1999816'
'Origin: upstream/backport, <vcs commit url>'
[0] https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template
[1] Item 4 in https://wiki.ubuntu.com/StableReleaseUpdates#Procedure
[2] https://wiki.ubuntu.com/SecurityTeam/UpdatePreparation#Update_the_packaging
[3] https://dep-team.pages.debian.net/deps/dep3/
** Also affects: rabbitmq-server (Ubuntu Kinetic)
Importance: Undecided
Status: New
** Changed in: rabbitmq-server (Ubuntu Kinetic)
Status: New => Confirmed
** Changed in: rabbitmq-server (Ubuntu Kinetic)
Importance: Undecided => Medium
** Changed in: rabbitmq-server (Ubuntu Kinetic)
Assignee: (unassigned) => Jorge Merlino (jorge-merlino)
** Changed in: rabbitmq-server (Ubuntu Kinetic)
Status: Confirmed => Triaged
** Changed in: rabbitmq-server (Ubuntu Jammy)
Status: In Progress => Triaged
** Changed in: rabbitmq-server (Ubuntu Jammy)
Importance: Undecided => Medium
** Changed in: rabbitmq-server (Ubuntu Focal)
Status: In Progress => Triaged
** Changed in: rabbitmq-server (Ubuntu Focal)
Importance: Undecided => Medium
** Changed in: rabbitmq-server (Ubuntu)
Status: In Progress => Fix Released
** Changed in: rabbitmq-server (Ubuntu)
Assignee: Jorge Merlino (jorge-merlino) => (unassigned)
** Description changed:
+ [Impact]
+
When for some reason the df command fails to get the disk free space
(for example timeout on a heavily loaded system) the result is a
harcoded value of "unknown". As this is not a valid number this
generates arithmetic errors when the "rabbitmqctl status" command is run
and tries to divide that value to convert it to another unit.
This has been fixed upstream here:
https://github.com/rabbitmq/rabbitmq-server/pull/4897
[Test Plan]
- The df command can be linked to another file that just waits for a few minutes to force a timeout for example:
+
+ The df command can be linked to another file that just waits for a few
+ minutes to force a timeout for example: [detailed steps in comment #5].
#!/bin/bash
sleep 5m
After the timeout occurs the "rabbitmqctl status" returns an error with
the unpatched version. After the patch it shows all the information and
displays unknown in the free space line.
[Where problems could occur]
- The patch just changes the display of information, it should not break anything in the core operations of the package
+
+ The patch just changes the display of information, it should not break
+ anything in the core operations of the package
--
You received this bug notification because you are a member of SE SRU
("STS") Sponsors, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1999816
Title:
Failure to get free disk space breaks "rabbitmqctl status" command
Status in rabbitmq-server package in Ubuntu:
Fix Released
Status in rabbitmq-server source package in Focal:
Triaged
Status in rabbitmq-server source package in Jammy:
Triaged
Status in rabbitmq-server source package in Kinetic:
Triaged
Bug description:
[Impact]
When for some reason the df command fails to get the disk free space
(for example timeout on a heavily loaded system) the result is a
harcoded value of "unknown". As this is not a valid number this
generates arithmetic errors when the "rabbitmqctl status" command is
run and tries to divide that value to convert it to another unit.
This has been fixed upstream here:
https://github.com/rabbitmq/rabbitmq-server/pull/4897
[Test Plan]
The df command can be linked to another file that just waits for a few
minutes to force a timeout for example: [detailed steps in comment
#5].
#!/bin/bash
sleep 5m
After the timeout occurs the "rabbitmqctl status" returns an error
with the unpatched version. After the patch it shows all the
information and displays unknown in the free space line.
[Where problems could occur]
The patch just changes the display of information, it should not break
anything in the core operations of the package
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rabbitmq-server/+bug/1999816/+subscriptions