Date: Tue, 19 Mar 2013 16:49:16 +0100 From: olli hauer <ohauer@gmx.de> To: apache@FreeBSD.org Cc: Lilian - Devclic <lilian@devclic.fr> Subject: Re: Upgrade of mod_fastcgi Message-ID: <514888FC.8080708@gmx.de> In-Reply-To: <514348DE.9000701@devclic.fr> References: <514348DE.9000701@devclic.fr>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Lilian, It seems the fix is included in the last mod_fastcgi snap. Please can you test the following diff. Index: Makefile =================================================================== --- Makefile (revision 314644) +++ Makefile (working copy) @@ -2,10 +2,10 @@ # $FreeBSD$ PORTNAME= mod_fastcgi -PORTVERSION= 2.4.6 -PORTREVISION= 3 +PORTVERSION= 2.4.7 CATEGORIES= www MASTER_SITES= http://www.fastcgi.com/dist/ +DISTNAME= mod_fastcgi-SNAP-0910052141 MAINTAINER= apache@FreeBSD.org COMMENT= A fast-cgi module for Apache Index: distinfo =================================================================== --- distinfo (revision 314644) +++ distinfo (working copy) @@ -1,2 +1,2 @@ -SHA256 (mod_fastcgi-2.4.6.tar.gz) = a5a887eecc8fe13e4cb1cab4d140188a3d2b5e6f337f8a1cce88ca441ddbe689 -SIZE (mod_fastcgi-2.4.6.tar.gz) = 100230 +SHA256 (mod_fastcgi-SNAP-0910052141.tar.gz) = e6564ae206284806c781834e9e89aa4b0a4dd647b45c6da5cc389c65a984bdc7 +SIZE (mod_fastcgi-SNAP-0910052141.tar.gz) = 103255 -- Regards, olli On 2013-03-15 17:14, Lilian - Devclic wrote: > Hello, > > We had an issue with mod_fasctcgi. Some requests failed with no reason and these errors appears in the apache error log file : > > > [Fri Mar 15 15:38:57 2013] [error] [client 91.198.44.22] (4)Interrupted system call: FastCGI: comm with server "/usr/local/sbin/php-fpm" aborted: select() failed, referer: https://sql.devclic.fr/db_structure.php?token=b9b99b544a46d355583070251708d948&db=devclic_si > [Fri Mar 15 15:38:57 2013] [error] [client 91.198.44.22] FastCGI: incomplete headers (0 bytes) received from server "/usr/local/sbin/php-fpm", referer: https://sql.devclic.fr/db_structure.php?token=b9b99b544a46d355583070251708d948&db=devclic_si > > We had the same issue on Ubuntu and Debian system and we update the version to the latest 2.4.7. > > So, can you update the port to this version ? Or can you put this fix in the source code : > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504132 > >> Index: libapache-mod-fastcgi-2.4.2/mod_fastcgi.c >> =================================================================== >> --- libapache-mod-fastcgi-2.4.2.orig/mod_fastcgi.c 2008-11-02 16:42:49.000000000 +0000 >> +++ libapache-mod-fastcgi-2.4.2/mod_fastcgi.c 2008-11-02 16:50:46.000000000 +0000 >> @@ -2178,12 +2178,15 @@ >> } >> >> /* wait on the socket */ >> - select_status = ap_select(nfds, &read_set, &write_set, NULL, &timeout); >> + /* Interrupted system calls do happen now and then, so retry on EINTR */ >> + do { >> + select_status = ap_select(nfds, &read_set, &write_set, NULL, &timeout); >> + } while (select_status < 0 && errno == EINTR); >> >> if (select_status < 0) >> { >> ap_log_rerror(FCGI_LOG_ERR_ERRNO, r, "FastCGI: comm with server " >> - "\"%s\" aborted: select() failed", fr->fs_path); >> + "\"%s\" aborted: select() failed: \"%s\"", fr->fs_path, strerror(errno)); >> state = STATE_ERROR; >> break; >> } >> @@ -2246,11 +2249,19 @@ >> } >> >> rv = fcgi_buf_socket_recv(fr->serverInputBuffer, fr->fd); >> + /* >> + * select(2) states: Under Linux, select() may report a socket >> + * file descriptor as "ready for reading", while nevertheless a >> + * subsequent read blocks. >> + * Act as if the FD was not set if socket_recv returns EAGAIN. >> + */ >> + if (rv < 0 && errno == EAGAIN) >> + break; >> >> if (rv < 0) >> { >> ap_log_rerror(FCGI_LOG_ERR, r, "FastCGI: comm with server " >> - "\"%s\" aborted: read failed", fr->fs_path); >> + "\"%s\" aborted: read failed: \"%s\"", fr->fs_path, strerror(errno)); >> state = STATE_ERROR; >> break; >> } > > We test it on a production server and at this moment no more problem. > Thanks a lot. > Best Regards. >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?514888FC.8080708>