Launchpad has imported 7 comments from the remote bug at
https://bz.apache.org/bugzilla/show_bug.cgi?id=54973.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2013-05-15T06:47:07+00:00 Bruno-canet wrote:

mod_proxy_fcgi is configured to proxy request to php-fpm as follow:
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/opt/httpd/htdocs/app/$1

If a php script takes more than 30 seconds to execute, a HTTP RC 500 is
returned to the client.

php max_execution_time is set to 300 seconds

I used the following script to validate that the error was not due to
php max_execution_time issue.

<?php
    error_log("executing script... ");
    $time = time();
    for ($t = 0; $t <= 15; $t++) {
        error_log("Logging: $t (".(time()-$time)." seconds)");
        sleep(5);
    }
    error_log("execution done (".(time()-$time)." seconds)");
?>
after 30 seconds, the HTTP 500 is returned to the client, but in the php 
error_log the script continue its execution.

According to the documentation, TimeOut is set to 60 seconds by default,
so it should not be an issue, but in case, the following explicit
definition were tested without improvement:

1. ProxyPassMatch ^/(.*\.php)$
fcgi://127.0.0.1:9000/opt/httpd/htdocs/app/$1 timeout=300

2. in virtual host: ProxyTimeout 300

3 in server config: TimeOut 300

The only workaround found was to hardcode the timeout in the mod_proxy_fcgi.c:
--- ./modules/proxy/mod_proxy_fcgi.c.orig       2013-04-16 16:09:25.970332062 
+0200
+++ ./modules/proxy/mod_proxy_fcgi.c    2013-04-16 16:09:56.311088966 +0200
@@ -575,7 +575,7 @@
         /* We need SOME kind of timeout here, or virtually anything will
          * cause timeout errors. */
         if (! conn->worker->s->timeout_set) {
-            timeout = apr_time_from_sec(30);
+            timeout = apr_time_from_sec(300);
         }

         rv = apr_poll(&pfd, 1, &n, timeout);

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1509083/comments/0

------------------------------------------------------------------------
On 2013-09-11T13:23:59+00:00 Apacheorg wrote:

we confirm this behavior with: 
mod_proxy_fcgi
mod_proxy
apache event mpm 
on latest stable apache 2.4.6 

we are using:

(we tried both inside and outside virtualhost: )
<Proxy fcgi://socket=%2fdev%2fshm%2ffpm-php.sock>
                ProxySet timeout=3600
                ProxySet connectiontimeout=3600
</Proxy>

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://socket=%2fdev%2fshm%2ffpm-
php.sock/mobilnet.sk/$1 timeout=3600 connectiontimeout=3600

OR
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^/?(.*\.php)$ fcgi://socket=\%2fdev\%2fshm\%2ffpm-php.sock/path/$1 
[P,L]

but none of them accepts the timeout: 
[proxy_fcgi:error] (70007)The timeout specified has expired: [...] AH01075: 
Error dispatching request to:

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1509083/comments/1

------------------------------------------------------------------------
On 2013-09-13T07:50:55+00:00 Jan Kaluza wrote:

Created attachment 30828
proposed patch

This patch removes hardcoded 30 second timeout from mod_proxy_fcgi and
replaces it with ProxyTimeout/Timeout.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1509083/comments/2

------------------------------------------------------------------------
On 2013-09-13T08:04:33+00:00 Jan Kaluza wrote:

Created attachment 30829
proposed patch v2

Better patch respecting previous "conn->worker->s->timeout" timeout if
set.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1509083/comments/3

------------------------------------------------------------------------
On 2013-09-13T12:07:25+00:00 Jan Kaluza wrote:

The fact that you were not able to set "timeout=300" is caused by PR
43513.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1509083/comments/4

------------------------------------------------------------------------
On 2013-09-13T12:12:02+00:00 Jan Kaluza wrote:

Created attachment 30833
proposed patch v3

Even better patch. Now uses apr_socket_timeout_get.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1509083/comments/5

------------------------------------------------------------------------
On 2014-05-05T23:51:54+00:00 Trawick-3 wrote:

Fixed in 2.4.8:

 *) mod_proxy_fcgi: Use apr_socket_timeout_get instead of hard-coded
     30 seconds timeout. [Jan Kaluza]

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1509083/comments/6


** Changed in: apache2
       Status: Unknown => Fix Released

** Changed in: apache2
   Importance: Unknown => Critical

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to apache2 in Ubuntu.
https://bugs.launchpad.net/bugs/1509083

Title:
  Backport Apache fix "Honor ProxyTimeout" (54973)

To manage notifications about this bug go to:
https://bugs.launchpad.net/apache2/+bug/1509083/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to