PHP :: Bug #63305 :: zend_mm_heap corrupted with traits
| Bug #63305 | zend_mm_heap corrupted with traits | ||||
|---|---|---|---|---|---|
| Submitted: | 2012-10-18 14:08 UTC | Modified: | 2012-10-22 11:20 UTC | ||
| From: | johan dot groth at sorona dot se | Assigned: | dmitry (profile) | ||
| Status: | Closed | Package: | Scripting Engine problem | ||
| PHP Version: | 5.4.8 | OS: | All | ||
| Private report: | No | CVE-ID: | None | ||
[2012-10-18 14:08 UTC] johan dot groth at sorona dot se
Description: ------------ Note: This problem appears on 5.4.8 as well, but it was not available in the list when I created the report. Sometimes when using traits, I get "zend_mm_heap corrupted". I get it both while running under apache and while running from the command line. It's a problem under apache, since then I do not get any output sent to the browser. If I run the same script on the command line, I get output but with "zend_mm_heap corrupted" at the end. So, the script seem to finish every time but with an error afterwards. I have gotten this error in the past a few times, but could solve it every time by upgrading to a newer release of PHP. Now however, I'm on the latest release and have run into this problem yet again. It seems really hard to reproduce, and I have not been able to do it in a test script, it only appears when I run my full application and only when using traits. These bugs seem to be related: #62339 #55382 #62358 I have tried to generate a dump according to these instructions: https://bugs.php.net/bugs-generating-backtrace-win32.php However, I have not been able to get something useful out of it. It seems that the program does not detect that a crash has occured, even if it says the following in the apache error log: zend_mm_heap corrupted [Thu Oct 18 15:35:12 2012] [notice] Parent: child process exited with status 1 -- Restarting. Test script: --------------- I have not been able to reproduce this problem in a test script. Expected result: ---------------- Not "zend_mm_heap corrupted" Actual result: -------------- zend_mm_heap corrupted
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2012-10-19 09:31 UTC] johan dot groth at sorona dot se
-Status: Feedback +Status: Open -PHP Version: 5.4.7 +PHP Version: 5.4.8
[2012-10-19 09:31 UTC] johan dot groth at sorona dot se
[2012-10-19 12:35 UTC] johan dot groth at sorona dot se
[2012-10-20 04:39 UTC] laruence@php.net
[2012-10-22 06:38 UTC] johan dot groth at sorona dot se
-Status: Feedback +Status: Open -Operating System: Windows 7 64-bit +Operating System: All
[2012-10-22 06:38 UTC] johan dot groth at sorona dot se
[2012-10-22 10:25 UTC] laruence@php.net
[2012-10-22 11:20 UTC] laruence@php.net
A simple reproduce script: <?php new Attachment(""); function __autoload($class) { switch ($class) { case "Attachment": eval(<<<'PHP' class Attachment extends File { } PHP ); break; case "File": eval(<<<'PHP' class File { use TDatabaseObject { TDatabaseObject::__construct as private databaseObjectConstruct; } public function __construct() { } } PHP ); break; case "TDatabaseObject": eval(<<<'PHP' trait TDatabaseObject { public function __construct() { } } PHP ); break; } return TRUE; }