18. List is held with "incomplete copy of message might be present in archive file" error
We are getting the following error when we try to send mail to the list:
An error occurred while logging mail to the archives of the MYLIST-L list.
An incomplete copy of the message might be present in the archive file. The
list is being held to prevent further occurrences of this error. Please
take corrective action and issue a "FREE MYLIST-L" command when you want the
message to be reprocessed.
We keep freeing the list but this error keeps re-occuring and nothing gets processed.
This situation usually means that the current message log file has been changed in some way that throws it out of sync with the list's digest. This causes a cycle where the accumulated digest cannot be issued and will continue to build up, the list continues to be held, you free it, it holds again, etc.
By "current message log file", we mean the listname.LOG* file that contains the current notebook archive period's messages. For instance, if you have Notebook= for the list set to generate monthly archives, and today is September 2, 2020, then the current message log file is named listname.LOG2009, where "listname" is the name of your list.
Any of the following actions can cause this "out of sync" problem to happen:
- Someone edits the physical current message log file on disk to remove one or more messages, or to edit the content of one or more stored messages
- Someone does a GET of the current message log file, edits it, and PUTs it back on the server
- Someone deletes one or more messages from the current message log file using the "Delete Message" icon in the web interface
The first case would have to be done by someone with access to the file system on the machine running LISTSERV -- probably a LISTSERV maintainer, or at any rate, someone in the IT department who has console-level access to the machine.
The second and third cases could be done by either a LISTSERV maintainer or a list owner.
The solution is to delete the current digest file (by setting "Digest= No" in the list header (the "list configuration" in the web interface), update the header/configuration, then re-set the "Digest=" setting to what it was set to before).
This means that digest subscribers will miss that particular issue of the digest, but it is the only way to re-sync the message log and the digest and solve the problem.
L-Soft strongly recommends that list owners do not edit the current message log file, since this situation can be the result. It's always best to wait until after a particular period's message log has been closed out before attempting any edits on it.