I found a bug in the code as described in this issue:
https://bugs.launchpad.net/ubuntu/+source/cron/+bug/1779583

The bug would not prevent the error you're seeing, however, there is a
second fork() which, if it fails, will block that part of cron, which
would therefore leak. So if it happens "on the wrong fork()", (1) you
won't see any logs and (2) you get a cron "process" which gets stuck
waiting for a second child that was never created.

I included a patch too.

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

Title:
  High memory and "can't fork" on heavy long-lived cron daemon

Status in cron package in Ubuntu:
  Confirmed

Bug description:
  Ubuntu 14.04.5 LTS, cron 3.0pl1-124ubuntu2

  On a server with heavy cron use (a few thousand entries across cron.d
  / users, several runs per second, a few dozen forks running at any
  given time), cron will creep up in memory usage.  Last I saw was 6GB
  RSS, at which point it will start doing:

  Jul  6 07:01:27 host cron[21699]: (CRON) error (can't fork)

  Not all runs will fail, but this trend will continue until cron is
  restarted.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cron/+bug/1702785/+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