jcallery

Well-Known Member
Aug 25, 2003
50
0
156
Hello,
All of our clients have noticed that on our servers, the stats have stopped working. I've tried updating everything and have done basic troubleshooting, but have had no luck. I tried running /scripts/runlogsnow and I got the following error:

(internal death) Wed Dec 7 01:06:38 2005 [28249] error: Modification of a read-only value attempted at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DBI.pm line 279.
eval {...} called at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DBI.pm line 276
require DBI.pm called at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DBD/mysql.pm line 7
DBD::mysql::BEGIN() called at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/Scalar/Util.pm line 0
eval {...} called at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/Scalar/Util.pm line 0
require DBD/mysql.pm called at /usr/local/cpanel/cpanellogd line 60
main::BEGIN() called at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/Scalar/Util.pm line 0
eval {...} called at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/Scalar/Util.pm line 0
[a fatal error or timeout occurred while processing this directive]==> WARNING: configured processor count does not match
==> actual processor count (1)! Running stats programs
==> on this system may cause excessive load!


Can anyone tell me what is causing this? It stated about a week ago and is not isolated on any specific server.


Thank you!
 

jcallery

Well-Known Member
Aug 25, 2003
50
0
156
Also - in tweak settings I've bumped the server load up for the stats - even though the server loads are generally very low - but this hasn't done anything, either.


Thanks!
 

jcallery

Well-Known Member
Aug 25, 2003
50
0
156
Hi everyone,
The stat's are still not working on our end - and we are still getting that error.

Does anyone have any idea as to what is causing this?


Thanks!
 

forlinuxsupport

Well-Known Member
PartnerNOC
Dec 22, 2004
386
0
166
cPanel Access Level
Root Administrator
hey

might be a permissions thing on a file it uses ..
have a look in the perl code at the line it tells you, chances are it will have a filename listed there :)

check the apache logs have propper permissions and readable by all (/usr/local/apache/domlogs).

open a support request with cpanel, they can log on and have a look and fix it :)

cheers
andy
 

cgarvey

Member
Jul 28, 2003
10
0
151
I'm in the same boat.

MySQL is v4.1.x
Perl v5.6.1
Red Hat 7.3

I've run /scripts/upcp --force
I've run /scripts/perlinstaller --force Scalar::Util (it installs v1.18)
I've run /scripts/perlinstaller --force Bundle::DBD::mysql and it hangs after display a warning starting with "Perl versions below 5.6.1 are no longer supported by the DBI"

So I tried "perl -MCPAN -e'force install Bundle::DBD::mysql'", and it installs DBI v1.49, Data-ShowTable v3.3, DBD-mysql v2.9008, then DBD-mysql v3.000, all without error (bar tests failing because it can't connect to the DB locally.

All to no avail :(

The error is similar to OP's ..
# /scripts/runweblogs <username>
Log checker loaded ok..
(internal death) Sat Dec 10 16:23:14 2005 [15703] error: Modification of a read-
only value attempted at /usr/lib/perl5/site_perl/5.6.1/i686-linux/DBI.pm line 27
9.
eval {...} called at /usr/lib/perl5/site_perl/5.6.1/i686-linux/DBI.pm li
ne 276
require DBI.pm called at /usr/lib/perl5/site_perl/5.6.1/i686-linux/DBD/m
ysql.pm line 7
DBD::mysql::BEGIN() called at /usr/lib/perl5/site_perl/5.6.1/i686-linux/
Scalar/Util.pm line 0
eval {...} called at /usr/lib/perl5/site_perl/5.6.1/i686-linux/Scalar/Ut
il.pm line 0
require DBD/mysql.pm called at /usr/local/cpanel/cpanellogd line 60
main::BEGIN() called at /usr/lib/perl5/site_perl/5.6.1/i686-linux/Scalar
/Util.pm line 0
eval {...} called at /usr/lib/perl5/site_perl/5.6.1/i686-linux/Scalar/Ut
il.pm line 0
[a fatal error or timeout occurred while processing this directive]==> cPanel Lo
g Daemon version 22.2
==> Shared RRDTOOL support enabled
Processing <username>...
Anything else I should look for?
 

sparek-3

Well-Known Member
Aug 10, 2002
2,019
225
368
cPanel Access Level
Root Administrator
This looks like its a problem with perl versions 5.8.1 and older. We have servers running 5.8.1 and they are reporting this error, but servers that are running 5.8.3 or higher do not report this error. Can anyone else verify this? I see a couple of threads involving this error and they all reference 5.8.1 or older versions of perl. I see where there is a perl 5.8.7 installer available through layer1, but I am reluctant to upgrade using it, because I have heard of how important perl is to the underlying cpanel system. The stats do appear to be generated so I don't think it is causing any problems, so I'm not sure if I see a reason to upgrade. The only reason that I can think of, is perhaps there is something else that is running behind the scenes that is having problems because of this error, and I just don't see it.

Can anyone else verify that this is only a problem with 5.8.1 versions of perl and older? Has anyone upgraded those installations to perl 5.8.7? Did you experience any problems?
 
Last edited:

sparek-3

Well-Known Member
Aug 10, 2002
2,019
225
368
cPanel Access Level
Root Administrator
Yea, I mean 5.8.1. I don't know where I got the 2, must've been looking at something else and meaning something different. I have editted that post to show the 5's to clear up any confusion. 5.6.1 would be older than 5.8.1 so it would fall into this category.

Sorry for the confusion and thanks for pointing it out.
 

cgarvey

Member
Jul 28, 2003
10
0
151
OK .. Scalar::Util is borked .. when I build the latest version it gives a warning about the Weaken method not being available. In DBI.pm (as the error says), there is a check for this function.. so I simply commented it out, and returned 0, and all seems ok-ish.

So in /usr/lib/perl5/site_perl/5.6.1/i686-linux/DBI.pm I changed line 275+ to
# check for weaken support, used by ChildHandles
my $HAS_WEAKEN = eval {
require Scalar::Util;
# this will croak() if this Scalar::Util doesn't have a working weak
#Scalar::Util::weaken(my $test = \"foo");
0;
};
, to always return fals for the check (because, Scalar::Util warns me it's not available).. that stops the error I reported above from happening, and doesn't seem to break anything else (if there is a check in DBI, there is the implication that it's OK to not have it!).

So now to get rid of my "The server is having trouble keeping up with your statistics processing schedule" warnings.

In /usr/local/cpanel/logs/stats_log I notice a bunch of
About to fork for cinemat [DOMAIN: domain.com]
Unable to get urchin profileid for domain.com
Unable to get urchin logid for domain.com
Running /scripts/runstatsonce each time I get this in the logs, seems to clear that one and move on to the next. Each time the logs seem to be generated OK .. as in there are the expected number of hits reported for the month that was missing, in the problem domains/accounts.

It seems to have worked for me, but I'd wait for somebody who knows better to comment before you try this yourself!

.cg
 

jcallery

Well-Known Member
Aug 25, 2003
50
0
156
cPanel support told me that the fix for this is currently only available in the recent Edge updates - which resolved the problem.

Try updating to edge and see if that resolves the problem temporarily.
 

chirpy

Well-Known Member
Verifed Vendor
Jun 15, 2002
13,466
31
473
Go on, have a guess
I just discovered the exact same issue on a few of my servers. Upgraded from perl 5.8.1 to 5.8.7 using the cPanel perl distribution and that fixed those, the others were indeed fixed using the latest EDGE. Looks like two different problems affecting the same thing.
 

tgibobby

Active Member
Apr 12, 2004
35
0
156
chirpy said:
I just discovered the exact same issue on a few of my servers. Upgraded from perl 5.8.1 to 5.8.7 using the cPanel perl distribution and that fixed those, the others were indeed fixed using the latest EDGE. Looks like two different problems affecting the same thing.
How can we upgrade to perl 5.8.7 ?
 

forlinuxsupport

Well-Known Member
PartnerNOC
Dec 22, 2004
386
0
166
cPanel Access Level
Root Administrator
Hi

Go here and download cpanels custom version of perl (perl587installer.tar.gz )
http://layer1.cpanel.net/

untar and unzip it and run the install file, it will install the new version of perl (5.8.7).

then update cpanel (/scripts/upcp) to update all the perl modules.

cheers
Andy
 

zimu

Member
Jun 11, 2004
7
0
151
stats still don't update here... i have the latest perl version (5.8.7.)

stats update fine if i use the scripts/runweblogs script. the stats should update every 24 hours and there's a green text in the whm saying that the server can keep up with the stats generation...

so why does it still not work :(
 

monoblue

Member
Aug 24, 2005
14
0
151
I have same problem with new server, in cPanel accounts for every user show unlimited megabytes, and in whm, everyone have 0MB but, they have it, does anyone know how to fix this to show all stats in whm like it need to be.

Thanks