Bug 954027
| Summary: | autoload misbehaves if called from closing session | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | pada |
| Component: | php | Assignee: | Remi Collet <rcollet> |
| Status: | CLOSED ERRATA | QA Contact: | Iveta Wiedermann <isenfeld> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.4 | CC: | 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: | |||
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. 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 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 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 |
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&revision=305034