[Pkg-mailman-hackers] Bug#1014037: mailman3-web: Possible memory leak: uwsgi OOMs after a few weeks
Michael Tremer
michael.tremer at ipfire.org
Thu Jan 16 10:20:56 GMT 2025
Good morning everyone,
I ran the machine now with a total of 16 GiB - no other modifications have been made.
Since then, the Apache process consumed the entirety of memory (minus the other basic system services) and was killed by the OOM. Graph attached.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Sb6keYregMmZD6Gp.png
Type: image/png
Size: 125516 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-mailman-hackers/attachments/20250116/cfee0aa3/attachment-0001.png>
-------------- next part --------------
What is very interesting are those steps that we can see here. Sometimes memory consumption jumps up, then jumps down again. Like stairs and less of a constant growth where a little bit of memory would be leaked with every request that is being served.
Long story short, I could do this now with 32 GiB of memory or more, but I assume this all is moving endlessly. Apache is currently consuming just under 10 GiB, and mailman3 is using around 1 GiB. Both seem to be very large to me.
I would be interested to hear what you are making of this all.
Best,
-Michael
root at mail02:~# systemctl status apache2.service
? apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/apache2.service.d
??override.conf
Active: active (running) since Wed 2025-01-15 16:09:53 UTC; 18h ago
Until: Thu 2025-01-16 16:09:53 UTC; 5h 50min left
Docs: https://httpd.apache.org/docs/2.4/
Process: 936 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Process: 33761 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
Main PID: 980 (apache2)
Tasks: 232 (limit: 19208)
Memory: 9.8G
CPU: 55min 13.121s
CGroup: /system.slice/apache2.service
?? 980 /usr/sbin/apache2 -k start
?? 987 /usr/sbin/apache2 -k start
?? 988 /usr/sbin/apache2 -k start
??33772 /usr/sbin/apache2 -k start
??33773 "(wsgi:mailman3) " -k start
??33774 "(wsgi:mailman3) " -k start
??33775 "(wsgi:mailman3) " -k start
??33776 "(wsgi:mailman3) " -k start
??33890 /usr/sbin/apache2 -k start
??47004 /usr/sbin/apache2 -k start
??69686 /usr/sbin/apache2 -k start
Jan 15 16:09:53 mail02.haj.ipfire.org systemd[1]: Starting apache2.service - The Apache HTTP Server...
Jan 15 16:09:53 mail02.haj.ipfire.org systemd[1]: Started apache2.service - The Apache HTTP Server.
Jan 16 00:00:02 mail02.haj.ipfire.org systemd[1]: Reloading apache2.service - The Apache HTTP Server...
Jan 16 00:00:02 mail02.haj.ipfire.org systemd[1]: Reloaded apache2.service - The Apache HTTP Server.
Jan 16 08:33:44 mail02.haj.ipfire.org systemd[1]: apache2.service: A process of this unit has been killed by the OOM killer.
root at mail02:~# systemctl status mailman3.service
? mailman3.service - Mailman3 server
Loaded: loaded (/lib/systemd/system/mailman3.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/mailman3.service.d
??override.conf
Active: active (running) since Wed 2025-01-15 16:09:44 UTC; 18h ago
Docs: man:mailman(1)
https://mailman.readthedocs.io/
Process: 864 ExecStart=/usr/bin/mailman -C /etc/mailman3/mailman.cfg start --force (code=exited, status=0/SUCCESS)
Main PID: 866 (python3)
Tasks: 17 (limit: 19208)
Memory: 1.0G
CPU: 7min 12.058s
CGroup: /system.slice/mailman3.service
?? 866 /usr/bin/python3 /usr/lib/mailman3/bin/master --force -C /etc/mailman3/mailman.cfg
?? 872 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=archive:0:1
?? 874 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=bounces:0:1
?? 875 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=command:0:1
?? 876 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=in:0:1
?? 877 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=lmtp:0:1
?? 878 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=nntp:0:1
?? 879 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=out:0:1
?? 880 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=pipeline:0:1
?? 881 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=rest:0:1
?? 882 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=retry:0:1
?? 883 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=task:0:1
?? 884 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=virgin:0:1
?? 885 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=digest:0:1
??33996 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=rest:0:1
??33997 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=rest:0:1
Jan 15 16:09:41 mail02.haj.ipfire.org systemd[1]: Starting mailman3.service - Mailman3 server...
Jan 15 16:09:43 mail02.haj.ipfire.org mailman3[864]: Starting Mailman's master runner
Jan 15 16:09:43 mail02.haj.ipfire.org mailman3[864]: Generating MTA alias maps
Jan 15 16:09:43 mail02.haj.ipfire.org systemd[1]: mailman3.service: Can't open PID file /run/mailman3/master.pid (yet?) after start: No such file or directory
Jan 15 16:09:44 mail02.haj.ipfire.org systemd[1]: Started mailman3.service - Mailman3 server.
[59055.058495] python3 invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=0
[59055.058505] CPU: 2 PID: 1167 Comm: python3 Not tainted 6.1.0-30-cloud-amd64 #1 Debian 6.1.124-1
[59055.058508] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
[59055.058511] Call Trace:
[59055.058528] <TASK>
[59055.058539] dump_stack_lvl+0x44/0x5c
[59055.058548] dump_header+0x4a/0x211
[59055.058553] oom_kill_process.cold+0xb/0x10
[59055.058555] out_of_memory+0x1fd/0x4c0
[59055.058559] __alloc_pages_slowpath.constprop.0+0xc83/0xe40
[59055.058563] __alloc_pages+0x305/0x330
[59055.058565] folio_alloc+0x17/0x50
[59055.058569] __filemap_get_folio+0x155/0x340
[59055.058572] filemap_fault+0x139/0x910
[59055.058575] __do_fault+0x31/0x80
[59055.058578] do_fault+0x1b9/0x410
[59055.058581] __handle_mm_fault+0x660/0xfa0
[59055.058589] handle_mm_fault+0xdb/0x2d0
[59055.058592] do_user_addr_fault+0x191/0x550
[59055.058596] exc_page_fault+0x70/0x170
[59055.058599] asm_exc_page_fault+0x22/0x30
[59055.058603] RIP: 0033:0x531318
[59055.058615] Code: Unable to access opcode bytes at 0x5312ee.
[59055.058616] RSP: 002b:00007ffe9b2d3b20 EFLAGS: 00010202
[59055.058618] RAX: 0000000000000000 RBX: 00007f5b6cd98c48 RCX: 0000000000000005
[59055.058620] RDX: 00007f5b68a6d480 RSI: 0000000000000020 RDI: 00007f5b697d6230
[59055.058621] RBP: 00007f5b6cd98c48 R08: 000000000000000a R09: 00007f5b68a6d4a0
[59055.058622] R10: 0000000000000001 R11: 0000000000000005 R12: 0000000000a860d8
[59055.058623] R13: 00007f5b6cd98ca0 R14: 00007f5b688f0a80 R15: 00007f5b697d6230
[59055.058628] </TASK>
[59055.058629] Mem-Info:
[59055.058633] active_anon:286892 inactive_anon:3727494 isolated_anon:0
active_file:42 inactive_file:11 isolated_file:0
unevictable:0 dirty:0 writeback:0
slab_reclaimable:9567 slab_unreclaimable:10263
mapped:55664 shmem:162494 pagetables:11952
sec_pagetables:0 bounce:0
kernel_misc_reclaimable:0
free:37863 free_pcp:0 free_cma:0
[59055.058638] Node 0 active_anon:201884kB inactive_anon:7777940kB active_file:124kB inactive_file:44kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:94020kB dirty:0kB writeback:0kB shmem:380204kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 5961728kB writeback_tmp:0kB kernel_stack:3784kB pagetables:22472kB sec_pagetables:0kB all_unreclaimable? yes
[59055.058642] Node 1 active_anon:945684kB inactive_anon:7132036kB active_file:44kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:128636kB dirty:0kB writeback:0kB shmem:269772kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 5101568kB writeback_tmp:0kB kernel_stack:3304kB pagetables:25336kB sec_pagetables:0kB all_unreclaimable? yes
[59055.058645] Node 0 DMA free:13312kB boost:0kB min:84kB low:104kB high:124kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15992kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[59055.058649] lowmem_reserve[]: 0 2978 7969 7969 7969
[59055.058652] Node 0 DMA32 free:63340kB boost:0kB min:16764kB low:20952kB high:25140kB reserved_highatomic:26624KB active_anon:272kB inactive_anon:2995532kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:3129192kB managed:3063656kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[59055.058656] lowmem_reserve[]: 0 0 4991 4991 4991
[59055.058659] Node 0 Normal free:28064kB boost:0kB min:28096kB low:35120kB high:42144kB reserved_highatomic:0KB active_anon:201612kB inactive_anon:4782408kB active_file:176kB inactive_file:140kB unevictable:0kB writepending:0kB present:5242880kB managed:5111132kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[59055.058662] lowmem_reserve[]: 0 0 0 0 0
[59055.058665] Node 1 Normal free:46736kB boost:0kB min:45160kB low:56448kB high:67736kB reserved_highatomic:2048KB active_anon:945684kB inactive_anon:7132036kB active_file:44kB inactive_file:0kB unevictable:0kB writepending:0kB present:8388608kB managed:8223680kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[59055.058668] lowmem_reserve[]: 0 0 0 0 0
[59055.058671] Node 0 DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 1*1024kB (U) 2*2048kB (UM) 2*4096kB (M) = 13312kB
[59055.058680] Node 0 DMA32: 1073*4kB (ME) 781*8kB (ME) 466*16kB (UME) 209*32kB (UME) 108*64kB (UME) 48*128kB (ME) 22*256kB (UME) 5*512kB (UM) 3*1024kB (UM) 5*2048kB (UM) 1*4096kB (M) = 63340kB
[59055.058694] Node 0 Normal: 193*4kB (ME) 103*8kB (ME) 25*16kB (UME) 19*32kB (UME) 8*64kB (UME) 50*128kB (UM) 34*256kB (M) 12*512kB (UM) 5*1024kB (M) 0*2048kB 0*4096kB = 29484kB
[59055.058704] Node 1 Normal: 30*4kB (UME) 9*8kB (UME) 17*16kB (ME) 14*32kB (ME) 12*64kB (UME) 6*128kB (UME) 15*256kB (ME) 17*512kB (M) 13*1024kB (M) 9*2048kB (UM) 0*4096kB = 46736kB
[59055.058718] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
[59055.058719] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[59055.058720] Node 1 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
[59055.058721] Node 1 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[59055.058722] 226021 total pagecache pages
[59055.058723] 63434 pages in swap cache
[59055.058724] Free swap = 0kB
[59055.058724] Total swap = 1046524kB
[59055.058725] 4194168 pages RAM
[59055.058726] 0 pages HighMem/MovableOnly
[59055.058726] 90711 pages reserved
[59055.058727] Tasks state (memory values in pages):
[59055.058727] [ pid ] uid tgid total_vm rss pgtables_bytes swapents oom_score_adj name
[59055.058731] [ 262] 0 262 16482 324 110592 19 -250 systemd-journal
[59055.058733] [ 288] 0 288 6064 313 57344 9 -1000 systemd-udevd
[59055.058736] [ 504] 106 504 1970 113 61440 0 0 rpcbind
[59055.058738] [ 505] 101 505 22521 154 77824 80 0 systemd-timesyn
[59055.058740] [ 511] 0 511 43822 306 90112 5 0 rpc.gssd
[59055.058742] [ 525] 104 525 7433 181 73728 1 -900 dbus-daemon
[59055.058744] [ 532] 0 532 20059 73 61440 2 0 qemu-ga
[59055.058746] [ 533] 0 533 7571 528 102400 5 0 sssd
[59055.058747] [ 586] 0 586 9907 962 118784 924 0 sssd_be
[59055.058749] [ 593] 0 593 6567 282 81920 1 0 systemd-logind
[59055.058751] [ 669] 110 669 8400 881 98304 121 0 snmpd
[59055.058753] [ 677] 114 677 16470 1792 114688 15 0 redis-server
[59055.058755] [ 680] 0 680 27035 2829 114688 35 0 unattended-upgr
[59055.058757] [ 681] 0 681 15919 394 184320 142 0 sssd_nss
[59055.058759] [ 686] 0 686 3859 323 69632 0 -1000 sshd
[59055.058761] [ 834] 0 834 10665 42 65536 115 0 master
[59055.058762] [ 836] 109 836 13645 186 77824 6 0 qmgr
[59055.058764] [ 841] 113 841 557402 19900 339968 413 -900 postgres
[59055.058766] [ 847] 113 847 557503 5339 282624 409 0 postgres
[59055.058768] [ 848] 113 848 557469 4785 200704 463 0 postgres
[59055.058770] [ 850] 113 850 557402 4420 167936 408 0 postgres
[59055.058771] [ 851] 113 851 557998 587 184320 412 0 postgres
[59055.058773] [ 852] 113 852 557968 401 159744 508 0 postgres
[59055.058775] [ 866] 38 866 26307 19204 249856 0 0 python3
[59055.058776] [ 871] 113 871 558152 2433 221184 412 0 postgres
[59055.058778] [ 872] 38 872 27033 18519 253952 1408 0 python3
[59055.058780] [ 873] 0 873 644 23 45056 0 0 mailman-web
[59055.058782] [ 874] 38 874 26735 15104 249856 4537 0 python3
[59055.058784] [ 875] 38 875 26310 17705 249856 1435 0 python3
[59055.058785] [ 876] 38 876 27179 19517 249856 316 0 python3
[59055.058787] [ 877] 38 877 45001 17704 262144 2394 0 python3
[59055.058789] [ 878] 38 878 26310 12147 245760 7004 0 python3
[59055.058790] [ 879] 38 879 27077 11803 253952 8310 0 python3
[59055.058792] [ 880] 38 880 27525 20083 253952 359 0 python3
[59055.058794] [ 881] 38 881 28364 17933 262144 2455 0 python3
[59055.058795] [ 882] 38 882 26309 17684 245760 1532 0 python3
[59055.058797] [ 883] 38 883 26731 16859 253952 2708 0 python3
[59055.058799] [ 884] 38 884 27133 14526 253952 5639 0 python3
[59055.058800] [ 885] 38 885 27257 14178 253952 5901 0 python3
[59055.058802] [ 886] 0 886 5121 65 69632 55 0 su
[59055.058804] [ 890] 113 890 558372 3644 229376 634 0 postgres
[59055.058806] [ 891] 113 891 558281 3107 229376 637 0 postgres
[59055.058808] [ 892] 113 892 558152 2490 221184 370 0 postgres
[59055.058809] [ 893] 113 893 558152 2319 221184 542 0 postgres
[59055.058811] [ 894] 113 894 558518 4745 278528 368 0 postgres
[59055.058813] [ 895] 113 895 558319 2547 229376 832 0 postgres
[59055.058827] [ 897] 113 897 558152 2516 221184 362 0 postgres
[59055.058829] [ 898] 113 898 558419 3845 262144 912 0 postgres
[59055.058830] [ 900] 113 900 558338 3732 262144 873 0 postgres
[59055.058832] [ 902] 113 902 558419 4583 266240 361 0 postgres
[59055.058834] [ 903] 113 903 558490 3672 266240 953 0 postgres
[59055.058836] [ 906] 113 906 558419 4015 258048 959 0 postgres
[59055.058838] [ 937] 0 937 1636 52 53248 17 0 cron
[59055.058839] [ 946] 0 946 723 22 45056 0 0 agetty
[59055.058841] [ 947] 33 947 4755 424 86016 0 100 systemd
[59055.058843] [ 954] 33 954 45165 764 102400 109 100 (sd-pam)
[59055.058845] [ 980] 0 980 5964 911 90112 141 0 apache2
[59055.058847] [ 987] 33 987 699148 460638 4227072 9260 0 apache2
[59055.058849] [ 988] 33 988 1244794 777994 8220672 186338 0 apache2
[59055.058850] [ 1040] 33 1040 644 0 45056 24 0 sh
[59055.058852] [ 1041] 33 1041 26559 8787 253952 10457 0 python3
[59055.058854] [ 1165] 0 1165 2360 87 53248 0 0 xinetd
[59055.058856] [ 1167] 33 1167 26624 11424 253952 7969 0 python3
[59055.058858] [ 1168] 33 1168 45063 11674 258048 7689 0 python3
[59055.058859] [ 1169] 33 1169 45064 11942 258048 7467 0 python3
[59055.058861] [ 1170] 33 1170 45012 11875 258048 7491 0 python3
[59055.058863] [ 1171] 33 1171 45097 11943 258048 7511 0 python3
[59055.058864] [ 1172] 33 1172 26576 11385 253952 7897 0 python3
[59055.058866] [ 1173] 33 1173 45013 9453 258048 9806 0 python3
[59055.058868] [ 1379] 109 1379 15072 397 86016 4 0 tlsmgr
[59055.058870] [ 1380] 109 1380 13601 169 77824 1 0 anvil
[59055.058872] [ 1384] 0 1384 7354 313 102400 124 0 sssd_sudo
[59055.058873] [ 1414] 0 1414 9627 348 81920 82 0 sshd
[59055.058875] [ 1419] 1000 1419 4755 439 77824 8 100 systemd
[59055.058878] [ 1420] 1000 1420 47447 818 98304 71 100 (sd-pam)
[59055.058879] [ 1441] 1000 1441 9627 438 77824 53 0 sshd
[59055.058881] [ 1442] 1000 1442 4685 304 69632 141 0 bash
[59055.058883] [ 1449] 1000 1449 9349 106 86016 29 0 sudo
[59055.058884] [ 1453] 0 1453 2048 391 57344 30 0 bash
[59055.058886] [ 20440] 113 20440 558308 3416 249856 363 0 postgres
[59055.058888] [ 20445] 113 20445 558533 4784 274432 713 0 postgres
[59055.058890] [ 20446] 113 20446 558344 3891 241664 444 0 postgres
[59055.058892] [ 20447] 113 20447 558325 3096 262144 771 0 postgres
[59055.058894] [ 20453] 113 20453 558288 3060 253952 735 0 postgres
[59055.058896] [ 33772] 33 33772 8756 776 94208 168 0 apache2
[59055.058898] [ 33773] 33 33773 60959 2052 180224 123 0 apache2
[59055.058899] [ 33774] 33 33774 60959 2049 180224 123 0 apache2
[59055.058901] [ 33775] 33 33775 60959 2048 180224 123 0 apache2
[59055.058903] [ 33776] 33 33776 60961 2052 180224 123 0 apache2
[59055.058905] [ 33889] 33 33889 1660511 1210850 10518528 79 0 apache2
[59055.058907] [ 33890] 33 33890 677065 342245 3284992 79 0 apache2
[59055.058909] [ 33996] 38 33996 32973 21185 282624 697 0 python3
[59055.058911] [ 33997] 38 33997 32646 21590 278528 259 0 python3
[59055.058912] [ 34005] 113 34005 558505 5241 299008 648 0 postgres
[59055.058914] [ 34006] 113 34006 558521 5264 294912 626 0 postgres
[59055.058916] [ 47004] 33 47004 1108551 663590 5869568 79 0 apache2
[59055.058918] [ 64158] 109 64158 13601 168 81920 0 0 pickup
[59055.058920] [ 69666] 109 69666 15479 689 98304 0 0 smtpd
[59055.058922] [ 69672] 113 69672 558287 2854 233472 362 0 postgres
[59055.058923] [ 69680] 113 69680 558629 37482 753664 361 0 postgres
[59055.058925] [ 69682] 113 69682 557437 257 114688 373 0 postgres
[59055.058927] [ 69683] 113 69683 557402 207 114688 408 0 postgres
[59055.058928] [ 69684] 0 69684 3859 323 61440 0 -1000 sshd
[59055.058930] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0-1,global_oom,task_memcg=/system.slice/apache2.service,task=apache2,pid=33889,uid=33
[59055.059034] Out of memory: Killed process 33889 (apache2) total-vm:6642044kB, anon-rss:4843124kB, file-rss:0kB, shmem-rss:480kB, UID:33 pgtables:10272kB oom_score_adj:0
> On 15 Jan 2025, at 16:23, Antoine Beaupr? <anarcat at debian.org> wrote:
>
> On 2025-01-15 16:13:44, Michael Tremer wrote:
>
> [...]
>
>> Apache is absolutely the biggest user of the memory and I considered that amount illegitimate.
>
> For the record, I absolutely agree.
>
>>> But yeah, your numbers might show there's actually an underlying issue
>>> with mailman-web itself. Our tests with gunicorn will more conclusively
>>> show whether or not it's the case: if the issue goes away in gunicorn,
>>> then this could be an issue in *both* uwsgi and apache2-wsgi...
>>
>> Yes, I think we could also change to Gunicorn, but my curiosity would not be happy if we didn?t get to the bottom of this.
>
> Honestly, I'm scratching an itch here. If I can get away with getting
> rid of the OOM by switching to gunicorn, I'll be happy, especially since
> we use gunicorn elsewhere...
>
> a.
>
> --
> Evil exists to glorify the good. Evil is negative good.
> It is a relative term. Evil can be transmuted into good.
> What is evil to one at one time,
> becomes good at another time to somebody else.
> - Sivananda
More information about the Pkg-mailman-hackers
mailing list