De : Michael Tremer <michael.tre...@ipfire.org>
À : Antoine Beaupré <anar...@debian.org>
Cc : 1014...@bugs.debian.org; Pierre-Elliott Bécue <p...@debian.org>; Peter 
Chubb <peter.ch...@unsw.edu.au>
Date : 6 mars 2025 11:21:38
Objet : Re: Bug#1014037: mailman3-web: Possible memory leak: uwsgi OOMs after a 
few weeks

> Hello,
> 
>> On 5 Mar 2025, at 21:32, Antoine Beaupré <anar...@debian.org> wrote:
>> 
>> On 2025-02-24 11:51:16, Antoine Beaupré wrote:
>>> On 2025-02-24 15:56:57, Michael Tremer wrote:
>>> 
>>> [...]
>>> 
>>>> So, has this solved it all for good for you guys? What release of xapian 
>>>> are you on?
>>> 
>>> In the end, no, not really. Things have *improved*: we used to have 4-5
>>> OOM/day, with peaks at 15, 120 when reindexing, and this is down to 1-5
>>> a day, depending on the day. Kind of hard to track discrete events like
>>> this...
>>> 
>>> We had a single OOM in the last 48h. That's "nice".
>> 
>> I have, at this point, closed the issue on our end:
>> 
>> https://gitlab.torproject.org/tpo/tpa/team/-/issues/41957
>> 
>> We've gone from 20-40 OOMs/week (multiple daily) to ~3 per week, so
>> Xapian has definitely improved the situation.
>> 
>> I don't think this bug report should be closed though: we still have a
>> memory leak issue. I don't think it's reasonable for mailman to take
>> 16GB of RAM for such small setups. Xapian is also using an unreasonable
>> amount of disk space.
> 
> I have been looking at alternatives to mailman3 recently. I think that there 
> is a very good chance we would migrate to mlmmj. There are currently too many 
> large outstanding problems with mailman and it seems that there is not enough 
> of a community around it to get them fixed in time. Although the large memory 
> consumption is mostly annoying and not a deal-breaker, mailman keeps stopping 
> to accept emails sometimes and needs a restart.
> 
> However, mlmmj (also packaged in Debian) is super small and super simple. The 
> feature set is exactly what we need, although it would have been nice to have 
> an API to subscribe/unsubscribe users. Since it is all a collection of small 
> binaries, that can be built very easily with a couple of CGI scripts or so.
> 
> But it does not have any archiving features beyond storing all emails in a 
> directory. So there is public-inbox which has a simple web UI, stores emails 
> in a Git repositories which can be cloned and backed up very easily, *and* it 
> is using Xapian indexes. So I thought I would give this a go and import our 
> lists into it - just so that I have a way to compare.
> 
> On mailman, my Xapian index is about 4.9 GiB, on public-inbox I have 1.4 GiB. 
> A significant change. This is still kind of large, but roughly only a 
> quarter. The search also seems to be much faster. So I assume there is some 
> configuration here that makes the index a lot smaller and the smaller the 
> index the faster the search usually.
> 
> The mlmmj + public-inbox solution seems to have gained a lot of traction 
> recently. The Linux kernel people are using it (https://lore.kernel.org/), 
> Gentoo is using it (https://public-inbox.gentoo.org/), Promox, the list is 
> actually quote long. So I think we might have a better chance to get 
> something back that worked as well as mailman 2 without all this large 
> complexity.
> 
>> But for all intents and purposes, this is as much effort I can dedicate
>> to this. Hopefully, when we upgrade to trixie, we can run a profiler on
>> this.
> 
> I agree. This is not the most painful problem in the world, but our mailing 
> list needs to *just work* and I cannot spend a lot of time on keeping it 
> working.
> 
> I would still be curious to find out what the actual problem was here 
> though...
> 
>> Feel free to remind me of that in a year.
>> 
>> Otherwise happy to provide more info as needed of course.
>> 
>> Cheers!
>> 
>> -- 
>> Ce que les siècles des grands abatoirs nous aura appris
>> Devrait être inscrit au fond de toutes les écoles;
>> Voici l'homme: le destructeur des mondes est arrivé.
>>                        - [no one is innocent]

Hello,

For the sake of clarity I am waiting for transitional freeze to update all 
mailman3 packages as any py3 transition so far broke a lot of things.

In parallel I started to dive a bit in this Xapian matter. Using mu, I agree 
that the current size for the index is weird. I have yet to finish 
understanding the codebase but I'll definitely try to see through it ASAP

Bests,

-- 
Pierre-Elliott Bécue

Reply via email to