Re: Trouble with --expunge option

Norman Ramsey <[email protected]> Tue, 07 Nov 2023 18:14:20 -0500
Newsgroups gmane.mail.fetchmail.user
Message-ID <[email protected]>
 > thanks for a thorough report. What you are writing looks strange, and I
 > looked through the relevant source files (imap.c, driver.c, transact.c),
 > around the expunge_period variable, and it is confusing. There do not
 > appear to be strange patches inside Debian's package tracker, and I
 > think I will need to debug a bit deeper. Normally, Dovecot is also
 > well-behaved as a server and rather efficient, but if the host system is
 > under I/O strain and using mbox-like mailbox storage, it may be
 > inefficient with expunges because it might rewrite the mbox without the
 > expunged single message again and again - but then again the mailbox has
 > some mere 30 kByte in 10 messages, so that should not be it...

I worked with my best sysadmin this morning, and he confirmed that on
our Dovecot configuration, EXPUNGE can be expected to be slow.

I did poke at the source code for `imap.c`, but I did not figure out
where the expunges might be coming from.  Worst case I suppose I could
try to find or build a debug binary and run it under gdb, see what the
stack trace looks like when `internal_expunge` is being called.
But I'm hoping there might be an easier path.

 > Can you send only the .fetchmailrc part on imap.eecs.tufts.edu *without
 > password* so it's more concise to see?

It looks like this:

```
poll imap.eecs.tufts.edu protocol imap:
  user "nr" there is "nr" here mda "/home/nr/lib/osbf-mda" fetchall expunge 500;
```


Norman