ID: 35437 Updated by: [EMAIL PROTECTED] Reported By: me at dither dot spb dot ru -Status: Open +Status: Feedback Bug Type: Reproducible crash Operating System: WinXPSP2, Fedora Core 3 PHP Version: 5.1.0 New Comment:
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 Previous Comments: ------------------------------------------------------------------------ [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