sympa-community/sympa

Time to time Bulk.pl process die

Closed this issue · 4 comments

Sympa 6.2.72 in CentOS 7.9

Installation method

RPM Release 3.el7 of Fedora Project yum REPO.

Expected behavior

Bulk.pl process don't should die

Actual behavior

From time to time the bulk.pl process dies

Steps to reproduce

Additional information

  • Virtual Server

Command: free
total used free shared buff/cache available
Mem: 3880296 2865468 113976 204160 900852 521536
Swap: 2097148 19068 2078080

2 Cores: Intel(R) Xeon(R) Silver 4214R CPU @ 2.40GHz

Conf Sympa:
Command: cat sympa.conf | grep -v '^#' |grep -v '^$'
domain xx
listmaster xx
lang es
title Servicio de listas de correo
db_user xx
db_passwd xx
log_level 1
max_size 52000000
aliases_program postalias
maxsmtp 100
nrcpt 100
process_archive on
parsed_family_files message_header,message_header.mime,message_footer,message_footer.mime,info
cookie xx
wwsympa_url xx
mhonarc /usr/bin/mhonarc
cafile /etc/pki/tls/certs/ca-bundle.crt
default_ttl 43200
allowed_external_origin *
shared_feature on
soap_url xx
(bulk_max_count or related by default)

Data Sympa
About 277 lists
The list that possibly generates the error has 11,000 subscribers

MySQL
Local MySQL in the same server. DDBB in InnoDB and utf8_general_ci (Don't tuned)

Errors LOGs
/var/log/sympa.log
Mar 21 11:54:39 alboran bulk[28043]: err main::#160 > Sympa::Spindle::spin#83 > Sympa::Spindle::ProcessOutgoing::_twist#359 > Sympa::Mailer::store#160 > Sympa::Mailer::_safefork#255 DIED: Exiting because cannot create new process for <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0003/shelved:arc_cv=none;tracking=verp>: No se pudo asignar memoria at /usr/share/sympa/lib/Sympa/Mailer.pm line 255.
Mar 21 11:54:41 alboran bulk[29503]: err main::#160 > Sympa::Spindle::spin#83 > Sympa::Spindle::ProcessOutgoing::_twist#359 > Sympa::Mailer::store#160 > Sympa::Mailer::_safefork#255 DIED: Exiting because cannot create new process for <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0001/shelved:arc_cv=none;tracking=verp>: No se pudo asignar memoria at /usr/share/sympa/lib/Sympa/Mailer.pm line 255.
Mar 21 11:54:41 alboran bulk[29501]: err main::#160 > Sympa::Spindle::spin#83 > Sympa::Spindle::ProcessOutgoing::_twist#359 > Sympa::Mailer::store#160 > Sympa::Mailer::_safefork#255 DIED: Exiting because cannot create new process for <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0002/shelved:arc_cv=none;tracking=verp>: No se pudo asignar memoria at /usr/share/sympa/lib/Sympa/Mailer.pm line 255.
Mar 21 11:54:41 alboran bulk[29500]: err main::#160 > Sympa::Spindle::spin#83 > Sympa::Spindle::ProcessOutgoing::_twist#359 > Sympa::Mailer::store#160 > Sympa::Mailer::_safefork#255 DIED: Exiting because cannot create new process for <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0/shelved:arc_cv=none;tracking=verp>: No se pudo asignar memoria at /usr/share/sympa/lib/Sympa/Mailer.pm line 255.

/var/log/messages
Mar 21 11:54:41 alboran systemd: sympa-outgoing.service: main process exited, code=exited, status=255/n/a
Mar 21 11:54:42 alboran systemd: Unit sympa-outgoing.service entered failed state.
Mar 21 11:54:42 alboran systemd: sympa-outgoing.service failed.
(Nothing about of memory size in this file)

The rest of the server seems to continue working fine
If I restart sympa service, all work ok again.

I have seen this about that time of error:
Command: find /var/spool/sympa -type f -ls | grep ' mar 21 11:5'
69600016 4 -rw-r----- 1 sympa sympa 1136 mar 21 11:54 /var/spool/sympa/tmp/29500.stderr
69600022 4 -rw-r----- 1 sympa sympa 1141 mar 21 11:54 /var/spool/sympa/tmp/29501.stderr
69599974 4 -rw-r----- 1 sympa sympa 1147 mar 21 11:54 /var/spool/sympa/tmp/29503.stderr
2946474 104 -rw------- 1 sympa sympa 102445 mar 21 11:54 /var/spool/sympa/bounce/bad/foo@bar.ual.es.1711018495.30134

Command: cat /var/spool/sympa/tmp/2950*.stderr
DIED: Exiting because cannot create new process for <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0/shelved:arc_cv=none;tracking=verp>: No se pudo asignar memoria at /usr/share/sympa/lib/Sympa/Mailer.pm line 255.
at /usr/share/sympa/lib/Sympa/Mailer.pm line 255.
Sympa::Mailer::_safefork('5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,2...') called at /usr/share/sympa/lib/Sympa/Mailer.pm line 160
Sympa::Mailer::store(Sympa::Mailer=HASH(0x4d27898), Sympa::Message <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0/shelved:arc_cv=none;tracking=verp>, 'zhangxiaoxxxxxx@foxmail.com', 'envid', undef, 'tag', 0) called at /usr/share/sympa/lib/Sympa/Spindle/ProcessOutgoing.pm line 359
Sympa::Spindle::ProcessOutgoing::_twist(Sympa::Spindle::ProcessOutgoing=HASH(0x1f23b30), Sympa::Message <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0/shelved:arc_cv=none;decorate;tracking=verp>) called at /usr/share/sympa/lib/Sympa/Spindle.pm line 83
Sympa::Spindle::spin(Sympa::Spindle::ProcessOutgoing=HASH(0x1f23b30)) called at /usr/sbin/bulk.pl line 160

DIED: Exiting because cannot create new process for <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0002/shelved:arc_cv=none;tracking=verp>: No se pudo asignar memoria at /usr/share/sympa/lib/Sympa/Mailer.pm line 255.
at /usr/share/sympa/lib/Sympa/Mailer.pm line 255.
Sympa::Mailer::_safefork('5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,2...') called at /usr/share/sympa/lib/Sympa/Mailer.pm line 160
Sympa::Mailer::store(Sympa::Mailer=HASH(0x4d27898), Sympa::Message <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0002/shelved:arc_cv=none;tracking=verp>, 'franvxxx@hotmail.com', 'envid', undef, 'tag', 0002) called at /usr/share/sympa/lib/Sympa/Spindle/ProcessOutgoing.pm line 359
Sympa::Spindle::ProcessOutgoing::_twist(Sympa::Spindle::ProcessOutgoing=HASH(0x1f23b30), Sympa::Message <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0002/shelved:arc_cv=none;decorate;tracking=verp>) called at /usr/share/sympa/lib/Sympa/Spindle.pm line 83
Sympa::Spindle::spin(Sympa::Spindle::ProcessOutgoing=HASH(0x1f23b30)) called at /usr/sbin/bulk.pl line 160

DIED: Exiting because cannot create new process for <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0001/shelved:arc_cv=none;tracking=verp>: No se pudo asignar memoria at /usr/share/sympa/lib/Sympa/Mailer.pm line 255.
at /usr/share/sympa/lib/Sympa/Mailer.pm line 255.
Sympa::Mailer::_safefork('5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,2...') called at /usr/share/sympa/lib/Sympa/Mailer.pm line 160
Sympa::Mailer::store(Sympa::Mailer=HASH(0x4d27898), Sympa::Message <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0001/shelved:arc_cv=none;tracking=verp>, 'maribelmejxxxxx@gmail.com', 'envid', undef, 'tag', 0001) called at /usr/share/sympa/lib/Sympa/Spindle/ProcessOutgoing.pm line 359
Sympa::Spindle::ProcessOutgoing::_twist(Sympa::Spindle::ProcessOutgoing=HASH(0x1f23b30), Sympa::Message <5.5.1711018225.1711018229.564261.foo@bar.ual.es_0,28035,1322/0001/shelved:arc_cv=none;decorate;tracking=verp>) called at /usr/share/sympa/lib/Sympa/Spindle.pm line 83
Sympa::Spindle::spin(Sympa::Spindle::ProcessOutgoing=HASH(0x1f23b30)) called at /usr/sbin/bulk.pl line 160

ikedas commented

It looks that the memory is Insufficient due to excessive values of some parameters.

It is the numbers of worker processes that affects memory consumption the most. You’d be better to begin with these parameters using the default or more smaller values:

  • maxsmtp
  • bulk_max_count
  • incoming_max_count

I've set the default values for this parameters.
I will keep track of the system.

Thanks you.

ikedas commented

@acasadoual , if the problem has not recurred, please close this issue.