The story of the 20°C cronjob

For the last month or so, the lifespan of my beloved Thinkpad X1 Carbon battery had been getting down the drains, from 5-6 hours to less than 3. Following @padenot's advice, I installed powertop and started investigating what was draining this good'ol battery of mine.

Looking at the powertop output, I immediatly realized that something fishy was happening on this laptop:

The battery reports a discharge rate of 4.95 W
The estimated remaining time is 2 hours, 6 minutes

Summary: 1111.7 wakeups/second,  7.9 GPU ops/seconds, 0.0 VFS ops/sec and 23.0% CPU use

                Usage       Events/s    Category       Description
            264.4 ms/s     3656.7       Process        /bin/bash /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f br
            114.3 ms/s     626.2        Process        /usr/lib64/firefox/firefox
             20.7 ms/s      95.5        Process        /opt/sublime_text_3/plugin_host 3272
             ...

Why was sendmail so busy, and why in the hell was it running anyway? strace showed me that the process was indeed very busy, and mailq showed that I had more than 15000 outgoing emails in the system mail queue!

$ mailq
...
mail in dir /home/br/.esmtp_queue/TSRueRJD:
    From: "(Cron Daemon)" <br>  To: br
mail in dir /home/br/.esmtp_queue/ZI1LtzhT:
    From: "(Cron Daemon)" <br>  To: br
15653 mails to deliver

Ok, so all these mails were being sent by cron. My user crontab only had one job, and it was * * * * * rm $HOME/crash_dump.erl. Indeed, I had been experimenting with Elixir recently, and when I crashed the Erlang VM, this file would pop-up in my home directory. At some point, I added this cronjob to make it go away and forgot about it. As the job's stdout was not redirected to /dev/null, each time the file was not found, the cron job would fail and a mail would be added to the queue.

After removing this job, purging the mail queue, and adding MAILTO="" at the beginning of my crontab (to avoid repeating this investigation down the road), sendmail went quiet, my battery life went back to ~6 hours, and the laptop average temperature went down 20°C.

Comments