I'm in need of some ideas!
I have a spinning mod_perl process. I installed a
$SIG{USR2} = \&Carp::confess;
handler and it pointed to this line:
$cnt++ while $query->{query} =~ /(?:^|\s)[("]*\S$size\*/g;
which was suppose to count how many wildcards (words ending with '*') of a
given length were in the query.
So I changed it to this to see if that would help:
while ( $query->{query} =~ /(?:^|\s)[("]*(\S+)\*/g ) {
$wilds{ length $1 }++;
}
But it still spins and kill -USR2 reports that new line.
On the production machine (Sun 5.6) I can spin the process any time I try a
request with a wild card "*". Taking the httpd.conf and just changing the
port number I've been able to make it spin only once after many many
attempts. I have not been able to make it happen on my development
machine, but it's running perl 5.6 instead of 5.00503. Mod_perl 1.24 of
course.
Any idea on how to find out the reason for the spinning (if I can make it
happen again)?
I had a similar problem with a regexp spinning about a year ago running on
5.005_02 on this same machine that was fixed by upgrading to the currently
running 5.005_03.
see: http://x66.deja.com/viewthread.xp?AN=557820602
Bill Moseley
mailto:[EMAIL PROTECTED]