Edit report at https://bugs.php.net/bug.php?id=63159&edit=1
ID: 63159 Updated by: php-bugs@lists.php.net Reported by: slangley at google dot com Summary: Passing > 1 additional module to php_module_startup causes a segfault -Status: Feedback +Status: No Feedback Type: Bug Package: Reproducible crash Operating System: N/A PHP Version: 5.4.7 New Comment: No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Open". Thank you. Previous Comments: ------------------------------------------------------------------------ [2013-01-28 10:46:47] slangley at google dot com Well according to this I'm not :) http://marc.info/?l=php-internals&m=110121150631159&w=2 ------------------------------------------------------------------------ [2013-01-28 10:44:00] paj...@php.net oh, stupid me, coffee++ :-) You must be the 1st to call it with more than one ;-) ------------------------------------------------------------------------ [2013-01-28 10:35:00] slangley at google dot com I'll grab you a stack trace when I'm in to office tomorrow (need to remove my patch to get it to crash :)).... However you can pretty easily walk through the code. int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_modules, uint num_additional_modules) Takes a pointer to an array of zend_module_entry. int php_register_extensions(zend_module_entry **ptr, int count TSRMLS_DC) takes a pointer to an array of zend_module_entry pointers. inside php_register_extensions it uses pointer arithmetic to enumerate the extensions. However, because php_module_startup has a pointer to an array of zend_module_entry rather than a pointer to an array of pointers of zend_module_entry it causes a segfault. https://github.com/php/php-src/blob/master/main/main.c#L1961 https://github.com/php/php-src/blob/master/main/main.c#L1909 ------------------------------------------------------------------------ [2013-01-28 10:28:53] paj...@php.net http://lxr.php.net/xref/PHP_5_4/main/main.c#1910 looks perfectly fine to me. Which value do you actually pass as count? Also provide a backtrace. ------------------------------------------------------------------------ [2013-01-28 10:25:44] slangley at google dot com Suggest you look again - it is not possible to get past this line without segfaulting if there is more than one extension. https://github.com/php/php-src/blob/master/main/main.c#L2191 ------------------------------------------------------------------------ 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=63159 -- Edit this bug report at https://bugs.php.net/bug.php?id=63159&edit=1