From owner-freebsd-apache@FreeBSD.ORG Mon Mar 30 11:06:14 2009 Return-Path: Delivered-To: apache@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D7B791065679 for ; Mon, 30 Mar 2009 11:06:14 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id AAE268FC22 for ; Mon, 30 Mar 2009 11:06:14 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n2UB6EgD053973 for ; Mon, 30 Mar 2009 11:06:14 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n2UB6EXr053969 for apache@FreeBSD.org; Mon, 30 Mar 2009 11:06:14 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 30 Mar 2009 11:06:14 GMT Message-Id: <200903301106.n2UB6EXr053969@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: apache@FreeBSD.org Cc: Subject: Current problem reports assigned to apache@FreeBSD.org X-BeenThere: freebsd-apache@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Support of apache-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Mar 2009 11:06:15 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o ports/132528 apache [patch] www/apache22 no-accf fix o ports/131565 apache [patch] Edit www/apache20/pkg-message to prompt user t o ports/131564 apache [patch] Edit www/apache13/pkg-message to prompt user t o ports/131563 apache [patch] Edit www/apache22/pkg-message to prompt user t o ports/130479 apache www/apache20 and www/apache22 configure_args busted o ports/128952 apache [NEW PORT] java/javadb: Sun's supported distribution o o ports/128078 apache www/apache20 -- LDAP support is broken o ports/125464 apache www/apache22 [patch] Apache Bench doesn't work o ports/125183 apache www/apache22 wrong SUEXEC_DOCROOT o ports/124375 apache www/mod_auth_kerb doesn't compile against heimdal o ports/121134 apache www/mod_log_sql2-dtc scoreboard problem o ports/120409 apache www/apache20 (7.0-RC1) segfault on HUP w/ some php5 ex o ports/120229 apache www/apache20 does not pick up usernames from NIS [regr o ports/118003 apache www/apache22: with PgSQL option require only libpq.so. o ports/117596 apache www/apache22 segfault when using mod_dbd s ports/115461 apache [patch] bsd.apache.mk - Create packages for apache mod o ports/110651 apache www/apache22 Use USE_BDB infrastructure to select appr o ports/108169 apache www/apache20 wrong AP_SAFE_PATH for suEXEC a ports/101566 apache www/apache20 All .svn subdirectories in $(htdocsdir) g o ports/100350 apache www/apache20 profiles not working at system startup/sh a ports/96953 apache www/apache22 port uses its own directories a ports/83644 apache www/apache20 add support for ndbm 22 problems total. From owner-freebsd-apache@FreeBSD.ORG Wed Apr 1 08:03:33 2009 Return-Path: Delivered-To: apache@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A5ADF106566B for ; Wed, 1 Apr 2009 08:03:33 +0000 (UTC) (envelope-from kuriyama@FreeBSD.org) Received: from scarlet.imgsrc.co.jp (scarlet.imgsrc.co.jp [202.235.195.9]) by mx1.freebsd.org (Postfix) with ESMTP id EDA448FC0A for ; Wed, 1 Apr 2009 08:03:32 +0000 (UTC) (envelope-from kuriyama@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by scarlet.imgsrc.co.jp (Postfix) with ESMTP id 12348678D5 for ; Wed, 1 Apr 2009 16:45:17 +0900 (JST) X-Virus-Scanned: IMG SRC scanner at mail.imgsrc.co.jp (scarlet) Received: from scarlet.imgsrc.co.jp ([127.0.0.1]) by localhost (scarlet.imgsrc.co.jp [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZpJ8FROOSpMT for ; Wed, 1 Apr 2009 16:45:16 +0900 (JST) Received: from cebu.s2factory.co.jp (corsica.s2factory.co.jp [122.220.15.114]) by scarlet.imgsrc.co.jp (Postfix) with ESMTP id C6EA2678D3 for ; Wed, 1 Apr 2009 16:45:16 +0900 (JST) Date: Wed, 01 Apr 2009 16:45:54 +0900 Message-ID: <7m7i2424wd.wl%kuriyama@s2factory.co.jp> From: Jun Kuriyama To: apache@FreeBSD.org User-Agent: Wanderlust/2.14.0 (Africa) Emacs/22.1 Mule/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: multipart/mixed; boundary="Multipart_Wed_Apr__1_16:45:54_2009-1" Cc: Subject: ab(1) fix (Operation already in progress (37)) X-BeenThere: freebsd-apache@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Support of apache-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Apr 2009 08:03:33 -0000 --Multipart_Wed_Apr__1_16:45:54_2009-1 Content-Type: text/plain; charset=US-ASCII Hi, It seems Philip already watch this issue, but I just got same problem so propose fix to our ports CVS repo. As reported in Bugzilla for Apache (bug#44584), ab(1) failed to continue connecting when using concurrent (or many) connections. > apr_socket_connect(): Operation already in progress (37) Fix for this was committed into trunk, and this patch can be applied to 2.2.11 without problem. I tested this patch locally, and it works fine. --- suggested log - Add a patch to fix ab(1) fails to connect with "Operation already in progress (37)" errno. References: https://issues.apache.org/bugzilla/show_bug.cgi?id=44584 Obtained from: http://svn.apache.org/viewvc/httpd/httpd/trunk/support/ab.c?r1=748396&r2=749438 -- Jun Kuriyama // FreeBSD Project // S2 Factory, Inc. --Multipart_Wed_Apr__1_16:45:54_2009-1 Content-Type: application/octet-stream; type=patch Content-Disposition: attachment; filename="apache22.diff" Content-Transfer-Encoding: 7bit Index: Makefile =================================================================== RCS file: /home/ncvs/ports/www/apache22/Makefile,v retrieving revision 1.232 diff -u -r1.232 Makefile --- Makefile 29 Jan 2009 23:51:46 -0000 1.232 +++ Makefile 1 Apr 2009 07:22:26 -0000 @@ -9,7 +9,7 @@ PORTNAME= apache PORTVERSION= 2.2.11 -PORTREVISION?= 3 +PORTREVISION?= 4 CATEGORIES= www MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD} DISTNAME= httpd-${PORTVERSION} Index: files/patch-support:ab.c =================================================================== RCS file: files/patch-support:ab.c diff -N files/patch-support:ab.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-support:ab.c 1 Apr 2009 07:09:34 -0000 @@ -0,0 +1,262 @@ +--- support/ab.c.orig 2008-12-01 00:47:31.000000000 +0900 ++++ support/ab.c 2009-04-01 16:08:09.000000000 +0900 +@@ -208,13 +208,18 @@ + /* maximum number of requests on a time limited test */ + #define MAX_REQUESTS (INT_MAX > 50000 ? 50000 : INT_MAX) + +-/* good old state hostname */ +-#define STATE_UNCONNECTED 0 +-#define STATE_CONNECTING 1 /* TCP connect initiated, but we don't ++/* connection state ++ * don't add enums or rearrange or otherwise change values without ++ * visiting set_conn_state() ++ */ ++typedef enum { ++ STATE_UNCONNECTED = 0, ++ STATE_CONNECTING, /* TCP connect initiated, but we don't + * know if it worked yet + */ +-#define STATE_CONNECTED 2 /* we know TCP connect completed */ +-#define STATE_READ 3 ++ STATE_CONNECTED, /* we know TCP connect completed */ ++ STATE_READ ++} connect_state_e; + + #define CBUFFSIZE (2048) + +@@ -239,6 +244,7 @@ + done; /* Connection closed */ + + int socknum; ++ apr_int16_t reqevents; /* current poll events for this socket */ + #ifdef USE_SSL + SSL *ssl; + #endif +@@ -383,6 +389,56 @@ + exit(rv); + } + ++static void set_polled_events(struct connection *c, apr_int16_t new_reqevents) ++{ ++ apr_int16_t old_reqevents = c->reqevents; ++ apr_pollfd_t pfd; ++ apr_status_t rv; ++ char buf[120]; ++ ++ if (old_reqevents != new_reqevents) { ++ pfd.desc_type = APR_POLL_SOCKET; ++ pfd.desc.s = c->aprsock; ++ pfd.client_data = c; ++ ++ if (old_reqevents != 0) { ++ pfd.reqevents = old_reqevents; ++ rv = apr_pollset_remove(readbits, &pfd); ++ if (rv != APR_SUCCESS) { ++ apr_err("apr_pollset_remove()", rv); ++ } ++ } ++ ++ if (new_reqevents != 0) { ++ pfd.reqevents = new_reqevents; ++ rv = apr_pollset_add(readbits, &pfd); ++ if (rv != APR_SUCCESS) { ++ apr_err("apr_pollset_add()", rv); ++ exit(1); ++ } ++ } ++ ++ c->reqevents = new_reqevents; ++ } ++} ++ ++static void set_conn_state(struct connection *c, connect_state_e new_state) ++{ ++ apr_int16_t events_by_state[] = { ++ 0, /* for STATE_UNCONNECTED */ ++ APR_POLLOUT, /* for STATE_CONNECTING */ ++ APR_POLLIN, /* for STATE_CONNECTED; we don't poll in this state, ++ * so prepare for polling in the following state -- ++ * STATE_READ ++ */ ++ APR_POLLIN /* for STATE_READ */ ++ }; ++ ++ c->state = new_state; ++ ++ set_polled_events(c, events_by_state[new_state]); ++} ++ + /* --------------------------------------------------------- */ + /* write out request to a connection - assumes we can write + * (small) request out in one go into our new socket buffer +@@ -556,7 +612,6 @@ + + while (do_next) { + int ret, ecode; +- apr_pollfd_t new_pollfd; + + ret = SSL_do_handshake(c->ssl); + ecode = SSL_get_error(c->ssl, ret); +@@ -588,11 +643,7 @@ + do_next = 0; + break; + case SSL_ERROR_WANT_READ: +- new_pollfd.desc_type = APR_POLL_SOCKET; +- new_pollfd.reqevents = APR_POLLIN; +- new_pollfd.desc.s = c->aprsock; +- new_pollfd.client_data = c; +- apr_pollset_add(readbits, &new_pollfd); ++ set_polled_events(c, APR_POLLIN); + do_next = 0; + break; + case SSL_ERROR_WANT_WRITE: +@@ -668,16 +719,8 @@ + c->rwrite -= l; + } while (c->rwrite); + +- c->state = STATE_READ; + c->endwrite = lasttime = apr_time_now(); +- { +- apr_pollfd_t new_pollfd; +- new_pollfd.desc_type = APR_POLL_SOCKET; +- new_pollfd.reqevents = APR_POLLIN; +- new_pollfd.desc.s = c->aprsock; +- new_pollfd.client_data = c; +- apr_pollset_add(readbits, &new_pollfd); +- } ++ set_conn_state(c, STATE_READ); + } + + /* --------------------------------------------------------- */ +@@ -1191,21 +1234,12 @@ + #endif + if ((rv = apr_socket_connect(c->aprsock, destsa)) != APR_SUCCESS) { + if (APR_STATUS_IS_EINPROGRESS(rv)) { +- apr_pollfd_t new_pollfd; +- c->state = STATE_CONNECTING; ++ set_conn_state(c, STATE_CONNECTING); + c->rwrite = 0; +- new_pollfd.desc_type = APR_POLL_SOCKET; +- new_pollfd.reqevents = APR_POLLOUT; +- new_pollfd.desc.s = c->aprsock; +- new_pollfd.client_data = c; +- apr_pollset_add(readbits, &new_pollfd); + return; + } + else { +- apr_pollfd_t remove_pollfd; +- remove_pollfd.desc_type = APR_POLL_SOCKET; +- remove_pollfd.desc.s = c->aprsock; +- apr_pollset_remove(readbits, &remove_pollfd); ++ set_conn_state(c, STATE_UNCONNECTED); + apr_socket_close(c->aprsock); + err_conn++; + if (bad++ > 10) { +@@ -1213,14 +1247,14 @@ + "\nTest aborted after 10 failures\n\n"); + apr_err("apr_socket_connect()", rv); + } +- c->state = STATE_UNCONNECTED; ++ + start_connect(c); + return; + } + } + + /* connected first time */ +- c->state = STATE_CONNECTED; ++ set_conn_state(c, STATE_CONNECTED); /* will this waste a pollset call? */ + started++; + #ifdef USE_SSL + if (c->ssl) { +@@ -1269,21 +1303,15 @@ + } + } + +- { +- apr_pollfd_t remove_pollfd; +- remove_pollfd.desc_type = APR_POLL_SOCKET; +- remove_pollfd.desc.s = c->aprsock; +- apr_pollset_remove(readbits, &remove_pollfd); ++ set_conn_state(c, STATE_UNCONNECTED); + #ifdef USE_SSL +- if (c->ssl) { +- SSL_shutdown(c->ssl); +- SSL_free(c->ssl); +- c->ssl = NULL; +- } +-#endif +- apr_socket_close(c->aprsock); ++ if (c->ssl) { ++ SSL_shutdown(c->ssl); ++ SSL_free(c->ssl); ++ c->ssl = NULL; + } +- c->state = STATE_UNCONNECTED; ++#endif ++ apr_socket_close(c->aprsock); + + /* connect again */ + start_connect(c); +@@ -1401,10 +1429,7 @@ + } + else { + /* header is in invalid or too big - close connection */ +- apr_pollfd_t remove_pollfd; +- remove_pollfd.desc_type = APR_POLL_SOCKET; +- remove_pollfd.desc.s = c->aprsock; +- apr_pollset_remove(readbits, &remove_pollfd); ++ set_conn_state(c, STATE_UNCONNECTED); + apr_socket_close(c->aprsock); + err_response++; + if (bad++ > 10) { +@@ -1727,11 +1752,7 @@ + } + if (rv & APR_POLLOUT) { + if (c->state == STATE_CONNECTING) { +- apr_pollfd_t remove_pollfd; + rv = apr_socket_connect(c->aprsock, destsa); +- remove_pollfd.desc_type = APR_POLL_SOCKET; +- remove_pollfd.desc.s = c->aprsock; +- apr_pollset_remove(readbits, &remove_pollfd); + if (rv != APR_SUCCESS) { + apr_socket_close(c->aprsock); + err_conn++; +@@ -1740,12 +1761,12 @@ + "\nTest aborted after 10 failures\n\n"); + apr_err("apr_socket_connect()", rv); + } +- c->state = STATE_UNCONNECTED; ++ set_conn_state(c, STATE_UNCONNECTED); + start_connect(c); + continue; + } + else { +- c->state = STATE_CONNECTED; ++ set_conn_state(c, STATE_CONNECTED); + started++; + #ifdef USE_SSL + if (c->ssl) +@@ -1759,22 +1780,6 @@ + write_request(c); + } + } +- +- /* +- * When using a select based poll every time we check the bits +- * are reset. In 1.3's ab we copied the FD_SET's each time +- * through, but here we're going to check the state and if the +- * connection is in STATE_READ or STATE_CONNECTING we'll add the +- * socket back in as APR_POLLIN. +- */ +- if (c->state == STATE_READ) { +- apr_pollfd_t new_pollfd; +- new_pollfd.desc_type = APR_POLL_SOCKET; +- new_pollfd.reqevents = APR_POLLIN; +- new_pollfd.desc.s = c->aprsock; +- new_pollfd.client_data = c; +- apr_pollset_add(readbits, &new_pollfd); +- } + } + } while (lasttime < stoptime && done < requests); + --Multipart_Wed_Apr__1_16:45:54_2009-1-- From owner-freebsd-apache@FreeBSD.ORG Wed Apr 1 18:36:16 2009 Return-Path: Delivered-To: apache@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B11BF1065670; Wed, 1 Apr 2009 18:36:16 +0000 (UTC) (envelope-from pgollucci@p6m7g8.com) Received: from exhub015-2.exch015.msoutlookonline.net (exhub015-2.exch015.msoutlookonline.net [207.5.72.94]) by mx1.freebsd.org (Postfix) with ESMTP id 9CD438FC0C; Wed, 1 Apr 2009 18:36:16 +0000 (UTC) (envelope-from pgollucci@p6m7g8.com) Received: from philip.hq.rws (76.161.175.34) by smtpx15.msoutlookonline.net (207.5.72.103) with Microsoft SMTP Server (TLS) id 8.1.336.0; Wed, 1 Apr 2009 11:26:12 -0700 Message-ID: <49D3B1C2.8090500@p6m7g8.com> Date: Wed, 1 Apr 2009 14:26:10 -0400 From: "Philip M. Gollucci" Organization: P6 Web Application User-Agent: Thunderbird 2.0.0.19 (X11/20090319) MIME-Version: 1.0 To: Jun Kuriyama References: <7m7i2424wd.wl%kuriyama@s2factory.co.jp> In-Reply-To: <7m7i2424wd.wl%kuriyama@s2factory.co.jp> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Cc: apache@freebsd.org Subject: Re: ab(1) fix (Operation already in progress (37)) X-BeenThere: freebsd-apache@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Support of apache-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Apr 2009 18:36:17 -0000 Jun Kuriyama wrote: > Hi, > > It seems Philip already watch this issue, but I just got same problem > so propose fix to our ports CVS repo. If its in trunk or branches/2_2_x go head and add it. You don't really need approval though you're part of apache@. I do seem to remember forwarding this along to them a while ago. -- ------------------------------------------------------------------------ 1024D/DB9B8C1C B90B FBC3 A3A1 C71A 8E70 3F8C 75B8 8FFB DB9B 8C1C Philip M. Gollucci (pgollucci@p6m7g8.com) c: 703.336.9354 Consultant - P6M7G8 Inc. http://p6m7g8.net Senior Sys Admin - RideCharge, Inc. http://ridecharge.com Contractor - PositiveEnergyUSA http://positiveenergyusa.com ASF Member - Apache Software Foundation http://apache.org FreeBSD Committer - FreeBSD Foundation http://freebsd.org Work like you don't need the money, love like you'll never get hurt, and dance like nobody's watching. From owner-freebsd-apache@FreeBSD.ORG Thu Apr 2 01:53:25 2009 Return-Path: Delivered-To: apache@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8A2C21065670 for ; Thu, 2 Apr 2009 01:53:25 +0000 (UTC) (envelope-from kuriyama.bsd@gmail.com) Received: from qw-out-2122.google.com (qw-out-2122.google.com [74.125.92.25]) by mx1.freebsd.org (Postfix) with ESMTP id 422958FC1B for ; Thu, 2 Apr 2009 01:53:25 +0000 (UTC) (envelope-from kuriyama.bsd@gmail.com) Received: by qw-out-2122.google.com with SMTP id 9so303082qwb.7 for ; Wed, 01 Apr 2009 18:53:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type:content-transfer-encoding; bh=VTDDHHFvm9gCF+QLcfcaRXmLW7OA27iDKrilI2j35yg=; b=iV2c3s+Dzv7NLJl79f8tdrq43aw2bBmJ4jqqQ/s1lTaoY0RKPzSCv0QxJmBQi2Kfw3 J28DoKkTSr/zcokDhn2Fok564AyJFWABRBfBzbl1+DD3CoWwn89A6TXUPidIMv6MsWOE p9yNCeNzpuQ3EJsINpjU99jdfcr4CRB8opSdI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=lMXfWudge7hVbIR3b9hTGZRf964dtM2gyXzNGEMWa0ft2zcX7AMmC8d1OY5mstecU1 5qxqo1AuiI9MAwWKMCihyPml5+2+pHXU9/ajb4R+3/MvYb6GEHbA4ZArQD299u2uB2th Ywvp8xrPlLkJhzARIL0SosYpUP78vteIv7LSI= MIME-Version: 1.0 Sender: kuriyama.bsd@gmail.com Received: by 10.229.82.10 with SMTP id z10mr3394118qck.83.1238635433277; Wed, 01 Apr 2009 18:23:53 -0700 (PDT) In-Reply-To: <49D3B1C2.8090500@p6m7g8.com> References: <7m7i2424wd.wl%kuriyama@s2factory.co.jp> <49D3B1C2.8090500@p6m7g8.com> Date: Thu, 2 Apr 2009 10:23:53 +0900 X-Google-Sender-Auth: 48e370b43821d5d9 Message-ID: <48acff730904011823u7614086cqa50ca737c85a9824@mail.gmail.com> From: Jun Kuriyama To: apache@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Subject: Re: ab(1) fix (Operation already in progress (37)) X-BeenThere: freebsd-apache@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Support of apache-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Apr 2009 01:53:25 -0000 2009/4/2 Philip M. Gollucci : >> It seems Philip already watch this issue, but I just got same problem >> so propose fix to our ports CVS repo. > > If its in trunk or branches/2_2_x go head and add it. > > You don't really need approval though you're part of apache@. > > I do seem to remember forwarding this along to them a while ago. Thanks, committed! -- Jun Kuriyama // FreeBSD Project // S2 Factory, Inc.