Tuesday, April 28, 2026

I’m on a virtual private server with a freshly installed Debian 13.4. The server is currently accessible via the FQDN lumi.mylino.net. I installed a list of packages like libreoffice, monit and certbot, and created a file /etc/monit/conf.d/lino.conf with the following content:

# generated by getlino
set alert root@localhost with reminder on 2 cycles
check program status with path /usr/local/bin/healthcheck.sh
    if status != 0 then alert
check device ROOT  with path /
    if SPACE usage > 95% then alert
check system $HOST
    if memory usage > 75% for 5 cycles then alert

This file causes the server to collapse after a few hours of operation. When I remove the file and reboot the server, my problem disappears. And when I restore the file and reboot, my problem reappears.

Here is what happens after rebooting when the file exists.

Soon after rebooting, I have the following message in my journal:

apr   28 08:07:30 lumi postfix/postdrop[992]: warning: mail_queue_enter: create file maildrop/870989.992: Read-only file system

This warning reappears every 2 minutes. Which corresponds to the “set daemon 120” in my /etc/monit/monitrc. After two minutes, there are already two of these warnings.

And for each warning, ps aux shows a new group of four processes:

root        1871  0.0  0.1  18012  2368 ?        Ss   22:51   0:00 sudo supervisorctl status
root        1872  0.0  0.3  43956  7044 ?        S    22:51   0:00 sendmail -t
root        1873  0.0  0.3  43820  7068 ?        S    22:51   0:00 /usr/sbin/postdrop -r
postfix     1895  0.0  0.7  53376 14112 ?        S    22:52   0:00 tlsmgr -l -t unix -u -c

And these processes accumulate, and after a few hours the server gets out of memory and starts swapping.

My /etc/monit/conf.d/lino.conf file is obviously the trigger, but on the other hand I’m using the same file on at least one other server with the same Debian version. And in general I’m using this file on other servers at least since 2020, and until now it did not cause such a problem.

More observations:

  • I read the docs about tlsmgr and yes, everything indicates that some process (probably monit) is trying to send an email and that postfix has some problem, but my postfix configuration is a stand-alone internet site with only the following parameters changed:

    # postconf myhostname mydestination myorigin
    myhostname = lumi.mylino.net
    mydestination = $myhostname,localhost
    myorigin = /etc/mailname
    

    And I can manually send an email to root@localhost by saying:

    $ echo foo | mail -r luc@lumi.mylino.net root@localhost
    
  • postfix check doesn’t complain about anything.

  • My /var/log/monit.log file shows an error:

            No mail servers are defined -- please see the 'set mailserver' statement in the manual
    
    This error goes away when I say ``set mailserver localhost`` in my
    :file:`/etc/monit/monitrc` but doesn't make my problem disappear. I'm just a bit
    surprised because on another server with the same Debian version the error does
    not appear even though I leave :file:`/etc/monit/monitrc` unchanged.