#670872 offlineimap: There appears to be a memory leak somewhere

#670872#5
Date:
2012-04-29 20:28:23 UTC
From:
To:
Hi!

It appears that the longer offlineimap runs and the more folders it
syncs, the more memory it consumes. Before finishing up syncing my
mail (around 70 folders) the process ended up using around 513m VIRT
and 335m RES, which is pretty huge.

Please let me know how I might help tracking it down, if you need
that, as I'm not really familiar with python.

thanks,
guillem

#670872#10
Date:
2012-05-02 18:18:48 UTC
From:
To:
severity 670872 grave
kthxbye
It grows up to 1G here and doesn't finish the sync before it gets
OOM-killed.  This didn't happen before upgrading from 6.3.4-1.

Cheers,
Julien

#670872#19
Date:
2014-08-09 18:54:13 UTC
From:
To:
tags 670872 + moreinfo
thanks

Can someone verify whether or not this still occurs in 6.5.5-0.1?

I cannot replicate it, but I do not have so many folders.

#670872#24
Date:
2014-08-09 19:28:14 UTC
From:
To:
Hi!

Yes, pretty much. Although I've since switched to isync, which while
evaluating, outperformed offlineimap in speed and memory usage. It
halved my sync times to less than 2 minutes, and uses around 8.5 MiB
as baseline per folder, and for me it peaks at 25 MiB for one of my
largest one with 70k mails, after which it goes back to its baseline,
which seems to be what I'd expect from an IMAP syncing program. :)

Thanks,
Guillem

#670872#29
Date:
2015-12-28 22:04:41 UTC
From:
To:
Hi!

OfflineIMAP used to retain the messagelist caches even after having
processed a folder. This means that memory consumption used to grow
linearly with the number of processed folders. This has been fixed in
version v6.5.7 by the following commit:

    commit 29e9b7ab39c0f1589814d451204a105067f490ea
    Author: Giovanni Mascellani <mascellani@poisson.phc.unipi.it>
    Date:   Sun Jan 5 16:07:03 2014 +0100

        Drop caches after having processed folders.

Since the situation appears to have been improved, I am going to
downgrade this bug's severity to 'important' in order to allow the new
version to migrate to testing. Feel free to change it back if you think
this is wrong.

Cheers,
Ilias