You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Jonathan Leto <jo...@leto.net> on 2000/09/03 05:53:16 UTC

[OT] mod_rewrite hang

If anybody could give me some insight on the problem I am having,
it would be greatly appreciated. I have been working on this all day,
and I just can't get past this roadblock.

Situation: Using mod_rewrite's RewriteMap functionality with an
external rewrite rewrite map ( a perl script ). 
Tested on 3 Linux 2.2/Apache 1.3.12 webservers. Two act exactly as they
should, and one waits *exactly* 3 minutes, then does what it should.

Details:

Apache Config:

RewriteLock	/var/lock/findurl.lock
RewriteEngine on
RewriteLog      /www/logs/rewrite
RewriteMap    find   prg:/www/bin/findurl.pl
RewriteLogLevel 3 
RewriteRule     ^(/~.*) ${find:$1:%{SERVER_PORT}}

findurl.pl finds content on other webservers and rewrites the url.

This works perfectly on 2 of my webservers, and on one it just hangs for 3 minutes.

mod_rewrite takes 3 minutes:
192.x.x.x - - [02/Sep/2000:22:05:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (2) init rewrite engine with requested uri /~asdf/
192.x.x.x - - [02/Sep/2000:22:05:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (3) applying pattern '^(/~.*)' to uri '/~asdf/'
192.x.x.x - - [02/Sep/2000:22:08:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (2) rewrite /~asdf/ -> http://www2.tlink.net/~asdf/
192.x.x.x - - [02/Sep/2000:22:08:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (2) implicitly forcing redirect (rc=302) with http://www2.tlink.net/~asdf/
192.x.x.x - - [02/Sep/2000:22:08:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (1) escaping http://www2.tlink.net/~asdf/ for redirect
192.x.x.x - - [02/Sep/2000:22:08:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (1) redirect to http://www2.tlink.net/~asdf/ [REDIRECT/302]

192.x.x.x - - [02/Sep/2000:23:28:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (2) init rewrite engine with requested uri /~pleasework/
192.x.x.x - - [02/Sep/2000:23:28:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (3) applying pattern '^(/~.*)' to uri '/~pleasework/'
192.x.x.x - - [02/Sep/2000:23:31:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (2) rewrite /~pleasework/ -> http://www2.tlink.net/~pleasework/
192.x.x.x - - [02/Sep/2000:23:31:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (2) implicitly forcing redirect (rc=302) with http://www2.tlink.net/~pleasework/
192.x.x.x - - [02/Sep/2000:23:31:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (1) escaping http://www2.tlink.net/~pleasework/ for redirect
192.x.x.x - - [02/Sep/2000:23:31:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (1) redirect to http://www2.tlink.net/~pleasework/ [REDIRECT/302]

The hanging occurs before it even gets to my perl script, which has me stumped.

All servers are Apache 1.3.12, Linux 2.2, perl 5.005_03.

Can anybody help?

-- 
jonathan@leto.net 
"With pain comes clarity."



Re: [OT] mod_rewrite hang

Posted by David Hodgkinson <da...@hodgkinson.org>.
Jonathan Leto <jo...@leto.net> writes:

> Thanks for the people who tried to help, but it doesn't seem to
> be a DNS timeout. When using the following code, it still hangs:
> 
> #!/usr/bin/perl -w
> 
> use strict;
> $|++;
> 
> while(<>){
>         print "$_\n";
> }

strace the server under 'httpd -X'


-- 
Dave Hodgkinson,                             http://www.hodgkinson.org
Editor-in-chief, The Highway Star           http://www.deep-purple.com
      Apache, mod_perl, MySQL, Sybase hired gun for, well, hire
  -----------------------------------------------------------------

Re: [OT] mod_rewrite hang

Posted by Jonathan Leto <jo...@leto.net>.
Thanks for the people who tried to help, but it doesn't seem to
be a DNS timeout. When using the following code, it still hangs:

#!/usr/bin/perl -w

use strict;
$|++;

while(<>){
        print "$_\n";
}

Any other suggestions?

 Jonathan Leto (jonathan@leto.net) was saying:

> If anybody could give me some insight on the problem I am having,
> it would be greatly appreciated. I have been working on this all day,
> and I just can't get past this roadblock.
> 
> Situation: Using mod_rewrite's RewriteMap functionality with an
> external rewrite rewrite map ( a perl script ). 
> Tested on 3 Linux 2.2/Apache 1.3.12 webservers. Two act exactly as they
> should, and one waits *exactly* 3 minutes, then does what it should.
> 
> Details:
> 
> Apache Config:
> 
> RewriteLock	/var/lock/findurl.lock
> RewriteEngine on
> RewriteLog      /www/logs/rewrite
> RewriteMap    find   prg:/www/bin/findurl.pl
> RewriteLogLevel 3 
> RewriteRule     ^(/~.*) ${find:$1:%{SERVER_PORT}}
> 
> findurl.pl finds content on other webservers and rewrites the url.
> 
> This works perfectly on 2 of my webservers, and on one it just hangs for 3 minutes.
> 
> mod_rewrite takes 3 minutes:
> 192.x.x.x - - [02/Sep/2000:22:05:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (2) init rewrite engine with requested uri /~asdf/
> 192.x.x.x - - [02/Sep/2000:22:05:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (3) applying pattern '^(/~.*)' to uri '/~asdf/'
> 192.x.x.x - - [02/Sep/2000:22:08:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (2) rewrite /~asdf/ -> http://www2.tlink.net/~asdf/
> 192.x.x.x - - [02/Sep/2000:22:08:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (2) implicitly forcing redirect (rc=302) with http://www2.tlink.net/~asdf/
> 192.x.x.x - - [02/Sep/2000:22:08:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (1) escaping http://www2.tlink.net/~asdf/ for redirect
> 192.x.x.x - - [02/Sep/2000:22:08:27 -0400] [www.tlink.net/sid#82d6724][rid#83dc41c/initial] (1) redirect to http://www2.tlink.net/~asdf/ [REDIRECT/302]
> 
> 192.x.x.x - - [02/Sep/2000:23:28:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (2) init rewrite engine with requested uri /~pleasework/
> 192.x.x.x - - [02/Sep/2000:23:28:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (3) applying pattern '^(/~.*)' to uri '/~pleasework/'
> 192.x.x.x - - [02/Sep/2000:23:31:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (2) rewrite /~pleasework/ -> http://www2.tlink.net/~pleasework/
> 192.x.x.x - - [02/Sep/2000:23:31:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (2) implicitly forcing redirect (rc=302) with http://www2.tlink.net/~pleasework/
> 192.x.x.x - - [02/Sep/2000:23:31:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (1) escaping http://www2.tlink.net/~pleasework/ for redirect
> 192.x.x.x - - [02/Sep/2000:23:31:25 -0400] [www.tlink.net/sid#82f6c8c][rid#83fa96c/initial] (1) redirect to http://www2.tlink.net/~pleasework/ [REDIRECT/302]
> 
> The hanging occurs before it even gets to my perl script, which has me stumped.
> 
> All servers are Apache 1.3.12, Linux 2.2, perl 5.005_03.
> 
> Can anybody help?
> 
> -- 
> jonathan@leto.net 
> "With pain comes clarity."
> 
> 

-- 
jonathan@leto.net 
"With pain comes clarity."