[exim] exim 4.50 turns into a cpu hog

Top Page
Delete this message
Reply to this message
Author: Hirling Endre
Date:  
To: exim-users
Subject: [exim] exim 4.50 turns into a cpu hog
Hello,

I found that exim hogs the cpu when an MX has no IP address. I don't
know if anything else is required for this. The problem seems to be in
the for loop starting at src/transports/smtp.c, line 2116.

  for (host = hostlist;
       host != NULL &&
         unexpired_hosts_tried < ob->hosts_max_try &&
         total_hosts_tried < ob->hosts_max_try_hardlimit;
       host = nexthost)
    {


[...]

    if (host->address == NULL)
      {
      uschar *canonical_name;


      if (host->status >= hstatus_unusable)
        {
        DEBUG(D_transport) debug_printf("%s has no address and is unusable - skipping\n",
          host->name);
        continue;
        }



If the host has no address and is unusable, an endless loop occurs
because nothing will change the 'host' variable before the continue.

Unfortunately I'm not familiar enough with exim internals to even
suggest a fix.

greetings
endre