Bug 954027

Summary: autoload misbehaves if called from closing session
Product: Red Hat Enterprise Linux 6 Reporter: pada
Component: phpAssignee: Remi Collet <rcollet>
Status: CLOSED ERRATA QA Contact: Iveta Wiedermann <isenfeld>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.4CC: dkutalek, isenfeld, jorton, pada, rcollet
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: Missing dependency on Spl extension for Session extension Consequence: Spl is uninitialized before Session, making autoload feature unavailable. Fix: Session extension now requires Spl extension. Result: Autoload is now available during closing session.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-14 06:37:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description pada 2013-04-19 22:46:23 UTC
Description of problem:

- autoload misbehaves if called from closing session

Version-Release number of selected component:

- php-5.3.3-22.el6.x86_64

How reproducible:

php -r 'spl_autoload_register(function ($c) { var_dump("Loading $c"); eval("class B {}"); }); class F { function __sleep() { new B; return array(); } } session_start(); $_SESSION["foo"] = new F;'

Steps to Reproduce:

Run above command on php 5.3.3 command line shell.
  
Actual results:

- PHP Fatal error:  spl_autoload(): Class B could not be loaded in Command line code on line 1

Expected results:

string(9) "Loading B"

Fixed by Upstream:

http://svn.php.net/viewvc/?view=revision&amp;revision=305034

Comment 2 RHEL Program Management 2013-10-14 03:45:58 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 3 Joe Orton 2014-01-28 08:39:32 UTC
Thanks for reporting this issue to us.  If this issue is critical or in any way time sensitive, please raise a ticket through your regular Red Hat support channels to make certain it receives the proper attention and prioritization to assure a timely resolution.

For information on how to contact the Red Hat production support team, please
visit: https://www.redhat.com/support/process/production/#howto

Comment 5 Remi Collet 2014-03-21 12:21:59 UTC
Simple fix, with very few risk (only module order, session need spl)

We have the fix and the reproducer.

http://git.php.net/?p=php-src.git;a=commit;h=7ded7577b21e9ff4443b48c24ac0f0d543424676

http://git.php.net/?p=php-src.git;a=commit;h=7b4cbadfce17213eee0500eef9e50aefac3f4a92

Comment 9 errata-xmlrpc 2014-10-14 06:37:15 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-1465.html