Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email firstname.lastname@example.org
From: Wietse Venema (wietseporcupine.org)
Date: Mon Oct 11 2010 - 13:40:03 CDT
Small correction in-line.
> Wietse Venema:
> > > How do I fix the system's ZERO-DELAY timer?
> > I can write a small test program. If it reproduces the problem,
> > then there are two things that need to be done.
> > 1) The program needs to be sent to VMware as part of a bug report.
> > 2) We can try to program around this bug until the vendor fixes
> > it. Perhaps some system configuration will suffice. For example,
> > many virtualization systems emulate a number of "hardware" timers
> > such as ACPI, TSC etc. and some emulations may be less buggy.
> > But first, you need to get some recent Postfix source code on the
> > machine so that we can do some quick tests. There is no need to
> > overwrite the installed Postfix.
> Attached is a small test program, to be run in the virtual machine.
> Please save as postfix-x.x-yyyymmdd/src/util/zero_delay.c where
> postfix-x.x-yyyymmdd is the top-level directory from a recent
> Postfix release (2.4 or later).
> cd postfix-x.x-yyyymmdd
> (get some coffee)
> cd src/util
> make zero_delay | sed 's/$/ libutil/a' | sh
Grr. That should be:
make -n zero_delay | sed 's/$/ libutil.a/' | sh
I pasted the wrong command line.
> The result is a test program zero_delay, to be run as:
> It should run for 10-20 seconds or so then terminate with
> normal completion after 1000000 iterations
> If instead it terminates with
> timer event lost after N iterations
> then you have found the timer bug that causes Postfix to deliver
> only one message probe per 300 seconds, and we can start looking
> for workarounds (such as changing the src/util/events.c module and
> replacing zero delay requests by 1 millisecond delay requests).
[ Attachment, skipping... ]