Lemma #1: Email is important. Corollary #1: It is therefore bad when email stops working. Conclusion: That's why one of the project managers was frantic.

That's who went and got Anne when she came into work. Going down the standard checklist: the server was up, sendmail was alive, but curiously /var (of /var/spool/mail fame) was 100% full. A quick perusal of that directory revealed a multi-gigabyte message sitting in /var/spool/clientmqueue; but why was it there?

The sender was cron, faithfully reporting the failure of one of its cronies. The message itself was composed of millions of lines randomly plucked from errno.h, a harmony of invalid resources and files not found.

Eventually, Anne tracked the problem to a PHP script that contained the following lines.

  if (file_exists($file)) {
      $data = implode("", file($file));
  } else {
      $fp = fopen($file,'r');
      while(!feof($fp)) {
          $data = $data . fread($fp, 1024);
      }
      fclose($fp);
  }

 

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!