Mailing List Archive

[mod_backhand-users] Questions about 1.1.0 install
I got around to toying with 1.1.0 this evening on my development
cluster and ran into a couple of problems....

First of all, I didn't really want to recompile apache, so I used apxs
to generate mod_backhand.so and moved it into my libexec directory.
(this has worked fine for me in the past when replacing 1.0.9 with a
slightly tweaked 1.0.9)

% /full/path/to/apache/bin/apxs -c -o mod_backhand.so apue.c arriba.c \
back_util.c builtins.c mod_backhand.c
% cp mod_backhand.so /full/path/to/apache/libexec
( I also generated byHostname.so, but it was identical to my old one)

After stopping and starting apache, things looked OK at first because
the /backhand-status page page loaded fine, looked reasonable, listed
my other machines (running 1.0.9), and displayed the new 1.1.0
version.

However, I tried to pull a few other pages, and about 10% failed
with the following error messages.

[Fri Sep 8 03:59:35 2000] [notice] Func executed for (null)
[libexec/byHostname.so::byHostname(host)] (6 -> 1)
[Fri Sep 8 03:59:35 2000] [notice] All funcs executed -> host.domain.com
[Fri Sep 8 03:59:35 2000] [error] (9)Bad file descriptor:
mod_backhand: MBCSP error (making request)
[Fri Sep 8 03:59:35 2000] [error] [client 192.168.1.99] File does not
exist: /path/to/docroot/test.html
[Fri Sep 8 03:59:35 2000] [error] mod_backhand: could not get valid
connection -- forced local

(Note: The same page would alternate between failing and succeeding)

So, my questions are two fold:

1.) Is there anything obviously wrong with using apxs the way I
did? In theory should it have worked, or is there some obvious
reason I need to upgrade differently?

2.) What do 'MBCSP error (making request)' and 'could not get valid
connection' mean? Keep in mind, I'm using mod_backhand on port 80
to proxy connections to mod_perl on port 81. (this is why
I get the "File not Found" error, mod_proxy can't find the
file because its in mod_perl's docroot)

I've diffed the source code, and none of the new changes seem like
they'd cause this... This makes me think it was the way I installed
it...

I'm willing to dig a deeper into it, but thought I'd get a bit more
information before I dive in.

-Blake
[mod_backhand-users] Questions about 1.1.0 install [ In reply to ]
"Blake D. Mills IV" wrote:
>
> I got around to toying with 1.1.0 this evening on my development
> cluster and ran into a couple of problems....
>
> [ ... snip ... ]
>
> However, I tried to pull a few other pages, and about 10% failed
> with the following error messages.
>
> [Fri Sep 8 03:59:35 2000] [notice] Func executed for (null)
> [libexec/byHostname.so::byHostname(host)] (6 -> 1)
> [Fri Sep 8 03:59:35 2000] [notice] All funcs executed -> host.domain.com
> [Fri Sep 8 03:59:35 2000] [error] (9)Bad file descriptor:
> mod_backhand: MBCSP error (making request)
> [Fri Sep 8 03:59:35 2000] [error] [client 192.168.1.99] File does not
> exist: /path/to/docroot/test.html
> [Fri Sep 8 03:59:35 2000] [error] mod_backhand: could not get valid
> connection -- forced local
>
> (Note: The same page would alternate between failing and succeeding)
>
> So, my questions are two fold:
>
> 1.) Is there anything obviously wrong with using apxs the way I
> did? In theory should it have worked, or is there some obvious
> reason I need to upgrade differently?

There is a ./configure script that you can run like: ./configure
--with-apxs=/path/to/apxs
It should build you a make file that will build a libbackhand.so, you can jest
copy that overtop of your mod_backhand.so... But, what you did looks right.

> 2.) What do 'MBCSP error (making request)' and 'could not get valid
> connection' mean? Keep in mind, I'm using mod_backhand on port 80
> to proxy connections to mod_perl on port 81. (this is why
> I get the "File not Found" error, mod_proxy can't find the
> file because its in mod_perl's docroot)

MBCSP error making request means that the child Apache process could not talk
to the mod_backhand server process (forked at start up of Apache) to request
an open connection to the server it had chosen to redirect things to.

There errno string for the error trying write to the mod_bakchand daemon says
"Bad Filedescriptor". Make sure that the permissions on your UnixSocketDir
haven't changes and that the apache user can read and write there.

Perhaps the mod_backhand daemon is not running (segafulted or something after
it forked off) or maybe it ran out of file descriptors? Depending on how big
your cluster is, this is possible.

I have been unable to replicate this problem here, but I will continue trying.

> I've diffed the source code, and none of the new changes seem like
> they'd cause this... This makes me think it was the way I installed
> it...

Maybe... I just got another email with similar problems though.

--
Theo Schlossnagle
1024D/A8EBCF8F/13BD 8C08 6BE2 629A 527E 2DC2 72C2 AD05 A8EB CF8F
2047R/33131B65/71 F7 95 64 49 76 5D BA 3D 90 B9 9F BE 27 24 E7