diff options
author | Joey Hess <joey@kitenet.net> | 2014-04-11 14:34:09 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-04-11 14:34:09 -0400 |
commit | 1da5429a3356a93b2628232ebf442a735b20f2af (patch) | |
tree | 283d9479118c54c7aecfffa3d0206f82ebd6ecab | |
parent | 803d6ad2c41db8a3852702b94d2505ab30eb5626 (diff) |
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.
-rw-r--r-- | Utility/Scheduled.hs | 2 | ||||
-rw-r--r-- | debian/changelog | 4 | ||||
-rw-r--r-- | doc/bugs/assistant_eats_all_CPU.mdwn | 7 |
3 files changed, 12 insertions, 1 deletions
diff --git a/Utility/Scheduled.hs b/Utility/Scheduled.hs index 11e3b569b..e4b03aac4 100644 --- a/Utility/Scheduled.hs +++ b/Utility/Scheduled.hs @@ -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) diff --git a/debian/changelog b/debian/changelog index 00ac22c20..55c1ba396 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 diff --git a/doc/bugs/assistant_eats_all_CPU.mdwn b/doc/bugs/assistant_eats_all_CPU.mdwn index 4939bf456..719fca425 100644 --- a/doc/bugs/assistant_eats_all_CPU.mdwn +++ b/doc/bugs/assistant_eats_all_CPU.mdwn @@ -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]] |