1

Topic: Can't seem to spawn child thread

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.9
- Deployed with iRedMail Easy or the downloadable installer? downloadable installer
- Linux/BSD distribution name and version: Centos 7.6.1810
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): LDAP
- Web server (Apache or Nginx): Nginx
- Manage mail accounts with iRedAdmin-Pro? Yes, v4.0
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====

I'm encountering a problem with SOGO and our ActiveSync users.   Everything worked great for awhile, but now no one can configure e-mail on their devices.    People with already configured devices can still access the server, but they're complaining of slow speeds.   The message iOS displays when attempting to configure an account is "Unable to verify account information".   Checking the log shows no related information.

In my logs I'm seeing fairly frequent messages as follows:
sogod [32707]: [ERROR] <0x0x55720946ebf0[WOWatchDog]> No child available to handle incoming request!

We have a large number of users.   I'm running a separate instance for EAS/Activesync traffic.   We currently have about 1,000 EAS users.

I have WOWorkersCount set to 500, but apparently that isn't enough.   Unfortunately, I'm having difficulty setting it higher.   When I set this higher it seems like 508 processes start and then I begin getting the following error in the logs:

sogod [1716]: [ERROR] <0x0x5595d0273e50[WOHttpAdaptor]> failure notifying watchdog we are ready during events registration: <NGSocketShutdownDuringWriteException: 0x5595d0273770> NAME:NGSocketShutdownDuringWriteException REASON:the socket was shutdown INFO:{errno = 32; error = "Broken pipe"; stream = "{object = 0x5595d03818f0;}"; }

I believe Centos may be limiting the number of processes the sogoeas user can start.   I'm running sogo as the sogo user.   The EAS instance runs as the user sogoeas.

I've added the following to /etc/security/limits.conf:
sogoeas   -  stack    32768
sogoeas   -  nproc    8192

This seemed to make no difference.   I encountered a problem again after the 508th process was started.

I've added the following to /etc/security/limits.d/20-nproc.conf:
sogoeas    soft    nproc    unlimited

Again, no change.

Has anyone encountered this problem?   Any suggestions on a fix?   

Thanks,
Bob

2

Re: Can't seem to spawn child thread

Try to add systemd config file /etc/systemd/system/sogo.service.d/override.conf for your SOGo process:

[Service]
LimitNOFILE=infinity
TasksMax=infinity

If your sogoeas service is running as different service name instead of "sogo", please replace the service name in directory "sogo.service.d" by the real name. for example, "sogoeas.service.d". Running "systemctl daemon-reload" is required after changed systemd config file, then restart SOGo and SOGO EAS services.

Note: please also report this issue to SOGo developers in its bug tracker and mailing list:
https://sogo.nu/support.html

This issue was reported in mailing list by few users long time ago, but seems they have no interest or solution to fix it. It's time to remind them again.

----

Does my reply help a little? How about buying me a cup of coffee ($5) as an encouragement?

buy me a cup of coffee

3

Re: Can't seem to spawn child thread

Thank you!   That has corrected the problem.

I have posted this on the SOGo list and have received a reply from someone from inverse.ca.   Hopefully they'll fix this.

Thanks again for your help!

Bob