[Users] [Bug 2991] New: POP3 problems: POP3 sessions duplicated, and filtering issues

noreply at thewildbeast.co.uk noreply at thewildbeast.co.uk
Mon Aug 12 10:55:50 CEST 2013


            Bug ID: 2991
           Summary: POP3 problems: POP3 sessions duplicated, and filtering
    Classification: Unclassified
           Product: Claws Mail
           Version: 3.9.2
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: POP3
          Assignee: users at lists.claws-mail.org
          Reporter: rol at as2917.net

Created attachment 1294
Patch to add a per-account lock to prevent two simultaneous POP3 sessions on
the same account

First, I have to say that they occur only while I'm in holidays: at that
time, my Internet access is an ultra slow GPRS access....

I'm using POP3, and I have several accounts configured. Each of them as a
default folder to drop emails. I also have filtering rules, some applying
to all the accounts, some only for specific accounts. Last, my "Default"
folder also has a processing rule to archive emails older than 32 days.

Problem #1:
  a) Claws is offline
  b) I connect to Internet using my GPRS modem. Due to the way I'm
     NetworkManager is not informed, and Claws is still offline.
  c) Turn Claws online,
  d) Receive messages for one account.
If the "Receive" operation I start manually last longer than this account
retrieve interval, and that this account is configured for automatic
retrieval, I end up with _two_ retrieve operations at the same time. I can
see by the "progress counters" at the bottom right of the Claws window
alternating their counts of messages, for example:
10/46 then 30/46 then 10/46 again, and so on.
When that happens, I kill Claws to avoid more mess...

Problem #2:
  a) Claws is online
  b) I start a "Receive all", still using my slow GPRS access. This first
     collect the emails from my professional account, and then it goes to a
     secondary account, which is subscribed to several mailing lists.
  c) While the retrieval on the secondary mailing list occurs, I reply to
     an email associated with the main account, and Send this email.
This "Send" action results in all the emails received so far for the
secondary account (POP still in progress) to be placed in the folder
associated with the main account (the one used for the Send). It may be
important to note that this account (used to Send) is also configured with
"Authenticate with POP before sending". Maybe the POP sessions are mixing
each other ?

After investigations, it seems that problem #1 can be easily reproduced:
 - claws mail is offline,
 - I turned it online,
 - I used the "Received mail from all accounts" and selected one account,
   to start a retrieve session on that account.
 - While it was running, I hit "F5" which is bound to
   Message > Receive > Get from all accounts

Nothing seems to be preventing two POP3 sessions for the same account to occur.
Adding a locking mechanism seems to be required.

Also, as nothing is also preventing simultaneous POP3 sessions on _different_
accounts, and because:
static gint inc_drop_message(Pop3Session *session, const gchar *file)
        /* CLAWS: claws uses a global .processing folder for the filtering. */
        dropfolder = folder_get_default_processing();

then everytime it happens that two (or more) POP3 sessions happens at the same
time, messages filtering is causing bad results.
This could easily be solved using a per-account processing folder.

Attach to this post is a first patch that adds a flag in the PrefsAccounts.
This flag is used to "lock" the POP3 session, thus avoiding it to be
duplicated, while still allowing several POP3 on various accounts to be

You are receiving this mail because:
You are the assignee for the bug.

More information about the Users mailing list