If you do not have X Windows installed on the Postfix machine,
or if you are not familiar with interactive debuggers, then you
can try to run gdb in non-interactive mode, and have it
print a stack trace when the process crashes.
Edit the
debugger_command definition in /etc/postfix/main.cf
so that it invokes the gdb debugger:
/etc/postfix/main.cf:
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont; echo
where; sleep 8640000) | gdb $
daemon_directory/$
process_name
$
process_id 2>&1
>$
config_directory/$
process_name.$
process_id.log & sleep 5
Append a -D option to the suspect daemon in
/etc/postfix/master.cf, for example:
/etc/postfix/master.cf:
smtp inet n - n - - smtpd -D
Type "postfix reload" to make the configuration changes
effective.
Whenever a suspect daemon process is started, an output file
is created, named after the daemon and process ID (for example,
smtpd.12345.log). When the process crashes, a stack trace (with
output from the "where" command) is written to its logfile.