Chapter 23. Troubleshooting

1. I want to know fml version.
2. Check Postfix version.
3. Check Sendmail version.
4. List up pre-defined addresses on the system.
5. List up defined aliases

1. I want to know fml version.

run "fmlconf" to show all variables. You can find $fml_version in it.

% fmlconf test |grep fml_version
fml_version                          = fml-devel current-20021029

2. Check Postfix version.

% postconf mail_version

3. Check Sendmail version.

% echo '$v' | sendmail -bt

4. List up pre-defined addresses on the system.

"fmladdr" command lists up users defined at both /etc/passwd and aliases.

% fmladdr

Warning

The difference between fmladdr and fmlalias is whether it contains users defined at /etc/passwd or not. fmladdr contains it but fmlalias not. fmlalias lists up only users defined at aliases.

5. List up defined aliases

Run "fmlalias". It shows all addresses defined in aliases files.

% fmlalias

Warning

The difference between fmladdr and fmlalias is whether it contains users defined at /etc/passwd or not. fmladdr contains it but fmlalias not. fmlalias lists up only users defined at aliases.

When the file system error occurs ?

Fundamentally, fml8 exit abnormally to make MTA re-deliver it or fml8 re-delivers it by itself. fml8 do not lost received messages whereas log or summary file lacks something.

Describe below what happans when the file system error occurs in the delivery process.

When passed from MTA to fml8

fml8 read a message and writes it into the disk once. If succeeded, it processes more. If failed, fml8 exits abnormally as exit(EX_TEMPFAIL) for MTA to re-deliver it. See the Section called incoming queuing in Chapter 29 for more details.

In this case, incoming queue may have a incomplete message. fml8 tries to remove it in abnormal exit. Even if failed, the queue management system removes it later.

If the article sequence number update failed

In normal case, fml8 updates the article sequence number and re-reads it and compare it again. If the check fails, fml8 exit(EX_TEMPFAIL) for MTA to re-deliver it.

Caution

The article sequence number updated. After that, fml8 should not do exit(EX_TEMPFAIL).

When saving the article failed

Caution

In this stage, the article sequence has been updated.

In this case, fml8 do not create a new article file but the original message is already on the disk. The header of the article differs from the original one but the body content is same. So fml8 tries to link(2) the original mail in the incoming queue to the article file to save the content. [1]

fml8 tries to deliver the message on the memory.

If the delivery process exits abnormally, the delivery process ends incompletely since fml8 can not use outgoing queue.

Delivery Process

fml8 saves the message into the outgoing queue, after succeeded, the delivery process runs.

When fml8 fails to write the outgoing queue, fml8 exits incompletely.

See the Section called fml sends back a mail message in Chapter 29 for more details.

Notes

[1]

If it could be, it is useful to implement another command which fixes the article header later. It is not implemented.

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.