Bug #63305 [Asn->Csd]: zend_mm_heap corrupted with traits

From: Date: Tue, 23 Oct 2012 03:34:35 +0000
Subject: Bug #63305 [Asn->Csd]: zend_mm_heap corrupted with traits
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-174232@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=63305&edit=1

 ID:                 63305
 Updated by:         laruence@php.net
 Reported by:        johan dot groth at sorona dot se
 Summary:            zend_mm_heap corrupted with traits
-Status:             Assigned
+Status:             Closed
 Type:               Bug
 Package:            Scripting Engine problem
 Operating System:   All
 PHP Version:        5.4.8
 Assigned To:        dmitry
 Block user comment: N
 Private report:     N

 New Comment:

Automatic comment on behalf of laruence
Revision: http://git.php.net/?p=php-src.git;a=commit;h=74228c515197c8a3bda878a077d30c9b14482eb2
Log: Fixed bug #63305 (zend_mm_heap corrupted with traits)


Previous Comments:
------------------------------------------------------------------------
[2012-10-22 11:20:40] 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;
}

------------------------------------------------------------------------
[2012-10-22 10:25:59] laruence@php.net

thanks, I can reproduce now, dmitry, seems related to the previous traits bug we 
fixed.

------------------------------------------------------------------------
[2012-10-22 06:38:15] johan dot groth at sorona dot se

I could not find a way to upload anything to this report so I created a temporary repository over at
github with the source. I hope this is OK, you can find it here: https://github.com/jgroth/php-crash

Something I found interesting while removing as much code as possible from my application was that I
could not remove comments for some methods in some of the classes/interfaces. Doing so would not
reproduce the bug. Also, when I turned off error reporting, I did not get the bug either.

Note that there is one "Notice" error reported by PHP in this test application. I do not
have any such errors in the full application, but still got a php crash.

------------------------------------------------------------------------
[2012-10-20 04:39:27] laruence@php.net

great, if it's okey, you can tar your application as a reproduce script for us

------------------------------------------------------------------------
[2012-10-19 12:35:49] johan dot groth at sorona dot se

Ok, so I have somewhat been able to reproduce the problem. I can still not do it in a small script,
but I have been able to remove enough code from my application so I can send it to anyone who might
be looking into this issue. The application is based on CodeIgniter, so it's basicly the CI
code + a few extra files from my application.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=63305


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63305&edit=1


Thread (9 messages)

« previous php.bugs (#174232) next »