From: itsgoingd at luzer dot sk Operating system: FreeBSD PHP version: 5.4.6 Package: Reproducible crash Bug Type: Bug Bug description:Segfault when __callStatic causes infinite function call loop
Description: ------------ Calling non-existent or private static method in __callStatic magic method (infinite function call loop) causes segfault. Also reproducible on older 5.3.x versions on all platforms. Test script: --------------- <?php class Foo { public static function __callStatic($a, $b) { self::bar(); } } Foo::bar(); Expected result: ---------------- Fatal error: Allowed memory size of xxx bytes exhausted Actual result: -------------- Segmentation fault. Backtrace from cordeump: #0 0x00000000006e46f6 in instanceof_function () #1 0x00000000006fbfae in zend_call_method () #2 0x00000000007081b4 in zend_std_callstatic_user_call () #3 0x00000000007538bd in zend_do_fcall_common_helper_SPEC () #4 0x000000000070bdd8 in execute () #5 0x00000000006db8b1 in zend_call_function () #6 0x00000000006fbfeb in zend_call_method () #7 0x00000000007081b4 in zend_std_callstatic_user_call () #8 0x00000000007538bd in zend_do_fcall_common_helper_SPEC () #9 0x000000000070bdd8 in execute () ... last 5 lines repeat ... #23750 0x00000000006db8b1 in zend_call_function () #23751 0x00000000006fbfeb in zend_call_method () #23752 0x00000000007081b4 in zend_std_callstatic_user_call () #23753 0x00000000007538bd in zend_do_fcall_common_helper_SPEC () #23754 0x000000000070bdd8 in execute () #23755 0x00000000006e82ed in zend_execute_scripts () #23756 0x000000000068dffc in php_execute_script () #23757 0x0000000000774012 in do_cli () #23758 0x000000000077302d in main () -- Edit bug report at https://bugs.php.net/bug.php?id=63084&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=63084&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=63084&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=63084&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=63084&r=fixed Fixed in SVN and need be documented: https://bugs.php.net/fix.php?id=63084&r=needdocs Fixed in release: https://bugs.php.net/fix.php?id=63084&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=63084&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=63084&r=needscript Try newer version: https://bugs.php.net/fix.php?id=63084&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=63084&r=support Expected behavior: https://bugs.php.net/fix.php?id=63084&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=63084&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=63084&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=63084&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=63084&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=63084&r=dst IIS Stability: https://bugs.php.net/fix.php?id=63084&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=63084&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=63084&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=63084&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=63084&r=mysqlcfg