You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Benjamin Cuthbert <be...@db.com> on 2006/11/07 09:00:52 UTC

Apache BUG: 36495 : ajp_proxy_connect_backend failure

All 

I have apache 2.2.0 setup on Solaris and i am running into the same issues 
as the bug here, any had any updates on this.

http://issues.apache.org/bugzilla/show_bug.cgi?id=36495


Error i get is:

[Mon Nov 06 16:35:35 2006] [error] proxy: AJP: failed to make connection 
to backend: 1.1.1.2
[Mon Nov 06 16:36:35 2006] [error] (146)Connection refused: proxy: AJP: 
attempt to connect to 1.1.1.2:8009 (1.1.1.2) failed
[Mon Nov 06 16:36:35 2006] [error] ap_proxy_connect_backend disabling 
worker for (1.1.1.2)
[Mon Nov 06 16:36:35 2006] [error] proxy: AJP: failed to make connection 
to backend: 1.1.1.2

Does anyone know if this bug was fixed ?



---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Mladen Turk <mt...@apache.org>.
Benjamin Cuthbert wrote:
> 
> Can you show me where this trunk is ? URL ?
>

svn export http://svn.apache.org/repos/asf/httpd/httpd/trunk httpd-head

Anyhow:
http://httpd.apache.org/dev/

Regards,
Mladen.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Benjamin Cuthbert <be...@db.com>.
Can you show me where this trunk is ? URL ?

Regards

Ben Cuthbert
Deutsche Bank AG
Corporate & Investment Bank
GTO : TISO / Arch Global Finance / Prime Services
PGP: http://pgp.mit.edu
+44 (0) 20 754 76389 (Tel)
+44 (0) 20 754 74996 (Fax)



Mladen Turk <mt...@apache.org> 
11/07/2006 09:31 AM
Please respond to
dev@httpd.apache.org


To
dev@httpd.apache.org
cc

Subject
Re: Apache BUG: 36495  : ajp_proxy_connect_backend failure






Benjamin Cuthbert wrote:
> 
> Okay i am not sure i follow, so when  you say copy the trunk from 
> proxy_util.c do you have the example that you used
> so that i can put it into my build ?
>

Copy the alternate is_socket_connected code instead the current one.

Also, please do not use HTML mails when communicating with ASF.
They look pretty nasty when someone browse the archive ;)

Regards,
Mladen




---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Mladen Turk <mt...@apache.org>.
Benjamin Cuthbert wrote:
> 
> Okay i am not sure i follow, so when  you say copy the trunk from 
> proxy_util.c do you have the example that you used
> so that i can put it into my build ?
>

Copy the alternate is_socket_connected code instead the current one.

Also, please do not use HTML mails when communicating with ASF.
They look pretty nasty when someone browse the archive ;)

Regards,
Mladen

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Benjamin Cuthbert <be...@db.com>.
Okay i am not sure i follow, so when  you say copy the trunk from 
proxy_util.c do you have the example that you used
so that i can put it into my build ?

Regards

Ben Cuthbert
Deutsche Bank AG
Corporate & Investment Bank
GTO : TISO / Arch Global Finance / Prime Services
PGP: http://pgp.mit.edu
+44 (0) 20 754 76389 (Tel)
+44 (0) 20 754 74996 (Fax)



Mladen Turk <mt...@apache.org> 
11/07/2006 08:18 AM
Please respond to
dev@httpd.apache.org


To
dev@httpd.apache.org
cc

Subject
Re: Apache BUG: 36495  : ajp_proxy_connect_backend failure






Benjamin Cuthbert wrote:
> 
> 
> http://issues.apache.org/bugzilla/show_bug.cgi?id=36495
> 
> Does anyone know if this bug was fixed ?
>

It is in the trunk, where there is alternative socket
is_connected detection.
Can you check the trunk, or at least copy the new
is_socket_connected from tunk's proxy_util.c to the
2.2.x and see if it works.

I have tested the new implementation on Solaris, and it works fine.
Without that the closed socket by Tomcat is not detected on most
platforms.

Regards,
Mladen.




---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Benjamin Cuthbert <be...@db.com>.
I copied the proxy_util.c from trunk and put it in 
httpd-2.2.3/modules/proxy/

When i compiled i got

Making install in proxy
/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr/libtool --silent 
--mode=compile gcc   -DSSL_EXPERIMENTAL -DSSL_ENGINE  -DSOLARIS2=10 
-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/pcre -I. 
-I/apps/exlink/SOURCES/httpd-2.2.3/os/unix 
-I/apps/exlink/SOURCES/httpd-2.2.3/server/mpm/prefork 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/http 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/filters 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/proxy 
-I/apps/exlink/SOURCES/httpd-2.2.3/include 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/generators 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/mappers 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/database 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr/include 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr-util/include 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr-util/xml/expat/lib 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/proxy/../generators 
-I/usr/sfw/include -I/apps/exlink/SOURCES/httpd-2.2.3/modules/ssl 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/dav/main -prefer-non-pic 
-static -c proxy_util.c && touch proxy_util.lo
proxy_util.c: In function `ap_proxy_location_reverse_map':
proxy_util.c:1098: error: `proxy_req_conf' undeclared (first use in this 
function)
proxy_util.c:1098: error: (Each undeclared identifier is reported only 
once
proxy_util.c:1098: error: for each function it appears in.)
proxy_util.c:1098: error: `rconf' undeclared (first use in this function)
proxy_util.c:1112: error: structure has no member named `interpolate_env'
proxy_util.c: In function `ap_proxy_cookie_reverse_map':
proxy_util.c:1140: error: `proxy_req_conf' undeclared (first use in this 
function)
proxy_util.c:1140: error: `rconf' undeclared (first use in this function)
proxy_util.c:1170: error: structure has no member named `interpolate_env'
proxy_util.c:1192: error: structure has no member named `interpolate_env'
proxy_util.c: In function `ap_proxy_initialize_worker':
proxy_util.c:1792: error: structure has no member named `retry_set'
*** Error code 1
make: Fatal error: Command failed for target `proxy_util.lo'
Current working directory /apps/exlink/SOURCES/httpd-2.2.3/modules/proxy
*** Error code 1
The following command caused the error:
otarget=`echo install-recursive|sed s/-recursive//`; \
list='  '; \
for i in $list; do \
    if test -d "$i"; then \
        target="$otarget"; \
        echo "Making $target in $i"; \
        if test "$i" = "."; then \
                made_local=yes; \
                target="local-$target"; \
        fi; \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test "$otarget" = "all" && test -z 'libmod_proxy.la 
libmod_proxy_connect.la libmod_proxy_ftp.la libmod_proxy_http.la 
libmod_proxy_ajp.la libmod_proxy_balancer.la'; then \
    made_local=yes; \
fi; \
if test "$made_local" != "yes"; then \
    make "local-$otarget" || exit 1; \
fi
make: Fatal error: Command failed for target `install-recursive'
Current working directory /apps/exlink/SOURCES/httpd-2.2.3/modules/proxy
*** Error code 1
The following command caused the error:
otarget=`echo install-recursive|sed s/-recursive//`; \
list='  aaa filters loggers metadata proxy ssl http generators mappers'; \
for i in $list; do \
    if test -d "$i"; then \
        target="$otarget"; \
        echo "Making $target in $i"; \
        if test "$i" = "."; then \
                made_local=yes; \
                target="local-$target"; \
        fi; \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test "$otarget" = "all" && test -z ''; then \
    made_local=yes; \
fi; \
if test "$made_local" != "yes"; then \
    make "local-$otarget" || exit 1; \
fi
make: Fatal error: Command failed for target `install-recursive'
Current working directory /apps/exlink/SOURCES/httpd-2.2.3/modules
*** Error code 1
The following command caused the error:
otarget=`echo install-recursive|sed s/-recursive//`; \
list='  srclib os server modules support'; \
for i in $list; do \
    if test -d "$i"; then \
        target="$otarget"; \
        echo "Making $target in $i"; \
        if test "$i" = "."; then \
                made_local=yes; \
                target="local-$target"; \
        fi; \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test "$otarget" = "all" && test -z 'httpd  '; then \
    made_local=yes; \
fi; \
if test "$made_local" != "yes"; then \
    make "local-$otarget" || exit 1; \
fi
make: Fatal error: Command failed for target `install-recursive'

Regards

Ben Cuthbert
Deutsche Bank AG
Corporate & Investment Bank
GTO : TISO / Arch Global Finance / Prime Services
PGP: http://pgp.mit.edu
+44 (0) 20 754 76389 (Tel)
+44 (0) 20 754 74996 (Fax)



Mladen Turk <mt...@apache.org> 
11/07/2006 08:18 AM
Please respond to
dev@httpd.apache.org


To
dev@httpd.apache.org
cc

Subject
Re: Apache BUG: 36495  : ajp_proxy_connect_backend failure






Benjamin Cuthbert wrote:
> 
> 
> http://issues.apache.org/bugzilla/show_bug.cgi?id=36495
> 
> Does anyone know if this bug was fixed ?
>

It is in the trunk, where there is alternative socket
is_connected detection.
Can you check the trunk, or at least copy the new
is_socket_connected from tunk's proxy_util.c to the
2.2.x and see if it works.

I have tested the new implementation on Solaris, and it works fine.
Without that the closed socket by Tomcat is not detected on most
platforms.

Regards,
Mladen.




---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Benjamin Cuthbert <be...@db.com>.
I spoke to Mr Turk and he suggested getting the trunk version which has 
some fixes for the ajp connector on solaris

svn export http://svn.apache.org/repos/asf/httpd/httpd/trunk httpd-head

Is this correct, as Rudiger suggested this

http://marc2.theaimsgroup.com/?l=apache-httpd-dev&m=116302227206782&w=2

What do i need to checkout in order to get the fixes for BUG: 36495 





Sander Temme <sc...@apache.org> 
12/20/2006 04:06 PM
Please respond to
dev@httpd.apache.org


To
dev@httpd.apache.org
cc

Subject
Re: Apache BUG: 36495  : ajp_proxy_connect_backend failure







On Dec 20, 2006, at 8:00 AM, Benjamin Cuthbert wrote:

> So i have checked out the trunk, but there was no configure file./..

Run ./buildconf from the checkout directory. You'll need to have 
tools like autoconf, libtool installed.

> I have copied the modules/proxy directory back into my 2.2.3 
> installation dir and then recompiled.

That might break things in horrible and confusing ways. Looks like 
that's exactly what happened for you.

S.

-- 
sctemme@apache.org            http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF






---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Sander Temme <sc...@apache.org>.
On Dec 20, 2006, at 1:28 PM, Ruediger Pluem wrote:

>> I'll be happy to push the above into a page under  
>> httpd.apache.org/ dev
>> as "here's how to build HEAD for testing" if folks think it   
>> useful. Or
>
> +1
>
>> I may put it on my blog.
>
> Or http://wiki.apache.org/httpd/?

I think the Developer Documentation page is a better spot, since this  
is the first issue folks will run into if they want to start getting  
involved in HEAD.

S.

-- 
sctemme@apache.org            http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF



Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Benjamin Cuthbert <be...@db.com>.
I ran the patch in and got

bash-3.00$ patch < proxy_util.patch
  Looks like a unified context diff.
File to patch: modules/proxy/proxy_util.c
Hunk #1 succeeded at 951 (offset 77 lines)
Hunk #2 succeeded at 1879 (offset 117 lines)
Hunk #3 succeeded at 1912 (offset 120 lines)
Hunk #4 failed at line 2097.
Hunk #5 succeeded at 1991 (offset 123 lines)
1 out of 5 hunks failed: saving rejects to modules/proxy/proxy_util.c.rej
done

bash-3.00$ diff -n proxy_util.c proxy_util.c.old
d958 4
a961 1
                if (APR_SUCCESS != apr_bucket_read(e, (const char 
**)&response, &len, APR_BLOCK_READ)) {
d1886 1
a1886 1
    if (!conn->hostname || !worker->is_address_reusable ||
d1960 41
d2042 3


Making install in metadata
Making install in proxy
/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr/libtool --silent 
--mode=compile gcc   -DSSL_EXPERIMENTAL -DSSL_ENGINE  -DSOLARIS2=10 
-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/pcre -I. 
-I/apps/exlink/SOURCES/httpd-2.2.3/os/unix 
-I/apps/exlink/SOURCES/httpd-2.2.3/server/mpm/prefork 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/http 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/filters 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/proxy 
-I/apps/exlink/SOURCES/httpd-2.2.3/include 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/generators 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/mappers 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/database 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr/include 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr-util/include 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr-util/xml/expat/lib 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/proxy/../generators 
-I/usr/sfw/include -I/apps/exlink/SOURCES/httpd-2.2.3/modules/ssl 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/dav/main -prefer-non-pic 
-static -c proxy_util.c && touch proxy_util.lo
proxy_util.c:1962:1: unterminated #else
*** Error code 1
make: Fatal error: Command failed for target `proxy_util.lo'
Current working directory /apps/exlink/SOURCES/httpd-2.2.3/modules/proxy
*** Error code 1
The following command caused the error:
otarget=`echo install-recursive|sed s/-recursive//`; \
list='  '; \
for i in $list; do \
    if test -d "$i"; then \
        target="$otarget"; \
        echo "Making $target in $i"; \
        if test "$i" = "."; then \
                made_local=yes; \
                target="local-$target"; \
        fi; \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test "$otarget" = "all" && test -z 'libmod_proxy.la 
libmod_proxy_connect.la libmod_proxy_ftp.la libmod_proxy_http.la 
libmod_proxy_ajp.la libmod_proxy_balancer.la'; then \
    made_local=yes; \





Ruediger Pluem <rp...@apache.org> 
12/20/2006 09:28 PM
Please respond to
dev@httpd.apache.org


To
dev@httpd.apache.org
cc

Subject
Re: Apache BUG: 36495  : ajp_proxy_connect_backend failure








On 12/20/2006 08:45 PM, Sander Temme wrote:
> 
> On Dec 20, 2006, at 9:52 AM, Benjamin Cuthbert wrote:
> 
>> Do you need to checkout head for apr and apr-util ?

You only need to do this if you are working with httpd code you
checked out from svn. Once you are hacking on a released source
tarball this is not needed. Especially you do not need the
head of apr / apr-util for this patch.

Instead of copying around complete files I guess it should work much
better if you apply the following patch to your 2.2.3 (or even better
wait for 2.2.4 which is hopefully out soon) tarball:

http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/proxy_util.c?r1=451575&r2=473278&view=patch


It contains one unrelated patch (r470076, 
http://svn.apache.org/viewvc?view=rev&revision=470076),
but applying this small patch also does not hurt.


> 
> I'll be happy to push the above into a page under httpd.apache.org/ dev
> as "here's how to build HEAD for testing" if folks think it  useful. Or

+1

> I may put it on my blog.

Or http://wiki.apache.org/httpd/?


Regards

Rüdiger




---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Ruediger Pluem <rp...@apache.org>.

On 12/20/2006 08:45 PM, Sander Temme wrote:
> 
> On Dec 20, 2006, at 9:52 AM, Benjamin Cuthbert wrote:
> 
>> Do you need to checkout head for apr and apr-util ?

You only need to do this if you are working with httpd code you
checked out from svn. Once you are hacking on a released source
tarball this is not needed. Especially you do not need the
head of apr / apr-util for this patch.

Instead of copying around complete files I guess it should work much
better if you apply the following patch to your 2.2.3 (or even better
wait for 2.2.4 which is hopefully out soon) tarball:

http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/proxy_util.c?r1=451575&r2=473278&view=patch

It contains one unrelated patch (r470076, http://svn.apache.org/viewvc?view=rev&revision=470076),
but applying this small patch also does not hurt.


> 
> I'll be happy to push the above into a page under httpd.apache.org/ dev
> as "here's how to build HEAD for testing" if folks think it  useful. Or

+1

> I may put it on my blog.

Or http://wiki.apache.org/httpd/?


Regards

Rüdiger

RE: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Trent Nelson <tn...@onresolve.com>.
> >> Tell you what would be nice:
> >> 	svn.apache.org/repos/asf/httpd/httpd/views/
> >
> > AHHH - ok, retracting my statement... your approach is much less
prone
> > to mis-tagging.  However, it can still yield some pretty obtuse
> > commits
> > if one is not careful :)
> 
> That's simple: don't make that view writable. It'd be a read-only
> service for folks that want to check out something buildable.

Indeed; it provides a nice easy way for people wanting to do local
builds, not necessarily developers doing hardcore development (who would
have the savvy to set up the development environment any which way they
want).

Any chance of trialing this view approach for trunk?  Wouldn't take more
than a couple of minutes to set up...

	Trent.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Sander Temme <sc...@apache.org>.
On Dec 21, 2006, at 12:37 AM, William A. Rowe, Jr. wrote:

> Trent Nelson wrote:
>>
>> Tell you what would be nice:
>> 	svn.apache.org/repos/asf/httpd/httpd/views/
>
> AHHH - ok, retracting my statement... your approach is much less prone
> to mis-tagging.  However, it can still yield some pretty obtuse  
> commits
> if one is not careful :)

That's simple: don't make that view writable. It'd be a read-only  
service for folks that want to check out something buildable.

It'll still make you configure and build apr + apr-util every time  
you make a change to httpd. Which is my main motivation to keep them  
out of my tree.

S.

-- 
sctemme@apache.org            http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF



Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Trent Nelson wrote:
> 
> Tell you what would be nice:
> 	svn.apache.org/repos/asf/httpd/httpd/views/

AHHH - ok, retracting my statement... your approach is much less prone
to mis-tagging.  However, it can still yield some pretty obtuse commits
if one is not careful :)

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Paul Querna <ch...@force-elite.com>.
Trent Nelson wrote:
,,,,
> I'd personally prefer this sort of an approach to, say, relying on the
> source tars that are manually rolled at release time.
> 
> 	Trent.

FWIW, there isn't much 'manually rolled' about it:
http://svn.apache.org/repos/asf/httpd/httpd/dist/tools/release.sh

I've seen some projects where you really do run a manual operation to
generate the release artifacts, but thats just not how we roll 'round here.

-Paul

RE: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Trent Nelson <tn...@onresolve.com>.
> > I find that svn externals can provide a useful alternative to the
> > approach you've mentioned:
> 
> Externals are evil.
> 
> They are *very* prone to mis-tagging.  A tag with externals pointing
> back to another leaf of a trunk are WORTHLESS.  Several projects have
> been guilty of this.

I'd certainly agree that *tagging* a structure that contains externals
pointing to other trunk branches is a recipe for disaster.  As long as
you don't do this, they can be very useful, even if your entire
externals definition is composed of tagged/read-only branches:

http://svn.apache.org/repos/asf/httpd/httpd/views/2.2.3
svn:externals:
src/ http://svn.apache.org/repos/asf/httpd/httpd/tags/2.2.3
src/srclib/apr http://svn.apache.org/repos/asf/apr/apr/tags/1.2.8
src/srclib/apr-util
http://svn.apache.org/repos/asf/apr/apr-util/tags/1.2.8
src/srclib/apr-iconv
http://svn.apache.org/repos/asf/apr/apr-iconv/tags/1.1.1

Thus, I could check out the exact source used to build 2.2.3 via:

	svn co http://svn.apache.org/repos/asf/httpd/httpd/views/2.2.3

I'd personally prefer this sort of an approach to, say, relying on the
source tars that are manually rolled at release time.

	Trent.


Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Trent Nelson wrote:
> 
>> I'll be happy to push the above into a page under httpd.apache.org/
>> dev as "here's how to build HEAD for testing" if folks think it
>> useful. Or I may put it on my blog.
> 
> I find that svn externals can provide a useful alternative to the
> approach you've mentioned:

Externals are evil.

They are *very* prone to mis-tagging.  A tag with externals pointing
back to another leaf of a trunk are WORTHLESS.  Several projects have
been guilty of this.

Also we don't require you to grab the latest apr... httpd trunk (so far)
builds with apr 1.2.x.  Someday it will require 1.3.x but that will be
after at least 1.3.0 has shipped and can be installed.

Which means - grab apr trunk *if you want*.

I keep apr-0.9/1.2/1.x trunk checked out (ditto -util/-iconv) and just
symlink from within httpd-2.0/2.2/2.x trunk.  Since checkouts into the
subdir don't update very well, I just svn up httpd-* apr-* from my root.
It makes it much easier to move patches from version to version of our
'srclib's.




RE: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Benjamin Cuthbert <be...@db.com>.
Thanks Trent i will give this a go.

On the seond co did you not mean to checkout the apr-util/trunk ? or do i 
need to checkout apr twice ?



"Trent Nelson" <tn...@onresolve.com> 
12/21/2006 07:51 AM
Please respond to
dev@httpd.apache.org


To
<de...@httpd.apache.org>
cc

Subject
RE: Apache BUG: 36495  : ajp_proxy_connect_backend failure






> Here's how I build trunk:
> 
> $ mkdir -p apr/apr
> $ mkdir apr/apr-util
> $ mkdir -p httpd/trunk
> 
> $ cd apr/apr
> $ svn co http://svn.apache.org/repos/asf/apr/apr/trunk
> $ cd ../apr-util
> $ svn co http://svn.apache.org/repos/asf/apr/apr/trunk
> $ cd ../../httpd
> $ svn co http://svn.apache.org/repos/asf/httpd/httpd/trunk

> I'll be happy to push the above into a page under httpd.apache.org/
> dev as "here's how to build HEAD for testing" if folks think it
> useful. Or I may put it on my blog.

I find that svn externals can provide a useful alternative to the
approach you've mentioned:

F:\scm\svn\svn.onresolve.com\contrib\trunk\httpd\trunk>svn pl -v
Properties on '.':
  svn:externals :
src  http://svn.apache.org/repos/asf/httpd/httpd/trunk
src/srclib/apr  http://svn.apache.org/repos/asf/apr/apr/trunk
src/srclib/apr-iconv
http://svn.apache.org/repos/asf/apr/apr-iconv/trunk
src/srclib/apr-util  http://svn.apache.org/repos/asf/apr/apr-util/trunk
src/srclib/zlib  https://svn.onresolve.com/contrib/tags/zlib-1.2.3.1
src/srclib/openssl
https://svn.onresolve.com/contrib/tags/openssl-0.9.8d.1
src/modules/contrib/mod_auth_sspi
https://svn.onresolve.com/contrib/tags/httpd-mod_auth_sspi-1.0.4-2.2.2.1
/src

Tell you what would be nice:
                 svn.apache.org/repos/asf/httpd/httpd/views/
                                 trunk/
                                 2.0.x/

Where each 'view' is simply an empty directory with the relevant svn
externals set for building that particular branch.  That way, all you'd
need to do to get a buildable trunk is:

svn co http://svn.apache.org/repos/asf/httpd/views/trunk


                 Trent.




---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

RE: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Trent Nelson <tn...@onresolve.com>.
> Here's how I build trunk:
> 
> $ mkdir -p apr/apr
> $ mkdir apr/apr-util
> $ mkdir -p httpd/trunk
> 
> $ cd apr/apr
> $ svn co http://svn.apache.org/repos/asf/apr/apr/trunk
> $ cd ../apr-util
> $ svn co http://svn.apache.org/repos/asf/apr/apr/trunk
> $ cd ../../httpd
> $ svn co http://svn.apache.org/repos/asf/httpd/httpd/trunk

> I'll be happy to push the above into a page under httpd.apache.org/
> dev as "here's how to build HEAD for testing" if folks think it
> useful. Or I may put it on my blog.

I find that svn externals can provide a useful alternative to the
approach you've mentioned:

F:\scm\svn\svn.onresolve.com\contrib\trunk\httpd\trunk>svn pl -v
Properties on '.':
  svn:externals :
src  http://svn.apache.org/repos/asf/httpd/httpd/trunk
src/srclib/apr  http://svn.apache.org/repos/asf/apr/apr/trunk
src/srclib/apr-iconv
http://svn.apache.org/repos/asf/apr/apr-iconv/trunk
src/srclib/apr-util  http://svn.apache.org/repos/asf/apr/apr-util/trunk
src/srclib/zlib  https://svn.onresolve.com/contrib/tags/zlib-1.2.3.1
src/srclib/openssl
https://svn.onresolve.com/contrib/tags/openssl-0.9.8d.1
src/modules/contrib/mod_auth_sspi
https://svn.onresolve.com/contrib/tags/httpd-mod_auth_sspi-1.0.4-2.2.2.1
/src

Tell you what would be nice:
	svn.apache.org/repos/asf/httpd/httpd/views/
		trunk/
		2.0.x/

Where each 'view' is simply an empty directory with the relevant svn
externals set for building that particular branch.  That way, all you'd
need to do to get a buildable trunk is:

svn co http://svn.apache.org/repos/asf/httpd/views/trunk


	Trent.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Sander Temme <sc...@apache.org>.
On Dec 20, 2006, at 9:52 AM, Benjamin Cuthbert wrote:

> Do you need to checkout head for apr and apr-util ?

Yes, they don't live in the httpd tree, but are their own thing.

Here's how I build trunk:

$ mkdir -p apr/apr
$ mkdir apr/apr-util
$ mkdir -p httpd/trunk

$ cd apr/apr
$ svn co http://svn.apache.org/repos/asf/apr/apr/trunk
$ cd ../apr-util
$ svn co http://svn.apache.org/repos/asf/apr/apr/trunk
$ cd ../../httpd
$ svn co http://svn.apache.org/repos/asf/httpd/httpd/trunk

Each of these checkouts will tell you the Subversion revision number.  
As I write this, that revision is 489175, and I'll use that in the  
example below. I generally try to make sure that I get the same  
revision for apr and apr-util.


 From the top:

$ cd apr/apr/trunk
$ ./buildconf
$ ./configure --prefix=/usr/local/apr-install/r489175
$ make
$ sudo make install
$ make clean

$ cd ../../apr-util/trunk
$ ./buildconf --with-apr=`pwd`/../../apr/trunk
$ ./configure --with-apr=/usr/local/apr-install/r489175/bin/apr-1- 
config \
    --prefix=/usr/local/apr-install/r489175
$ make
$ sudo make install
$ make clean

$ cd ../../../httpd/trunk
$ ./buildconf --with-apr=`pwd`/../../../apr/apr/trunk \
     --with-apr-util=`pwd`/../../../apr/apr-util/trunk
$ ./configure --prefix=/wherever/you/want/it \
    --with-apr=/usr/local/apr-install/r489175/bin/apr-1-config \
    --with-apr-util=/usr/local/apr-install/r489175/apu-1-config \
    --with-whatever-options-you-want-probably-proxy-stuff
$ make
$ make install
$ make clean

I find that keeping APR built and installed cuts down wonderfully on  
httpd build time. This is especially nice if you are on an old and  
slow Powerbook, and only interested in hacking/testing httpd. By  
installing under the svn revision number, you can keep as many copies  
of APR around as you want.

Note that buildconf needs to know where the *source* of APR and APR- 
Util are, because it needs to copy in some m4 scripts from these  
directories. The configure scripts need the *install* location of the  
libraries.

I'll be happy to push the above into a page under httpd.apache.org/ 
dev as "here's how to build HEAD for testing" if folks think it  
useful. Or I may put it on my blog.

S.

-- 
sctemme@apache.org            http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF



Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Benjamin Cuthbert <be...@db.com>.
Do you need to checkout head for apr and apr-util ?





Sander Temme <sc...@apache.org> 
12/20/2006 04:06 PM
Please respond to
dev@httpd.apache.org


To
dev@httpd.apache.org
cc

Subject
Re: Apache BUG: 36495  : ajp_proxy_connect_backend failure







On Dec 20, 2006, at 8:00 AM, Benjamin Cuthbert wrote:

> So i have checked out the trunk, but there was no configure file./..

Run ./buildconf from the checkout directory. You'll need to have 
tools like autoconf, libtool installed.

> I have copied the modules/proxy directory back into my 2.2.3 
> installation dir and then recompiled.

That might break things in horrible and confusing ways. Looks like 
that's exactly what happened for you.

S.

-- 
sctemme@apache.org            http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF






---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Sander Temme <sc...@apache.org>.
On Dec 20, 2006, at 8:00 AM, Benjamin Cuthbert wrote:

> So i have checked out the trunk, but there was no configure file./..

Run ./buildconf from the checkout directory. You'll need to have  
tools like autoconf, libtool installed.

> I have copied the modules/proxy directory back into my 2.2.3  
> installation dir and then recompiled.

That might break things in horrible and confusing ways. Looks like  
that's exactly what happened for you.

S.

-- 
sctemme@apache.org            http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF



Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Benjamin Cuthbert <be...@db.com>.
So i have checked out the trunk, but there was no configure file./.. I 
have copied the modules/proxy directory back into my 2.2.3 installation 
dir and then recompiled.

But i still get

Making install in mappers
Making install in support
gcc   -DSSL_EXPERIMENTAL -DSSL_ENGINE  -DSOLARIS2=10 
-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/pcre -I. 
-I/apps/exlink/SOURCES/httpd-2.2.3/os/unix 
-I/apps/exlink/SOURCES/httpd-2.2.3/server/mpm/prefork 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/http 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/filters 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/proxy 
-I/apps/exlink/SOURCES/httpd-2.2.3/include 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/generators 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/mappers 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/database 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr/include 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr-util/include 
-I/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr-util/xml/expat/lib 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/proxy/../generators 
-I/usr/sfw/include -I/apps/exlink/SOURCES/httpd-2.2.3/modules/ssl 
-I/apps/exlink/SOURCES/httpd-2.2.3/modules/dav/main -c 
/apps/exlink/SOURCES/httpd-2.2.3/server/buildmark.c
/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr/libtool --silent --mode=link 
gcc   -DSSL_EXPERIMENTAL -DSSL_ENGINE 
-L/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr-util/xml/expat/lib 
-L/usr/sfw/lib -R/usr/sfw/lib   -o httpd  modules.lo buildmark.o 
-export-dynamic server/libmain.la  modules/aaa/libmod_authn_file.la 
modules/aaa/libmod_authn_default.la modules/aaa/libmod_authz_host.la 
modules/aaa/libmod_authz_groupfile.la modules/aaa/libmod_authz_user.la 
modules/aaa/libmod_authz_default.la modules/aaa/libmod_auth_basic.la 
modules/filters/libmod_include.la modules/filters/libmod_filter.la 
modules/loggers/libmod_log_config.la modules/metadata/libmod_env.la 
modules/metadata/libmod_setenvif.la modules/proxy/libmod_proxy.la 
modules/proxy/libmod_proxy_connect.la modules/proxy/libmod_proxy_ftp.la 
modules/proxy/libmod_proxy_http.la modules/proxy/libmod_proxy_ajp.la 
modules/proxy/libmod_proxy_balancer.la modules/ssl/libmod_ssl.la 
modules/http/libmod_http.la modules/http/libmod_mime.la 
modules/generators/libmod_status.la modules/generators/libmod_autoindex.la 
modules/generators/libmod_asis.la modules/generators/libmod_cgi.la 
modules/mappers/libmod_negotiation.la modules/mappers/libmod_dir.la 
modules/mappers/libmod_actions.la modules/mappers/libmod_userdir.la 
modules/mappers/libmod_alias.la modules/mappers/libmod_rewrite.la 
modules/mappers/libmod_so.la  server/mpm/prefork/libprefork.la 
os/unix/libos.la -lm 
/apps/exlink/SOURCES/httpd-2.2.3/srclib/pcre/libpcre.la 
/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr-util/libaprutil-1.la 
/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr-util/xml/expat/lib/libexpat.la 
/apps/exlink/SOURCES/httpd-2.2.3/srclib/apr/libapr-1.la -luuid -lsendfile 
-lrt -lsocket -lnsl -lpthread
Undefined                       first referenced
 symbol                             in file
ap_get_server_description 
modules/proxy/.libs/libmod_proxy_balancer.a(mod_proxy_balancer.o)
ap_get_server_banner 
modules/proxy/.libs/libmod_proxy_connect.a(mod_proxy_connect.o)
ajp_handle_cping_cpong 
modules/proxy/.libs/libmod_proxy_ajp.a(mod_proxy_ajp.o)
ld: fatal: Symbol referencing errors. No output written to .libs/httpd
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `httpd'
Current working directory /apps/exlink/SOURCES/httpd-2.2.3
*** Error code 1
The following command caused the error:
otarget=`echo install-recursive|sed s/-recursive//`; \
list='  srclib os server modules support'; \
for i in $list; do \
    if test -d "$i"; then \
        target="$otarget"; \
        echo "Making $target in $i"; \
        if test "$i" = "."; then \
                made_local=yes; \
                target="local-$target"; \
        fi; \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test "$otarget" = "all" && test -z 'httpd  '; then \
    made_local=yes; \
fi; \
if test "$made_local" != "yes"; then \
    make "local-$otarget" || exit 1; \
fi
make: Fatal error: Command failed for target `install-recursive'






Mladen Turk <mt...@apache.org> 
11/07/2006 08:18 AM
Please respond to
dev@httpd.apache.org


To
dev@httpd.apache.org
cc

Subject
Re: Apache BUG: 36495  : ajp_proxy_connect_backend failure






Benjamin Cuthbert wrote:
> 
> 
> http://issues.apache.org/bugzilla/show_bug.cgi?id=36495
> 
> Does anyone know if this bug was fixed ?
>

It is in the trunk, where there is alternative socket
is_connected detection.
Can you check the trunk, or at least copy the new
is_socket_connected from tunk's proxy_util.c to the
2.2.x and see if it works.

I have tested the new implementation on Solaris, and it works fine.
Without that the closed socket by Tomcat is not detected on most
platforms.

Regards,
Mladen.




---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Mladen Turk <mt...@apache.org>.
Benjamin Cuthbert wrote:
> 
> 
> http://issues.apache.org/bugzilla/show_bug.cgi?id=36495
> 
> Does anyone know if this bug was fixed ?
>

It is in the trunk, where there is alternative socket
is_connected detection.
Can you check the trunk, or at least copy the new
is_socket_connected from tunk's proxy_util.c to the
2.2.x and see if it works.

I have tested the new implementation on Solaris, and it works fine.
Without that the closed socket by Tomcat is not detected on most
platforms.

Regards,
Mladen.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Ruediger Pluem <rp...@apache.org>.
On 11/08/2006 10:28 PM, Ruediger Pluem wrote:
> 
> On 11/08/2006 08:18 AM, Benjamin Cuthbert wrote:
> 
>>This happens when i have one connection to the tomcat jboss server. 
> 
> 
> Sorry for a possible confusion I might create. As the patch Mladen talks about
> was backported today you can checkout the latest 2.2.x branch via
> svn export http://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x httpd-2.2.x

Argh. Sorry I confused some patches. Forget about what I just said. This code is only
in trunk. Sorry for the confusiion created.

Regards

Rüdiger


Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Ruediger Pluem <rp...@apache.org>.

On 11/08/2006 08:18 AM, Benjamin Cuthbert wrote:
> This happens when i have one connection to the tomcat jboss server. 

Sorry for a possible confusion I might create. As the patch Mladen talks about
was backported today you can checkout the latest 2.2.x branch via
svn export http://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x httpd-2.2.x

With this you are closer to what you actual use with 2.2.0 then with the trunk.

And 2.2.4 does not seem to be far away :-).

Regards

Rüdiger


Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Benjamin Cuthbert <be...@db.com>.
This happens when i have one connection to the tomcat jboss server. 

Regards

Ben Cuthbert
Deutsche Bank AG
Corporate & Investment Bank
GTO : TISO / Arch Global Finance / Prime Services
PGP: http://pgp.mit.edu
+44 (0) 20 754 76389 (Tel)
+44 (0) 20 754 74996 (Fax)



Rainer Jung <ra...@kippdata.de> 
11/07/2006 09:51 PM
Please respond to
dev@httpd.apache.org


To
dev@httpd.apache.org
cc

Subject
Re: Apache BUG: 36495  : ajp_proxy_connect_backend failure






Hi,

adding to Mladens advice: is it possible, that you are trying to produce
more connections, than configured worker threads on your tomcat connector?

Does the error only show up under high load?
How many connections to 1.1.1.2:8009 in which state do you have, when
the error appears?

netstat -an | fgrep '1.1.1.2.8009' | \
awk '{print $NF}' | sort | uniq -c

How do these numbers relate to the number of threads configured in the
connector elements of your tomcats server.xml?

Regards,

Rainer

Benjamin Cuthbert schrieb:
> 
> All
> 
> I have apache 2.2.0 setup on Solaris and i am running into the same
> issues as the bug here, any had any updates on this.
> 
> http://issues.apache.org/bugzilla/show_bug.cgi?id=36495
> 
> 
> Error i get is:
> 
> [Mon Nov 06 16:35:35 2006] [error] proxy: AJP: failed to make connection
> to backend: 1.1.1.2
> [Mon Nov 06 16:36:35 2006] [error] (146)Connection refused: proxy: AJP:
> attempt to connect to 1.1.1.2:8009 (1.1.1.2) failed
> [Mon Nov 06 16:36:35 2006] [error] ap_proxy_connect_backend disabling
> worker for (1.1.1.2)
> [Mon Nov 06 16:36:35 2006] [error] proxy: AJP: failed to make connection
> to backend: 1.1.1.2
> 
> Does anyone know if this bug was fixed ?
> 
> 
> ---
> 
> This e-mail may contain confidential and/or privileged information. If 
you
> are not the intended recipient (or have received this e-mail in error)
> please notify the sender immediately and destroy this e-mail. Any
> unauthorized copying, disclosure or distribution of the material in this
> e-mail is strictly forbidden.




---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

Re: Apache BUG: 36495 : ajp_proxy_connect_backend failure

Posted by Rainer Jung <ra...@kippdata.de>.
Hi,

adding to Mladens advice: is it possible, that you are trying to produce
more connections, than configured worker threads on your tomcat connector?

Does the error only show up under high load?
How many connections to 1.1.1.2:8009 in which state do you have, when
the error appears?

netstat -an | fgrep '1.1.1.2.8009' | \
awk '{print $NF}' | sort | uniq -c

How do these numbers relate to the number of threads configured in the
connector elements of your tomcats server.xml?

Regards,

Rainer

Benjamin Cuthbert schrieb:
> 
> All
> 
> I have apache 2.2.0 setup on Solaris and i am running into the same
> issues as the bug here, any had any updates on this.
> 
> http://issues.apache.org/bugzilla/show_bug.cgi?id=36495
> 
> 
> Error i get is:
> 
> [Mon Nov 06 16:35:35 2006] [error] proxy: AJP: failed to make connection
> to backend: 1.1.1.2
> [Mon Nov 06 16:36:35 2006] [error] (146)Connection refused: proxy: AJP:
> attempt to connect to 1.1.1.2:8009 (1.1.1.2) failed
> [Mon Nov 06 16:36:35 2006] [error] ap_proxy_connect_backend disabling
> worker for (1.1.1.2)
> [Mon Nov 06 16:36:35 2006] [error] proxy: AJP: failed to make connection
> to backend: 1.1.1.2
> 
> Does anyone know if this bug was fixed ?
> 
> 
> ---
> 
> This e-mail may contain confidential and/or privileged information. If you
> are not the intended recipient (or have received this e-mail in error)
> please notify the sender immediately and destroy this e-mail. Any
> unauthorized copying, disclosure or distribution of the material in this
> e-mail is strictly forbidden.