Bug 174795

Summary: mod_perl broken by perl-5.8.5-18.FC3 security update
Product: [Fedora] Fedora Reporter: Nigel Metheringham <nigel>
Component: perlAssignee: Jason Vas Dias <jvdias>
Status: CLOSED CURRENTRELEASE QA Contact: David Lawrence <dkl>
Severity: high Docs Contact:
Priority: medium    
Version: 3CC: jorton, perl-devel, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 5.8.5-20.FC3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-03-12 17:40:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Nigel Metheringham 2005-12-02 10:16:40 UTC
Description of problem:

Following (security) update to perl - version  3:5.8.5-18.FC3
apache fails to start, with following message:-
  httpd: Cannot load /etc/httpd/modules/mod_perl.so into server: 
    /etc/httpd/modules/mod_perl.so: undefined symbol: Perl_Ippid_ptr

Version-Release number of selected component (if applicable):
 perl-5.8.5-18.FC3
 mod_perl-1.99_16-3
 httpd-2.0.53-3.3


How reproducible:
 Yes

Steps to Reproduce:
1. Install those components
2. /sbin/service httpd start
3.

Comment 1 Joe Orton 2005-12-02 10:24:21 UTC
Breaking the ABI in updates is Bad.

Comment 2 paul trader 2005-12-02 13:22:34 UTC
workaround:  d/l mod_perl-1.99_16-4 from CentOS and install that - i tested it
this morning and it worked

Comment 3 Jason Vas Dias 2005-12-02 18:04:07 UTC
Very sorry about this - yes, the ABI was inadvertently changed by the fix for
bug 140563 รข 'Perl not properly supporting NPTL' .

Basically, without this fix anything that relies on the value returned by 
Perl_Ippid_ptr or of Perl_ppid is broken, as this value is invalid, since
the threads implementation uses nptl .
 
Unfortunately, as was found for RHEL-3, this change requires many packages that
rely on the PERL ABI to be rebuilt - see bug 142039 .

So I'm backing out the change (removal of -DTHREADS_HAVE_PIDS from the configure
command) and generating a new perl-5.8.5-20.FC3 update.

Comment 4 Rafael Garcia-Suarez 2005-12-02 18:53:32 UTC
I'm only glancing at this bug report, but note that -DTHREADS_HAVE_PIDS is added
to the CCFLAGS by hints/linux.sh, so it should always be present on linux.
(Although I don't remember if that change was done post-5.8.5)

That said, this change (which is in perl 5.8.7) unfortunately breaks ABI, that's
true.

Comment 5 Jason Vas Dias 2005-12-02 19:13:29 UTC
Hi Rafael - 
Yes, the patch which I'm backing out removed -DTHREADS_HAVE_PIDS from
linux.sh - this is the way all our nptl using perl releases (RHEL-4,
FC-4, FC-5(Rawhide)) are built.
This change was deemed too disruptive for RHEL-3, as it has evidently
turned out to be for FC-3 .

Comment 6 Fedora Update System 2005-12-02 20:36:23 UTC
From User-Agent: XML-RPC

perl-5.8.5-20.FC3 has been pushed for FC3, which should resolve this issue.  If these problems are still present in this version, then please make note of it in this bug report.

Comment 7 shrek-m 2005-12-02 21:32:24 UTC
thanks,

5.8.5-20.FC3 solved the httpd/mod_perl problem

Comment 8 Warren Togami 2005-12-03 18:25:24 UTC
> That said, this change (which is in perl 5.8.7) unfortunately breaks ABI,

This means that the perl-5.8.7 in FC5 breaks ABI with perl modules built on
earlier FC releases?  If so we should remove the ABI compat symlinks from the
main perl package.


Comment 9 Jason Vas Dias 2005-12-03 19:57:15 UTC
In reply to Comment #8 :
> That said, this change (which is in perl 5.8.7) unfortunately breaks ABI,

NO - the perl releases in FC-5, FC-4, and RHEL-4 have been compiled without 
the -DTHREADS_HAVE_PID from the start.
It makes no sense at all to provide the Perl_Ippid_ptr / Perl_ppid symbols if
their values are invalid because of nptl usage - their presence is dependant on
this -DTHREADS_HAVE_PID compile flag.  
Modules compiled with different C compiler, glibc, glibc-headers, perl version,
and OS version cannot be expected to work when all these components have 
changed and would need recompilation anyway.

Comment 10 Nigel Metheringham 2005-12-05 10:51:24 UTC
Confirm my problem resolved with this combination of pckages:-
  perl-5.8.5-20.FC3
  mod_perl-1.99_16-3
  httpd-2.0.53-3.3