Reese Knowledgebase

System_resources_temporarily_unavailable._(#4.3.0)

View Kristian Reese's profile on LinkedIn


If you like this article, please +1 or Recommend via FB with the provided buttons above:

Article ID: 41
by: Reese K.
Posted: 21 Jun, 2012
Last updated: 18 Dec, 2012
Views: 3635


VPS accounts using qmail as its MTA logs the following error in /usr/local/psa/var/log/maillog

System_resources_temporarily_unavailable._(#4.3.0)

Referencing this article, it's apparent that versions of qmail compiled with IPv6-support on hosts with IPv6 disabled are unable to send mail, and log the above message.  In the case of google who recently converted to IPv6, qmail is unable to resolve the IPv6 MX record since IPv6 is disabled on the host.

Parallels has offered various work arounds referenced in their forums, including a beta patch that I've tested to success.  Here are some options to work around this issue:

  1. Switch over to postfix using autoinstaller:
  2. /usr/local/psa/admin/sbin/autoinstaller --select-release-current --install-component postfix

    Warning!, should there be messages stuck in the queue, switching to postfix will result in losing the current qmail queue.  If losing these messages is not an option, try option 2 or 3 to empty the mail queue, then switch to postfix, which is not affected by this issue and you won't have to wait for parallels to release a qmail patch!

  3. Follow kb article 114276 and replace file qmail-remote.moved.  This is essentially the beta patch parallels is working on.  Note that if autoinstaller is run subsequent to applying this patch, any updates will overwrite the patch until parallels includes this patch in a future Micro Update (MU).
  4. Install a prior version of qmail in which IPv6 was not compiled in the binary.  Parallel's indicates qmail from Plesk 10.1 will work.  I've tested this to success as well, but keep in mind any updates applied to plesk subsequent to employing this method will result in a recurrence of this problem.  The process to employ this method is as follows:

Download and install older version of qmail that only has ipv4 support from parallels:

   wget http://autoinstall.plesk.com/PSA_10.1.1/dist-rpm-CentOS-5-x86_64/opt/maildrivers/plesk-mail-qc-driver-10.10.1-cos5.build1010110120.18.x86_64.rpm

   wget http://autoinstall.plesk.com/PSA_10.1.1/dist-rpm-CentOS-5-x86_64/opt/maildrivers/psa-qmail-1.03-cos5.build1010110112.13.x86_64.rpm

   rpm -Uvh plesk-mail-qc-driver-10.10.1-cos5.build1010110120.18.x86_64.rpm --force --nodeps

   rpm -Uvh plesk-mail-qc-driver-10.10.1-cos5.build1010110120.18.x86_64.rpm --force

   rpm -Uvh psa-qmail-1.03-cos5.build1010110112.13.x86_64.rpm --force

   /etc/init.d/qmail restart

   /etc/init.d/xinetd restart

   /var/qmail/bin/qmail-qstat

   kill -ALRM `pgrep qmail-send`

   /var/qmail/bin/qmail-qstat

You can verify which MTA is in use on your VPS (in this case it's qmail)

~# /usr/local/psa/admin/sbin/mailmng --features | grep SMTP_Server
$features['SMTP_Server'] = "QMail";
$features['SMTP_Server_package'] = "psa-qmail";
~#

If option 2 or 3 was used as a means to empty the mail queue, a user can continue to use the derived patch and wait for parallels to release an official patch, or switch to postfix as noted above in step 1.  In preparation to switch to postfix, first, verify the queue is empty, stop SMTP from receiving requests, then issue the autoinstaller command to switch:

Verify the queue is empty:
~# /var/qmail/bin/qmail-qstat

Flush the queue if it is not empty:
~# kill -ALRM `pgrep qmail-send`

Monitor /usr/local/psa/var/log/maillog for issues with messages that won't send (if any), then attempt to flush the queue once more after attempted resolution.

Once the queue is empty, stop qmail and install postfix:
~# /usr/local/psa/admin/sbin/mailmng --stop-smtpd
/usr/local/psa/admin/sbin/autoinstaller --select-release-current --install-component postfix

Good bye "System resources temporarily unavailable"!

This article was:   Helpful | Not Helpful
Prev   Next
How to find stack information for state D processes     Check process list for container

Showing: 1-1 of 1  
Comments
Todd | 18 Aug, 2013 12:34 PM
Thank you, this saved me!
-Todd
Prev   Next
How to find stack information for state D processes     Check process list for container

RSS