Small correction in-line. Wietse
Wietse Venema: > 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). > > Then, > > cd postfix-x.x-yyyymmdd > make > (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: > > ./zero_delay > > 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). > > Wietse [ Attachment, skipping... ]