[Case 121097] Minor perl version change breaks perl (perl-5.8.8-41.el5 => perl-5.8.8-42.el5)

swbrains

Well-Known Member
Sep 13, 2006
304
44
178
This morning I received a number of customer reports that some scripts on their sites weren't working (500 error). I tracked it down to sites using specific Perl modules:

LWP
MIME::Base64
File::Path
(there may be others)

I created a small test app that includes "use LWP" at the beginning and prints out some simple text. If I comment out "use LWP" it works. If I un-comment that line so it's active, the program dies with a 500 error. LWP was always installed and working until last night. No code changes or server config changes were made by me in the last week.

The problem is that it shows no Perl modules as already installed when I go to the Perl Module Installer in WHM. I know this used to list the installed modules in the past. Oddly, while the list is empty, SOME modules are being used by the scripts and functioning. It's like they're installed but not showing here, and some are simply not working or not installed any more.

Further, when I enter "LWP" in the "Install a Perl Module" field to (re)install it, I get an empty progress area. It normally would display the steps of searching for the module, finding it, and then installing it. I get nothing and it finishes without doing anything. Same for MIME::Base64 installation.

Even when I try to install LWP via SSH using
/scripts/perlinstaller LWP

I get an error:
[email protected] [~]# /scripts/perlinstaller MIME::Base64
Attempt to free unreferenced scalar: SV 0x1ab83a0, Perl interpreter: 0x1935010 at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/IO/File.pm line 134.
Segmentation fault

Same thing when I specify MIME::Base64 on the command line for installation.

Up until last night, everything was working fine. Any idea what might have happened and how I can correct it?

Thanks,
Vinnie
 

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,258
463
re: [Case 121097] Minor perl version change breaks perl (perl-5.8.8-41.el5 => perl-5.8.8-42.el5)

Hello :)

Please ensure you read through the following document:

Prepare Perl Scripts for cPanel & WHM's Internal Perl

Could you let us know which version of cPanel is installed on your system? Is this a dedicated server or a VPS? Have you verified your system is not running out of memory when running the "/scripts/perlinstaller" command?

Thank you.
 

swbrains

Well-Known Member
Sep 13, 2006
304
44
178
re: [Case 121097] Minor perl version change breaks perl (perl-5.8.8-41.el5 => perl-5.8.8-42.el5)

Hi,

From Cpanel: WHM 11.44.1 (build 18)
This is a dedicated server.

I'm not sure how to check the memory while installing Perl modules. Here is the output from TOP in a secure shell:

top - 14:42:31 up 381 days, 19:59, 2 users, load average: 0.57, 0.52, 0.43
Tasks: 220 total, 1 running, 217 sleeping, 0 stopped, 2 zombie
Cpu(s): 0.9%us, 0.9%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4045756k total, 3887880k used, 157876k free, 252492k buffers
Swap: 1999864k total, 108k used, 1999756k free, 2049784k cached

Here is the memory display from within WHM, Server Info:

total used free shared buffers cached
Mem: 4045756 3942680 103076 0 254764 2066208
-/+ buffers/cache: 1621708 2424048
Swap: 1999864 108 1999756
Total: 6045620 3942788 2102832


I do know that I had installed these modules in the past and never encountered problems. Beyond that, it's strange that the already-installed modules are not even being listing in the WHM Perl Module Manager page.

Also, it only seems to be some modules (LWP , MIME::Base64 and a few others) that aren't being loaded by the scripts. Other modules are being loaded properly.
 
Last edited:

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,258
463
re: [Case 121097] Minor perl version change breaks perl (perl-5.8.8-41.el5 => perl-5.8.8-42.el5)

Feel free to open a support ticket using the link in my signature so we can take a closer look. You can post the ticket number here so we can update this thread with the outcome.

Thank you.
 

Curious Too

Well-Known Member
Aug 31, 2001
437
2
318
cPanel Access Level
Root Administrator
re: [Case 121097] Minor perl version change breaks perl (perl-5.8.8-41.el5 => perl-5.8.8-42.el5)

[email protected] [~]# /scripts/perlinstaller MIME::Base64
Attempt to free unreferenced scalar: SV 0x1ab83a0, Perl interpreter: 0x1935010 at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/IO/File.pm line 134.
Segmentation fault
I'm having the same problem. Perl was updated in Centos 5.11 and it broke a lot of scripts.
 

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,258
463
Internal case number 121097 is open to address an issue where Perl breaks after users upgrade from CentOS 5.10 to 5.11 or Perl is updated to version 5.8.8-42.el5 from it's previous minor revision (5.8.8-41.el5). The temporary workaround at this time is to move /usr/lib/perl5 or /usr/lib64/perl5 out of the way and then run "yum -y reinstall perl".

Thank you.
 

mtindor

Well-Known Member
Sep 14, 2004
1,463
114
193
inside a catfish
cPanel Access Level
Root Administrator
Internal case number 121097 is open to address an issue where Perl breaks after users upgrade from CentOS 5.10 to 5.11 or Perl is updated to version 5.8.8-42.el5 from it's previous minor revision (5.8.8-41.el5). The temporary workaround at this time is to move /usr/lib/perl5 or /usr/lib64/perl5 out of the way and then run "yum -y reinstall perl".

Thank you.
Michael,

Even though this is listed as a "temporary workaround", should everyone on a CentOS 5.11 cPanel box be doing this just to avoid issues? Or is this an issue that only rears its head under very specific circumstances? I ask because I haven't noticed any issues on servers I have access to, but that doesn't mean issues aren't present and unnoticed.

Mike
 

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,258
463
You can determine if your system is experiencing the issue by running a command such as:

Code:
cpan
If you do not notice any errors, then you should not have to reinstall the Perl package.

Thank you.
 

mtindor

Well-Known Member
Sep 14, 2004
1,463
114
193
inside a catfish
cPanel Access Level
Root Administrator
You can determine if your system is experiencing the issue by running a command such as:

Code:
cpan
If you do not notice any errors, then you should not have to reinstall the Perl package.

Thank you.
Thanks Michael. That was simple enough to do. Checks out good on my end.

Mike
 

ellan

Member
Oct 7, 2014
6
0
51
cPanel Access Level
Website Owner
Re: Failed to install CPAN Perl module(s) Crypt PasswdMD5

The temporary workaround at this time is to move /usr/lib/perl5 or /usr/lib64/perl5 out of the way and then run "yum -y reinstall perl".
1. How to move /usr/lib/perl5 or /usr/lib64/perl5 in the safest way? Simply rename the folder(s) in ftp? Or by what command ?

I remember I think once I renamed "/usr/lib/perl5" to "/usr/lib/perl" and the easyapache gave me the same error, it wasn't ok what i did, right ?

2. Then I simply run "yum -y reinstall perl" ?

3. How long can I possible wait for a fix from cpanel without me doing this ? Seems sensible...
 

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,258
463
Here is an example of how you would move the directory out of the way and reinstall the Perl package:

Code:
mv /usr/lib64/perl5 /usr/lib64/perl5-backup
yum -y reinstall perl
There is currently no time frame available for a resolution associated with internal case number 121097.

Thank you.