Public bug reported: Sendmail 8.15.2 seems to have a file descriptor bug/handling problem, which is exposed when the ldap_routing feature is enabled.
I'm not certain I understand what you mean by "source package", but I assume what you're looking for is the 'sendmail' package. Distro: Ubuntu 16.04.1 LTS Package version: apt-cache policy sendmail sendmail: Installed: 8.15.2-3 Candidate: 8.15.2-3 Version table: *** 8.15.2-3 500 500 http://us.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages 500 http://us.archive.ubuntu.com/ubuntu xenial/universe i386 Packages 100 /var/lib/dpkg/status I expect e-mail received from a remote system to be processed and accepted by the local sendmail process. What happens is that the sendmail process hangs and never completes processing the e-mail message, so it does not get delivered. The configuration: When I add FEATURE(`ldap_routing', ...) to my sendmail.mc file and generate a new sendmail.cf file for sendmail to use, sendmail stops processing e-mail messages for delivery. Background: I initially developed my mc/cf files with ldap_routing on Ubuntu 14.04 systems. I had no problems with sendmail processing/delivery until I took the .cf file from my Ubuntu 14.04 system and used it with the Ubuntu 16.04 sendmail package (at which point I observed delivery problems). For troubleshooting, I used a stock Ubuntu 16.04 sendmail.mc file and slowly added things to it until I the problem reoccurred. I have found that adding FEATURE(`ldap_routing', ...) to the stock sendmail.mc file is sufficient to reproduce this problem under Ubuntu 16.04. Fuller problem report: The problem occurs when a (remote) SMTP host delivers e-mail over port 25 to the affected Ubuntu 16.04 system. Ubuntu's 16.04 sendmail process will report that it has accepted the e-mail message (over port 25), but the e-mail message is never delivered. Running 'ps auxwww | grep sendmail' on the Ubuntu 16.04 system after delivering an e-mail message to it, the sendmail child process reports that it's still accepting the message, like it hasn't finished processing it. This sendmail process hangs around indefinitely (I've waited days), and never finishes processing. If I kill the child sendmail process that was spawned to accept/process this message, at the next sendmail queue run interval the message is read from mqueue and properly delivered. When I run strace -p <sendmail_accept_pid>, it shows the sendmail process is waiting for input from FD 3 (<unfinished> read(3, ...)). When I start the sendmail daemon as "strace -f /usr/sbin/sendmail-mta -Am -L sm-mta -bd -q10m", I still get the same behavior where the child process accepting the e-mail message will get hung up waiting for input on FD3. Examining /proc/<PID>/fd/3 shows it to be a connection to a socket. When I backtrace through the strace output, it appears that FD3 is a socket to /dev/log, which strongly implies that sendmail isn't reading from the correct FD. If I start sendmail as "/usr/sbin/sendmail-mta -Am -L sm-mta -bd -q10m -D /tmp/log", then sendmail seems to work fine (it accepts messages and promptly delivers them). This makes me think a file descriptor leak/mixup bug is triggered when the LDAP code is enabled. The bug.apport output is included as a file attachment. ** Affects: sendmail (Ubuntu) Importance: Undecided Status: New ** Attachment added: "bug.apport" https://bugs.launchpad.net/bugs/1649700/+attachment/4791293/+files/bug.apport ** Description changed: Sendmail 8.15.2 seems to have a file descriptor bug/handling problem, which is exposed when the ldap_routing feature is enabled. I'm not certain I understand what you mean by "source package", but I assume what you're looking for is the 'sendmail' package. Distro: Ubuntu 16.04.1 LTS Package version: apt-cache policy sendmail sendmail: - Installed: 8.15.2-3 - Candidate: 8.15.2-3 - Version table: - *** 8.15.2-3 500 - 500 http://us.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages - 500 http://us.archive.ubuntu.com/ubuntu xenial/universe i386 Packages - 100 /var/lib/dpkg/status + Installed: 8.15.2-3 + Candidate: 8.15.2-3 + Version table: + *** 8.15.2-3 500 + 500 http://us.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages + 500 http://us.archive.ubuntu.com/ubuntu xenial/universe i386 Packages + 100 /var/lib/dpkg/status I expect e-mail received from a remote system to be processed and accepted by the local sendmail process. What happens is that the sendmail process hangs and never completes processing the e-mail message, so it does not get delivered. - - The configuration: When I add FEATURE(`ldap_routing', ...) to my sendmail.mc file and generate a new sendmail.cf file for sendmail to use, sendmail stops processing e-mail messages for delivery. + The configuration: When I add FEATURE(`ldap_routing', ...) to my + sendmail.mc file and generate a new sendmail.cf file for sendmail to + use, sendmail stops processing e-mail messages for delivery. Background: I initially developed my mc/cf files with ldap_routing on Ubuntu 14.04 systems. I had no problems with sendmail delivery problems - when I took the .cf file from my Ubuntu 14.04 system and used it under - Ubuntu 16.04 (at which point I observed delivery problems). Next, I - started with a stock Ubuntu 16.04 sendmail.mc file and slowly added - things to it until I the problem reoccurred. I found that adding - FEATURE(`ldap_routing', ...) to the stock sendmail.mc file is sufficient - to reproduce this problem under Ubuntu 16.04. + until I took the .cf file from my Ubuntu 14.04 system and used it with + the Ubuntu 16.04 sendmail package (at which point I observed delivery + problems). Next, I started with a stock Ubuntu 16.04 sendmail.mc file + and slowly added things to it until I the problem reoccurred. I found + that adding FEATURE(`ldap_routing', ...) to the stock sendmail.mc file + is sufficient to reproduce this problem under Ubuntu 16.04. Fuller problem report: The problem occurs when a (remote) SMTP host delivers e-mail over port 25 to the affected Ubuntu 16.04 system. Ubuntu's 16.04 sendmail process will report that it has accepted the e-mail message (over port 25), but the e-mail message is never delivered. Running 'ps auxwww | grep sendmail' on the Ubuntu 16.04 system after delivering an e-mail message to it, the sendmail child process reports that it's still accepting the message, like it hasn't finished processing it. This sendmail process hangs around indefinitely (I've waited days), and never finishes processing. If I kill the child sendmail process that was spawned to accept/process this message, at the next sendmail queue run interval the message is read from mqueue and properly delivered. When I run strace -p <sendmail_accept_pid>, it shows the sendmail process is waiting for input from FD 3 (<unfinished> read(3, ...)). When I start the sendmail daemon as "strace -f /usr/sbin/sendmail-mta -Am -L sm-mta -bd -q10m", I still get the same behavior where the child process accepting the e-mail message will get hung up waiting for input on FD3. Examining /proc/<PID>/fd/3 shows it to be a connection to a socket. When I backtrace through the strace output, it appears that FD3 is a socket to /dev/log, which strongly implies that sendmail isn't reading from the correct FD. If I start sendmail as "/usr/sbin/sendmail-mta -Am -L sm-mta -bd -q10m -D /tmp/log", then sendmail seems to work fine (it accepts messages and promptly delivers them). This makes me think a file descriptor leak/mixup bug is triggered when the LDAP code is enabled. The bug.apport output is included as a file attachment. ** Description changed: Sendmail 8.15.2 seems to have a file descriptor bug/handling problem, which is exposed when the ldap_routing feature is enabled. I'm not certain I understand what you mean by "source package", but I assume what you're looking for is the 'sendmail' package. Distro: Ubuntu 16.04.1 LTS Package version: apt-cache policy sendmail sendmail: Installed: 8.15.2-3 Candidate: 8.15.2-3 Version table: *** 8.15.2-3 500 500 http://us.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages 500 http://us.archive.ubuntu.com/ubuntu xenial/universe i386 Packages 100 /var/lib/dpkg/status I expect e-mail received from a remote system to be processed and accepted by the local sendmail process. What happens is that the sendmail process hangs and never completes processing the e-mail message, so it does not get delivered. The configuration: When I add FEATURE(`ldap_routing', ...) to my sendmail.mc file and generate a new sendmail.cf file for sendmail to use, sendmail stops processing e-mail messages for delivery. Background: I initially developed my mc/cf files with ldap_routing on - Ubuntu 14.04 systems. I had no problems with sendmail delivery problems - until I took the .cf file from my Ubuntu 14.04 system and used it with - the Ubuntu 16.04 sendmail package (at which point I observed delivery - problems). Next, I started with a stock Ubuntu 16.04 sendmail.mc file - and slowly added things to it until I the problem reoccurred. I found - that adding FEATURE(`ldap_routing', ...) to the stock sendmail.mc file - is sufficient to reproduce this problem under Ubuntu 16.04. + Ubuntu 14.04 systems. I had no problems with sendmail + processing/delivery until I took the .cf file from my Ubuntu 14.04 + system and used it with the Ubuntu 16.04 sendmail package (at which + point I observed delivery problems). For troubleshooting, I used a + stock Ubuntu 16.04 sendmail.mc file and slowly added things to it until + I the problem reoccurred. I have found that adding + FEATURE(`ldap_routing', ...) to the stock sendmail.mc file is sufficient + to reproduce this problem under Ubuntu 16.04. Fuller problem report: The problem occurs when a (remote) SMTP host delivers e-mail over port 25 to the affected Ubuntu 16.04 system. Ubuntu's 16.04 sendmail process will report that it has accepted the e-mail message (over port 25), but the e-mail message is never delivered. Running 'ps auxwww | grep sendmail' on the Ubuntu 16.04 system after delivering an e-mail message to it, the sendmail child process reports that it's still accepting the message, like it hasn't finished processing it. This sendmail process hangs around indefinitely (I've waited days), and never finishes processing. If I kill the child sendmail process that was spawned to accept/process this message, at the next sendmail queue run interval the message is read from mqueue and properly delivered. When I run strace -p <sendmail_accept_pid>, it shows the sendmail process is waiting for input from FD 3 (<unfinished> read(3, ...)). When I start the sendmail daemon as "strace -f /usr/sbin/sendmail-mta -Am -L sm-mta -bd -q10m", I still get the same behavior where the child process accepting the e-mail message will get hung up waiting for input on FD3. Examining /proc/<PID>/fd/3 shows it to be a connection to a socket. When I backtrace through the strace output, it appears that FD3 is a socket to /dev/log, which strongly implies that sendmail isn't reading from the correct FD. If I start sendmail as "/usr/sbin/sendmail-mta -Am -L sm-mta -bd -q10m -D /tmp/log", then sendmail seems to work fine (it accepts messages and promptly delivers them). This makes me think a file descriptor leak/mixup bug is triggered when the LDAP code is enabled. The bug.apport output is included as a file attachment. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1649700 Title: Sendmail 8.15.2 - hangs accepting e-mail with LDAP enabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/sendmail/+bug/1649700/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs