|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2012-06-17 04:12 UTC] laruence@php.net
-Assigned To:
+Assigned To: dmitry
[2012-06-17 04:12 UTC] laruence@php.net
[2012-06-17 05:11 UTC] laruence@php.net
-Status: Assigned
+Status: Feedback
-Assigned To: dmitry
+Assigned To: laruence
[2012-06-17 05:11 UTC] laruence@php.net
[2012-06-17 05:21 UTC] laruence@php.net
[2012-06-17 08:38 UTC] manchokapitancho at gmail dot com
-Status: Feedback
+Status: Assigned
[2012-06-17 08:38 UTC] manchokapitancho at gmail dot com
[2012-07-17 15:13 UTC] laruence@php.net
[2012-07-17 15:13 UTC] laruence@php.net
-Status: Assigned
+Status: Feedback
[2012-07-17 17:16 UTC] manchokapitancho at gmail dot com
-Status: Feedback
+Status: Assigned
-PHP Version: 5.4.4
+PHP Version: 5.4.5RC1
[2012-07-17 17:16 UTC] manchokapitancho at gmail dot com
[2012-08-08 11:23 UTC] maciej dot sz at gmail dot com
[2012-10-14 12:44 UTC] jose dot zap at gmail dot com
[2012-10-15 03:23 UTC] laruence@php.net
[2012-10-15 03:23 UTC] laruence@php.net
-Status: Assigned
+Status: Closed
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 08 18:00:01 2025 UTC |
Description: ------------ Bugs #61998 and #62234 seem to be really close to this: PHP crashes after the script finishes. It echoes "zend_mm_heap corrupted". Necessary components (ALL required): 1. A class that uses a trait. 2. The trait should contain a method that also exists in the class. 3. This trait method is loaded as an alias in the class. 4. The trait should be in a separate file that is loaded after the file that contains the class (__autoload) 5. There should be some other code loaded and parsed. The amount of code has some randomness but a class with 5000 methods usually works :) Note: there is a serious randomness in the crash. Sometimes I get it constantly, sometimes it crashes when called from apache only and sometimes it may crash once and then start working fine. Test script: --------------- main.php --------- function __autoload ($class) { include 'trait.php'; } include 'demo.php'; $demo = new demo; echo $demo->someFunc0(); echo $demo->broken(); trait.php ---------- trait a { function broken() { return 'broken'; } } demo.php --------- class demo { use a { broken as private broken_old; } function broken() { return "OK:" . $this->broken_old(); } function someFunc0(){return 0;} ... //a small number of method may not trigger that crash. function someFunc5000(){return 5000;} } Expected result: ---------------- OK:broken Actual result: -------------- OK:broken zend_mm_heap corrupted