Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Intermittent problem with .pl interface in I.E. 1

Status
Not open for further replies.

PaulReed

Technical User
Jun 15, 2008
61
US
This is a summary of everything I've done to date and the errors that are being recieved.

1) I had to upgrade perl from 5.8.0 to 5.8.8.

2) Then I had problems with some of the Perl Modules calling on a problem with mod_perl.

3) I did a DSO mod_perl install which was successful.

4) I was able to finish installing the Perl Modules.

5) I'm getting this error in my log files...
[error] panic: DBI active kids (5) > kids (2) at /us$
Use of uninitialized value in concatenation (.) or string at /home/fum/lib/i/er$
i::error::report('panic: DBI active kids (6) > kids (2) at /usr/lib/per$
i::error::die('panic: DBI active kids (6) > kids (2) at /usr/lib/perl5/$
DBD::mysql::dr::connect('DBI::dr=HASH(0x9c1c538)','mysql_read_default_f$
Apache::DBI::connect('undef','mysql_read_default_file=/home/fum/conf/my$
DBI::__ANON__('undef','undef') called at /usr/lib/perl5/site_perl/5.8.0$
DBI::connect('DBI','dbi:mysql:mysql_read_default_file=/home/fum/conf/my$
i::db::make_db_conn() called at /home/fum/lib/i/db.pm line 58
i::db::connect() called at /home/fum/lib/i/web.pm line 50
i::web::init() called at /home/fum/ line 4
Apache::ROOT::_35xx_2epl::handler('Apache=SCALAR(0x9c72ee8)') called at$
eval {...} called at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-m$
Apache::Registry::handler('Apache=SCALAR(0x9c72ee8)') called at /dev/nu$
eval {...} called at /dev/null line 0

6) Along with the intermittent problem in my browser with with the interface coming up just fine then hitting my refresh button and getting this...

Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /members/login.pl.

Reason: Document contains no data

7) This is the results of crontab -l

30 4 * * 0 /usr/sbin/logrotate -f /home/fum/logs/logrotate.conf
0 4 * * 0 /usr/sbin/ntpdate ntp1.sf-bay.org; hwclock --systohc
30 * * * * cd /home/fum/lib && ./gen_webstats.sh > /dev/null

In my log files...
-bash: line 1: cd: /home/fum/conf/webstats/: No such file or directory

**gen_webstats.sh**
#!/bin/bash

source ../conf/conf.sh

su - $FUM_USER -c "cd ~/conf/webstats/ && webalizer"

cd $FUM_HOME/awstats/ && \
../../tools/awstats_buildstaticpages.pl -config=fum -update -dir=$FUM_HOME/
 
Please keep in mind I'm very new at this but can anyone tell me, shouldn't it be parsing 5.8.8 instead of 5.8.0 considering I upgraded perl to 5.8.8 and mod_perl was upgraded to 1.30 and it's still referencing mod_perl/1.29?

Thanks.

Here's a recent error...

Error: panic: DBI active kids (3) > kids (2) at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DBD/mysql.pm line 142.

Trace:
at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DBD/mysql.pm line 142
DBD::mysql::dr::connect('DBI::dr=HASH(0xa808538)','mysql_read_default_file=/home/fum/conf/mysql.conf;mysql_read_...','','','HASH(0xa844ffc)') called at /usr/lib/perl5/site_perl/5.8.0/Apache/DBI.pm line 188
Apache::DBI::connect('undef','mysql_read_default_file=/home/fum/conf/mysql.conf;mysql_read_...','','','HASH(0xa844ffc)') called at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DBI.pm line 638
DBI::__ANON__('undef','undef') called at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DBI.pm line 706
DBI::connect('DBI','dbi:mysql:mysql_read_default_file=/home/fum/conf/mysql.conf;m...','','','HASH(0xa844f18)') called at /home/fum/lib/i/db.pm line 21
i::db::make_db_conn() called at /home/fum/lib/i/db.pm line 58
i::db::connect() called at /home/fum/lib/i/web.pm line 50
i::web::init() called at /home/fum/ line 5
Apache::ROOT::members::login_2epl::handler('Apache=SCALAR(0xa80dd04)') called at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Apache/Registry.pm line 149
eval {...} called at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Apache/Registry.pm line 149
Apache::Registry::handler('Apache=SCALAR(0xa80dd04)') called at /dev/null line 0
eval {...} called at /dev/null line 0


SCRIPT_NAME: /members/login.pl
SERVER_NAME: blackened
SERVER_ADMIN: root@mxexpress.net
HTTP_ACCEPT_ENCODING: gzip, deflate
HTTP_X_FORWARDED_SERVER: mxexpress.net
HTTP_CONNECTION: close
REQUEST_METHOD: GET
SCRIPT_URI: HTTP_ACCEPT: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
SCRIPT_FILENAME: /home/fum/HTTP_UA_CPU: x86
SERVER_SOFTWARE: Apache
DBI_AUTOPROXY:
TZ: 0
QUERY_STRING:
REMOTE_PORT: 32911
HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Comcast Install 1.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
SERVER_SIGNATURE: <ADDRESS>Apache/1.3.33 Server at blackened Port 81</ADDRESS>

SERVER_PORT: 81
HTTP_ACCEPT_LANGUAGE: en-us
REMOTE_ADDR: 127.0.0.2
SERVER_PROTOCOL: HTTP/1.1
HTTP_X_FORWARDED_HOST: mxexpress.net
HTTP_X_FORWARDED_FOR: 68.61.231.153
PATH: /bin:/usr/bin
REQUEST_URI: /members/login.pl
GATEWAY_INTERFACE: CGI-Perl/1.1
SERVER_ADDR: 127.0.0.2
SCRIPT_URL: /members/login.pl
DOCUMENT_ROOT: /home/fum/www
HTTP_HOST: blackened:81
MOD_PERL: mod_perl/1.29
 
Where is perl pointing to at the top of you script? Normally it points to a generic link like #!/usr/bin/perl which will then point to the version of perl you want to use. Makes it easy to switch to a new version and fail back if needed.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[noevil]
Travis - Those who say it cannot be done are usually interrupted by someone else doing it; Give the wrong symptoms, get the wrong solutions;
 
Thanks Travs69 for responding... Please keep in mind I don't really understand most of what the scripts installed.

Below is how everything is now, but when I first installed MySQL, Apache, Mod_Perl and the Perl Modules, I was running Perl 5.8.0 and I run into problems with some of the Apache Perl Modules and it was suggsted to me to upgrade to Perl 5.8.8 and create a "ln" to the new Perl directory.

After I upgraded to Perl 5.8.8...
1) I Did Not reinstall MySQL, DBD-mysql-2.9004, gd-2.0.33, and pcre-5.0 which I did initially via the scripts with Perl 5.8.0.

2) I Did reinstall Apache, Mod_perl and Perl Modules.


Script's path:
#!/usr/bin/perl -w


/usr/bin/ (I set a ln (not ln -s) on perl to point /usr/local/bin/perl)

-rwxr-xr-x 3 root root 931858 Aug 3 15:12 perl
-rwxr-xr-x 2 root root 12492 Jun 10 2006 perl5.8.0
-rwxr-xr-x 2 root root 12492 Jun 10 2006 perl-old

/usr/local/bin/
-rwxr-xr-x 3 root root 931858 Aug 3 15:12 perl
-rwxr-xr-x 3 root root 931858 Aug 3 15:12 perl5.8.8


Modules (I just searched for this one Module for example)

/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Bundle/DBD/mysql.pm
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DBD/mysql.pm

/usr/local/lib/perl5/site_perl/5.8.8/i686-linux/DBD/mysql.pm
/usr/local/lib/perl5/site_perl/5.8.8/i686-linux/Bundle/DBD/mysql.pm
 
if you do a ls -la what do you get. It should tell you where /usr/bin/perl is actually going to. The very top line any perl script should have have a #! line that will tell you where you are trying to locate perl at. Just follow that path till you find it pointing at the old version and change that to the 5.8.8 version.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[noevil]
Travis - Those who say it cannot be done are usually interrupted by someone else doing it; Give the wrong symptoms, get the wrong solutions;
 
I'm not sure I understand... where am I to do a ls -la ?

And... did you notice in my previous post...
Script's path:
#!/usr/bin/perl -w

And... that I did a symbolic link to Perl 5.8.8.

I'm wondering if the problem is that I used the old perl on some stuff and the new perl on others?

Thanks
 
If you did a sym link to 5.8.8 and everything is pointing to /usr/bin/perl then there should be no way anything is using 5.8.0. Have you checked and made sure everything is pointing to /usr/bin/perl? A lot of things default to /usr/local/bin/perl. I usually put in links for both to the current perl version.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[noevil]
Travis - Those who say it cannot be done are usually interrupted by someone else doing it; Give the wrong symptoms, get the wrong solutions;
 
After I upgraded to Perl 5.8.8...
1) I Did Not reinstall MySQL, DBD-mysql-2.9004, gd-2.0.33, and pcre-5.0 which I did initially via the scripts with Perl 5.8.0.

2) I Did reinstall Apache, Mod_perl and Perl Modules, after I upgraded to 5.8.8.

Thanks,
 
well your going to need to re-install all that stuff.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[noevil]
Travis - Those who say it cannot be done are usually interrupted by someone else doing it; Give the wrong symptoms, get the wrong solutions;
 
Thanks for responding Travs69.

I think you're right. But tell me are you saying that because I...

1) installed MySQL, DBD-mysql-2.9004, gd-2.0.33, and pcre-5.0 under Perl 5.8.0.

2) then reinstalled Apache, Mod_perl and the Perl Modules, after I upgraded to Perl 5.8.8...

that this is the conflict and my problem?

Thanks,
PaulReed


 
I am saying that if you upgrade to a new version of perl.. that you have to re-install all the modules.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[noevil]
Travis - Those who say it cannot be done are usually interrupted by someone else doing it; Give the wrong symptoms, get the wrong solutions;
 
Travs69,

When you say I have to reinstall all the modules... do you mean the Perl Modules, or are you calling MySQL etc. modules also? Keep in mind I'm new at this.

Thanks,
 
DBD-Mysql or sure, not sure about mod_perl but I would think so. I haven't done anything with mod_perl. Basically by perl modules I mean anything you got off of cpan.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[noevil]
Travis - Those who say it cannot be done are usually interrupted by someone else doing it; Give the wrong symptoms, get the wrong solutions;
 
I seems that most of my problems are with DBD and I didn't reinstall it after I upgraded to Perl 5.8.8.

Thank you for all your help, I really appeciate it.

One last thing Travis...

1) I'm going to do a clean slate with my O.S, after I upgrade to Perl 5.8.8 and I do a sybolic link from the old perl to the new, is thete a test I can do to make sure I'm ending up at the new Perl?

2) Is there a way I check to see if mysql4.0.23 is compatable with perl 5.8.8... or is this a non issue?

Thanks again,
 
it's not an issue. As long as DBD is compatible there's no worry about the mysql to perl compatibility. That's the great thing about using DBD. You can change your DB (mysql to postgresql, or oracle to mysql) with little to no changes to your perl scripts.

As long as all your scripts point to /usr/bin/perl and/or usr/local/bin/perl as long as you change that you will be hitting the new version. Occasionally I have someone who hard codes the full path to a specific perl distribution in their scripts. I normally just beat them till they quit doing it unless there is a very specific reason (like we upgraded and something isn't working with one script).

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[noevil]
Travis - Those who say it cannot be done are usually interrupted by someone else doing it; Give the wrong symptoms, get the wrong solutions;
 
I reinstalled my application but this time with Perl5.8.8 in place and everything went fine... especially all the Perl Modules were installed without an errors.

But the following error is still occurring intermittently in my browser. Also this error is produced when I hit my reload button, then if I hit it again the problem will go away. The only way to get rid of it for a time is to reboot the server.

I have read that rebuilding DBI and DBD is needed, but I thought that's what I just did by installing them via CPAN when I installed all the Modules?

This is the ongoing error...

Error: panic: DBI active kids (6) > kids (2) at /usr/local/lib/perl5/site_perl/5.8.8/i686-linux/DBD/mysql.pm line 142.

Trace:
at /usr/local/lib/perl5/site_perl/5.8.8/i686-linux/DBD/mysql.pm line 142
DBD::mysql::dr::connect('DBI::dr=HASH(0x9166b0c)', 'mysql_read_default_file=/home/fum/conf/mysql.conf;mysql_read_...', '', '', 'HASH(0x93d21a0)') called at /usr/local/lib/perl5/site_perl/5.8.8/Apache/DBI.pm line 188
Apache::DBI::connect('undef', 'mysql_read_default_file=/home/fum/conf/mysql.conf;mysql_read_...', '', '', 'HASH(0x93d21a0)') called at /usr/local/lib/perl5/site_perl/5.8.8/i686-linux/DBI.pm line 638
DBI::__ANON__('undef', 'undef') called at /usr/local/lib/perl5/site_perl/5.8.8/i686-linux/DBI.pm line 706
DBI::connect('DBI', 'dbi:mysql:mysql_read_default_file=/home/fum/conf/mysql.conf;m...', '', '', 'HASH(0x93d8a44)') called at /home/fum/lib/i/db.pm line 21
i::db::make_db_conn() called at /home/fum/lib/i/db.pm line 58
i::db::connect() called at /home/fum/lib/i/web.pm line 50
i::web::init() called at /home/fum/ line 4
Apache::ROOT::_35xx_2epl::handler('Apache=SCALAR(0x93abb70)') called at /usr/local/lib/perl5/site_perl/5.8.8/i686-linux/Apache/Registry.pm line 149
eval {...} called at /usr/local/lib/perl5/site_perl/5.8.8/i686-linux/Apache/Registry.pm line 149
Apache::Registry::handler('Apache=SCALAR(0x93abb70)') called at /dev/null line 0
eval {...} called at /dev/null line 0


REDIRECT_HTTP_X_FORWARDED_HOST: mxexpress.net
REDIRECT_REQUEST_URI: /members/login.pl
SCRIPT_NAME: /5xx.pl
REQUEST_METHOD: GET
HTTP_ACCEPT: */*
SCRIPT_FILENAME: /home/fum/REDIRECT_ERROR_NOTES: panic: DBI active kids (5) > kids (2) at /usr/local/lib/perl5/site_perl/5.8.8/i686-linux/DBD/mysql.pm line 142.

REDIRECT_SERVER_SOFTWARE: Apache
REMOTE_PORT: 32977
HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Comcast Install 1.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
REDIRECT_HTTP_CONNECTION: close
SERVER_SIGNATURE: <ADDRESS>Apache/1.3.33 Server at blackened Port 81</ADDRESS>

REDIRECT_REQUEST_METHOD: GET
REDIRECT_TZ: 0
REDIRECT_QUERY_STRING:
REDIRECT_HTTP_HOST: blackened:81
HTTP_ACCEPT_LANGUAGE: en-us
REDIRECT_SERVER_SIGNATURE: <ADDRESS>Apache/1.3.33 Server at blackened Port 81</ADDRESS>

REDIRECT_SCRIPT_URI: PATH: /bin:/usr/sbin:/usr/bin
GATEWAY_INTERFACE: CGI-Perl/1.1
SCRIPT_URL: /members/login.pl
HTTP_X_FORWARDED_SERVER: mxexpress.net
SCRIPT_URI: REDIRECT_SERVER_PORT: 81
REDIRECT_URL: /members/login.pl
REDIRECT_HTTP_ACCEPT_ENCODING: gzip, deflate
DBI_AUTOPROXY:
REDIRECT_HTTP_ACCEPT: */*
SERVER_PORT: 81
REDIRECT_STATUS: 500
REDIRECT_SCRIPT_NAME: /members/login.pl
SERVER_PROTOCOL: HTTP/1.1
HTTP_X_FORWARDED_HOST: mxexpress.net
REDIRECT_SERVER_NAME: blackened
REQUEST_URI: /members/login.pl
SERVER_ADDR: 127.0.0.2
REDIRECT_GATEWAY_INTERFACE: CGI-Perl/1.1
HTTP_HOST: blackened:81
REDIRECT_HTTP_ACCEPT_LANGUAGE: en-us
REDIRECT_HTTP_UA_CPU: x86
REDIRECT_HTTP_X_FORWARDED_FOR: 68.61.231.153
HTTP_UA_CPU: x86
SERVER_SOFTWARE: Apache
REDIRECT_REMOTE_ADDR: 127.0.0.2
QUERY_STRING:
REDIRECT_HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Comcast Install 1.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
REDIRECT_DOCUMENT_ROOT: /home/fum/www
REDIRECT_PATH: /bin:/usr/sbin:/usr/bin
DOCUMENT_ROOT: /home/fum/www
REDIRECT_SERVER_PROTOCOL: HTTP/1.1
SERVER_NAME: blackened
SERVER_ADMIN: root@mxexpress.net
HTTP_ACCEPT_ENCODING: gzip, deflate
HTTP_CONNECTION: close
REDIRECT_REMOTE_PORT: 32977
REDIRECT_SERVER_ADDR: 127.0.0.2
TZ: 0
REDIRECT_SERVER_ADMIN: root@mxexpress.net
REDIRECT_SCRIPT_URL: /members/login.pl
REMOTE_ADDR: 127.0.0.2
HTTP_X_FORWARDED_FOR: 68.61.231.153
REDIRECT_HTTP_X_FORWARDED_SERVER: mxexpress.net
REDIRECT_SCRIPT_FILENAME: /home/fum/MOD_PERL: mod_perl/1.29
 
You should post your login.pl .. possibly you have something weird hanging up the db connection. Do you see anything in the DB logs or the apache logs. I just don't know if we have enough info to troubleshoot on what you've given us.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[noevil]
Travis - Those who say it cannot be done are usually interrupted by someone else doing it; Give the wrong symptoms, get the wrong solutions;
 
Hi Travis,
I haven't looked that those yet... there is a section in my application install files called DBD-mysql-2.9004, maybe something is going on there too?

How would you like to come on my server and take a look... for a fee of course. If so how can we get a hold of each other?

Thanks
 
****LOGIN.PL****

#!/usr/bin/perl -w
use strict;
use warnings;
use i::web;
i::web::init();
use i::display;
use i::type;
use i::conf;
use fum::client;

my $msg = '';
my $client_status = -1; # no such client
if ( $formOp ) {FD:{
if ( $formOp eq 'op_login' ) {
if ( defined $FORM->{curr_login} and length $FORM->{curr_login} and
defined $FORM->{client_login} and $FORM->{curr_login} eq $FORM->{client_login} and
defined $FORM->{curr_passwd} and 0 == length($FORM->{curr_passwd}) ) { # use existing client
#print STDERR "using existing client\n";
redirect ( '/members/' );
}

my $client;
($client, $client_status) = fum::client::client_login ( $FORM->{client_login} || undef,
$FORM->{client_passwd} || undef );

if ( defined $client and $client == 1 ) {
#print STDERR "client=1, client_status=$client_status, redirecting\n";
redirect ( ' . $conf{workservers}{$client_status}{host} . '/members/login.pl',
[ op_login => 1,
client_login => $FORM->{client_login},
client_passwd => $FORM->{client_passwd} ] );
}
if ( not defined $client or ($client_status != fum::client::NEW and $client_status != fum::client::ACTIVE) ) {
$msg = "Login failed.";
last FD;
}

$client->session->{campaign_id} = $FORM->{campaign_id} if check ( $FORM->{campaign_id}, 'int' );

redirect ( '/members/' );
}
}}

my $client = fum::client::get_client();
display ( 'shell1.html',
{ main_part => 'members/login.html',
msg => $msg,
client_status => $client_status,
curr_login => defined $client ? $client->login : '',
} );
--------------------------------
/etc/httpd/logs/error_log

[Fri Aug 15 00:30:02 2008] [notice] Apache configured -- resuming normal operations
[Fri Aug 15 00:30:02 2008] [notice] suEXEC mechanism enabled (wrapper: /etc/httpd/bin/suexec)
[Fri Aug 15 00:30:02 2008] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Fri Aug 15 00:59:00 2008] [notice] caught SIGTERM, shutting down
[Fri Aug 15 01:01:18 2008] [notice] Apache configured -- resuming normal operations
[Fri Aug 15 01:01:18 2008] [notice] suEXEC mechanism enabled (wrapper: /etc/httpd/bin/suexec)
[Fri Aug 15 01:01:18 2008] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Fri Aug 15 02:25:50 2008] [notice] caught SIGTERM, shutting down
[Fri Aug 15 02:28:08 2008] [notice] Apache configured -- resuming normal operations
[Fri Aug 15 02:28:08 2008] [notice] suEXEC mechanism enabled (wrapper: /etc/httpd/bin/suexec)
[Fri Aug 15 02:28:08 2008] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Fri Aug 15 02:41:32 2008] [notice] caught SIGTERM, shutting down
[Fri Aug 15 02:43:49 2008] [notice] Apache configured -- resuming normal operations
[Fri Aug 15 02:43:49 2008] [notice] suEXEC mechanism enabled (wrapper: /etc/httpd/bin/suexec)
[Fri Aug 15 02:43:49 2008] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Fri Aug 15 03:10:56 2008] [notice] caught SIGTERM, shutting down
[Fri Aug 15 03:13:15 2008] [notice] Apache configured -- resuming normal operations
[Fri Aug 15 03:13:15 2008] [notice] suEXEC mechanism enabled (wrapper: /etc/httpd/bin/suexec)
[Fri Aug 15 03:13:15 2008] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Fri Aug 15 16:45:52 2008] [error] [client 222.187.221.3] File does not exist: /etc/httpd/htdocs/prx1.php
[Fri Aug 15 16:45:52 2008] [error] [client 222.187.221.3] File does not exist: /etc/httpd/htdocs/prx1.php
--------------------------------
The only mysql log file I know of is the .err file. It's very small is that the one you want?

Thank you...
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top