Thanks Paride for feedback.
1.
Old calculation is a little bit wrong.
It assumes that we have 52 weeks in the year - which is 60*60*24*7*52 -> 
31449600 seconds
(31449600 - 1) will result in 51 weeks, 31449600 will result in 0 weeks (it is 
assuming year has passed).
However year calculation is different, 60*60*24*365 -> 31536000
(31536000 - 1) will result in 0 years, 31536000 will result in 1 year.

Problem is that between 31449600 and 31536000 uptime -p will return 0 for weeks 
and 0 for years.
To finish this up, we will have incorrect output for 86400s (24h).

With new patch:
upweeks = (int) uptime_secs / (60*60*24*7);
will return 52 weeks for 31449600->31536000

2. I'll try to add some details from this comment to update [REGRESSION
POTENTIAL] section.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to procps in Ubuntu.
https://bugs.launchpad.net/bugs/2035061

Title:
  uptime -p reports incorrect output after 52 weeks

Status in procps package in Ubuntu:
  New
Status in procps source package in Focal:
  New
Status in procps source package in Jammy:
  New

Bug description:
  [IMPACT]

  uptime will provide incorrect data after 52 weeks. This is at least confusing 
for users utilizing this tool.
  Issue is already fixed in upstream 
https://gitlab.com/procps-ng/procps/-/commit/8827c6763f79f77a126968e200b0e402de7cb749.
  Latest procps releases already include this patch (procps 4.0.3 lunar/mantic)
  The fix is needed for following set of packages:
  procps | 2:3.3.17-6ubuntu2   | jammy
  procps | 2:3.3.16-1ubuntu2   | focal

  [TEST CASE]

  UPTIME="31528920 31528800"; mkfifo uptime_fifo; while true; do cat <<<$UPTIME 
> uptime_fifo; done & sudo mount -obind uptime_fifo /proc/uptime
  uptime -p
  Running above commands will result in incorrect uptime output.

  [REGRESSION POTENTIAL]

  The patch is already available in upstream, lunar/mantic releases already 
include is as well.
  Old behavior will inaccurately print uptime -p for 24h after 31449600 seconds 
(0 years, 0 weeks).
  With new patch during that time uptime -p will print "52 weeks".

  [OTHER]
  Bug upstream: https://gitlab.com/procps-ng/procps/-/issues/217
  Following patch is needed for older releases: 
https://gitlab.com/procps-ng/procps/-/commit/8827c6763f79f77a126968e200b0e402de7cb749

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/procps/+bug/2035061/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to