#34712 [Opn->Asn]: zend.ze1_compatibility_mode = on segfault
| From: | sniper@php.net | Date: | Tue, 04 Oct 2005 07:18:28 +0000 |
| Subject: | #34712 [Opn->Asn]: zend.ze1_compatibility_mode = on segfault | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-85976@lists.php.net to get a copy of this message | ||
ID: 34712
Updated by: sniper@php.net
Reported By: jason at jasonjustman dot com
-Status: Open
+Status: Assigned
Bug Type: Reproducible crash
-Operating System: solaris 10
+Operating System: *
PHP Version: 5CVS-2005-10-03 (snap)
Assigned To: dmitry
New Comment:
Dmitry, with the provided script I can reproduce this.
Previous Comments:
------------------------------------------------------------------------
[2005-10-04 08:44:10] jason at jasonjustman dot com
http://www.jasonjustman.com/crash.phps
line 114 is what causes the segfault:
$this->_transform_actions = new
base_object_meta_transform_actions($this);
its not clean nor tight, but an example of the pattern that causes it
to crash
------------------------------------------------------------------------
[2005-10-03 22:23:13] sniper@php.net
We really need a reproducing script. Please try come up with one.
------------------------------------------------------------------------
[2005-10-03 18:02:29] jason at jasonjustman dot com
Like i said before, i can't track down the exact sequence (stacktrace
of the .php script code shows its in the 12-14th depth), and for full
debug - only after parsing about 15kloc of code.
When adding in debugging php source code in the new call (
$this->_helper = new helper($this);), it prevents the crash but in one
case a print_r($this) in the aggrevator:: scope resulted in an empty
object.
This testcase is more pseudocode of the segfault pattern than actual
instance. If you'd like I can privately attach the application source
- but again, its not an application problem - as turning off ze1_compat
doesn't cause a segfault , but is required for implicit clone.
This happens in the same spot for the 5.0.5, 5.0.6-dev and 5.0.6-latest
- even after building in seperate directories with no caching enabled.
------------------------------------------------------------------------
[2005-10-03 12:13:48] dmitry@php.net
This test case must not work at all.
$ php -d "zend.ze1_compatibility_mode=1" bug34712.php
Fatal error: Cannot use 'parent' as class name as it is reserved in
/home/dmitry/php/test/bug34712.php on line 20
Without "parent" it works fine on Linux/i386.
Try to make full rebuild.
------------------------------------------------------------------------
[2005-10-03 10:29:43] jason at jasonjustman dot com
last two lines of sample code should be:
$c = new child;
$a = new aggrevator($c);
------------------------------------------------------------------------
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
http://bugs.php.net/34712
--
Edit this bug report at http://bugs.php.net/?id=34712&edit=1