|MithiWiki Home > ConnectXf Home > ConnectXf Administration > Configuration > Non standard behavior exhibited by Postfix|
Sometimes the behavior exhibited by Postfix just does not match the source code. Why can a program deviate from the instructions given by its author? There are two possibilities.
The compiler has erred. This rarely happens.
The hardware has erred. Does the machine have ECC memory?
In both cases, the program being executed is not the program that was supposed to be executed, so anything could happen.
There is a third possibility:
Bugs in system software (kernel or libraries).
Hardware-related failures usually do not reproduce in exactly the same way after power cycling and rebooting the system. There's little Postfix can do about bad hardware. Be sure to use hardware that at the very least can detect memory errors. Otherwise, Postfix will just be waiting to be hit by a bit error. Critical systems deserve real hardware.
When a compiler makes an error, the problem can be reproduced whenever the resulting program is run. Compiler errors are most likely to happen in the code optimizer. If a problem is reproducible across power cycles and system reboots, it can be worthwhile to rebuild Postfix with optimization disabled, and to see if optimization makes a difference.
In order to compile Postfix with optimizations turned off:
% make tidy % make makefiles OPT=
This produces a set of Makefiles that do not request compiler optimization.
Once the makefiles are set up, build the software:
% make % su Password:# make install
If the problem goes away, then it is time to ask your vendor for help.