Mystery Timeout

I'm trying to do a store import from 2.2.5 > 4.3.2.

There appears to be a timeout at 180 seconds... I cannot find it. I have a VPS running WHM. I have set apache timeout, php max execution time, php memory limit, mysql connection timeout, disabled the csf firewall... and it always stops after 180 seconds. It seems like the config is being ignored for some default 180 somewhere or there is another timeout I'm missing.

Check your apache logs to see if it's another apache setting. You should also be running with KeepAlive active.

Check your apache logs to see if it's another apache setting. You should also be running with KeepAlive active.

The apache logs aren't showing an error or timeout. KeepAlive is unlimited.

Then your host has some kind of monitoring running. Suggest you check with them. I’m out of suggestions from info supplied.

Your server can have time limit. Contact your hosting team.

If you use fastcgi, it also has timeout setting

Found the problem. It was RLimitCPU. Don't why it wasn't logging an error.

Found the problem. It was RLimitCPU. Don't why it wasn't logging an error.

Thank you for sharing this information. Hope it will help someone

What was the value to start with and what did you change it to in order to resolve your problem?

I don't see this value configured in my apache httpd.conf file

grep -i rlimitcpu httpd.conf

shows nothing. So this must be a config option that your host has added?

The apache docs indicate that it is unset by default:

Description: Limits the CPU consumption of processes launched by Apache children
Syntax: RLimitCPU seconds|max [seconds|max]
Default: Unset; uses operating system defaults
Context: server config, virtual host, directory, .htaccess
Override: All
Status: Core
Module: core

What was the value to start with and what did you change it to in order to resolve your problem?

I don't see this value configured in my apache httpd.conf file

grep -i rlimitcpu httpd.conf

shows nothing. So this must be a config option that your host has added?

The apache docs indicate that it is unset by default:

Description: Limits the CPU consumption of processes launched by Apache children
Syntax: RLimitCPU seconds|max [seconds|max]
Default: Unset; uses operating system defaults
Context: server config, virtual host, directory, .htaccess
Override: All
Status: Core
Module: core

It was set to 40, and the name of the setting is misleading, it is actually a CPU timeout, not a 'load' limit. Apparently 40 CPU seconds equated to 180 seconds... probably under %25 load. I commented the line.

I have a WHM VDS and the setting is in a template used to build the apache config.

Yes, but my point is that it is "unset" by default and so it must be something that your hosting (or you) enabled.

CPU seconds are not "wall clock" seconds. They are seconds of cpu utilization and are usually accounted for in milli/micro seconds by the system. In any event, the default cpu seconds set by cs-cart in config.local.php (set_timelimit()) is 3600 (1hr of CPU which would be several hours of wall clock unless something is stuck in a loop). 40 seconds would cause any reasonable computation (like multiple image resizing or image import/export) to probably fail.