assistant: Fix high CPU usage triggered when a monthly fsck is scheduled, and the last time the job ran was a day of the month > 12. This caused a runaway loop. Thanks to Anarcat for his assistance, and to Maximiliano Curia for identifying the cause of this bug.

This commit is contained in:
Joey Hess 2014-04-11 14:34:09 -04:00
parent 5ef1a160dd
commit c678798a5c
3 changed files with 12 additions and 1 deletions

View file

@ -121,7 +121,7 @@ calcNextTime (Schedule recurrance scheduledtime) lasttime currenttime
| otherwise -> skip 1
Monthly Nothing
| afterday -> skip 1
| maybe True (\old -> mnum day > mday old && mday day >= (mday old `mod` minmday)) lastday ->
| maybe True (\old -> mnum day > mnum old && mday day >= (mday old `mod` minmday)) lastday ->
-- Window only covers current month,
-- in case there is a Divisible requirement.
Just $ window day (endOfMonth day)

4
debian/changelog vendored
View file

@ -7,6 +7,10 @@ git-annex (5.20140406) UNRELEASED; urgency=medium
OSX system has wget installed, which will then be used.
* Fix rsync progress parsing in locales that use comma in number display.
Closes: #744148
* assistant: Fix high CPU usage triggered when a monthly fsck is scheduled,
and the last time the job ran was a day of the month > 12. This caused a
runaway loop. Thanks to Anarcat for his assistance, and to Maximiliano
Curia for identifying the cause of this bug.
-- Joey Hess <joeyh@debian.org> Mon, 07 Apr 2014 16:22:02 -0400

View file

@ -520,3 +520,10 @@ $ ps -O start xf | grep git-annex
13761 23:56:38 Z ? 00:00:00 \_ [git] <defunct>
6252 12:56:59 S ? 00:01:09 /usr/bin/emacs23
"""]]
#### This bug is fixed
> [[fixed|done]]. This was a Cronner bug, triggered when you had a
> scheduled fsck job that runs monthly at any time, and the last time it ran was on a day of a
> month > 12. Workaround: Disable scheduled fsck jobs, or change them to
> run on a specific day of the month. Or upgrade. --[[Joey]]