ID:               35437
 User updated by:  me at dither dot spb dot ru
 Reported By:      me at dither dot spb dot ru
-Status:           Feedback
+Status:           Open
 Bug Type:         Reproducible crash
 Operating System: WinXPSP2, Fedora Core 3
 PHP Version:      5.1.0
 New Comment:

PHP 5.1.2-dev (cli) (built: Nov 27 2005 20:24:18) (Win32).
No changes. Problem persists. Sorry, I dont have enought time to test
latest unix snapshot. If needed, I can do some testing across different
unix versions tomorrow.

Omg, sorry for my bad english..


Previous Comments:
------------------------------------------------------------------------

[2005-11-28 09:13:58] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip



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

[2005-11-28 04:19:49] me at dither dot spb dot ru

Description:
------------
PHP 5.1 Final Release.
(built: Nov 23 2005 23:59:35)

Easy repoducible segfault or Invalid opcode 137/1/4 Fatal Error.

Reproduce code:
---------------
<?php
function err2exception($errno, $errstr)
{
        throw new Exception("Error occuried: " . $errstr);
}

set_error_handler('err2exception');

class TestClass
{
        function testMethod()
        {
                //$GLOBALS['t'] = 'test';
                $GLOBALS['t'] = new stdClass;
        }
}

TestClass::testMethod();
?>

Expected result:
----------------
PHP Should cause Strict level Notice "Non-static method
TestClass::testMethod() should not be called statically", and  after
what error_handler err2exception() must be executed.

Finally, it must be an Uncaught exception 'Exception' with message
'Error occuried: Non-static method TestClass::testMethod() should not
be called statically'.

Actual result:
--------------
Segfault.

Uncommenting line //$GLOBALS['t'] = 'test' causes Invalid opcode
137/1/4 Fatal Error.

Commenting both $GLOBALS lines completly fixes bug.

Marking method testMethod() as static (... static function testMethod()
...) fixes bug too, but no exception will be thrown. 


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


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

Reply via email to