ID: 34108 Updated by: [EMAIL PROTECTED] Reported By: webmaster at netnexus dot com -Status: Open +Status: Bogus Bug Type: Apache related Operating System: OS X 10.4 (tiger) PHP Version: 5CVS-2005-08-12 (dev) New Comment:
Please, use pecl-dev, this is not a support forum or a mailing list. Previous Comments: ------------------------------------------------------------------------ [2005-08-13 10:58:36] webmaster at netnexus dot com Thank you for your reply. I was able to compile it just fine. However, apache segfaults when php loads apc.so from php.ini. If I comment out that line it starts up just fine. Here is the segfault info: Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x00000004 0x00529e44 in zend_hash_add_or_update () (gdb) bt #0 0x00529e44 in zend_hash_add_or_update () #1 0x005303c8 in zend_register_ini_entries () #2 0x002622e8 in zm_startup_apc (type=-1, module_number=19) at /Users/james/Desktop/APC-3.0.6/php_apc.c:149 #3 0x022546ec in zend_register_module_ex (module=0x377850) at /Users/james/Desktop/php5-STABLE-200508121835/Zend/ zend_API.c:1251 #4 0x0214cb54 in php_dl (file=0x309738, type=1, return_value=0xbffff5f0) at /Users/james/Desktop/php5- STABLE-200508121835/ext/standard/dl.c:216 #5 0x021ee584 in php_load_function_extension_cb (arg=0x309738) at /Users/james/Desktop/php5- STABLE-200508121835/main/php_ini.c:248 #6 0x0223ed48 in zend_llist_apply (l=0x233a8f0, func=0x21ee550 <php_load_function_extension_cb>) at /Users/ james/Desktop/php5-STABLE-200508121835/Zend/zend_llist.c:191 #7 0x021eee20 in php_ini_delayed_modules_startup () at / Users/james/Desktop/php5-STABLE-200508121835/main/php_ini.c: 552 #8 0x021e66dc in php_module_startup (sf=0x23256b0, additional_modules=0x2325a38, num_additional_modules=1) at / Users/james/Desktop/php5-STABLE-200508121835/main/main.c: 1469 #9 0x0229b8ec in php_apache_startup (sapi_module=0x23256b0) at /Users/james/Desktop/php5-STABLE-200508121835/sapi/ apache/mod_php5.c:270 #10 0x0229d09c in php_init_handler (s=0x1802648, p=0x1802610) at /Users/james/Desktop/php5- STABLE-200508121835/sapi/apache/mod_php5.c:904 #11 0x0000ff60 in ap_init_modules () #12 0x00007d54 in main () ------------------------------------------------------------------------ [2005-08-13 10:29:18] [EMAIL PROTECTED] I build extensions on OSX all the time. I don't know of a single extension that doesn't use zend_parse_parameters. And I always load them from my php.ini file. Can you reproduce the problem with an extension like pecl/apc, for example? That is one I am building a dozen times every day. ------------------------------------------------------------------------ [2005-08-13 10:08:00] webmaster at netnexus dot com I was able to get my extension to work perfectly on OS X by compiling it into my php build instead of accessing it as a dynamic shared object. So I know it's not my custom extension that's causing the segfault.. Loading an extension from dl() or by adding it in your php.ini doesn't work on OS X 1.4 if zend_parse_parameters is present in the extension (aforementioned segfault). Without it, it works just fine. I changed the status of this bug to 'open' because it relates to php and not my custom extension. Sorry if this is still the wrong place for this. ------------------------------------------------------------------------ [2005-08-12 22:00:55] [EMAIL PROTECTED] Please ask questions related to *your* custom extensions in pecl-dev maillist. ------------------------------------------------------------------------ [2005-08-12 21:55:27] webmaster at netnexus dot com Description: ------------ I'm unable to recieve parameters in my custom extension. I followed the directions on the Zend website (http:// www.zend.com/php/internals/extension-writing1.php) for setting up an extension and cut and copied the code directly in. I then simply added the zend_parse_parameters function so I could make the extension do something exciting. Upon compilation I can run the script from the shell and it works fine. I pass the extension a string and it returns it as expected. Running the same script in the browser will segfault. I've held off reporting this because I am new to extension programming but I've searched for 2 days to no avail and have run out of options. Here's my setup- OS X 1.4 (Tiger) php -v PHP 5.0.5-dev (cli) (built: Aug 12 2005 13:25:14) (DEBUG) Copyright (c) 1997-2004 The PHP Group Zend Engine v2.0.4-dev, Copyright (c) 1998-2004 Zend Technologies httpd -V Server version: Apache/1.3.33 (Darwin) Server built: Mar 20 2005 15:08:27 Server's Module Magic Number: 19990320:16 Server compiled with.... -D EAPI -D HAVE_MMAP -D USE_MMAP_SCOREBOARD -D USE_MMAP_FILES -D HAVE_FCNTL_SERIALIZED_ACCEPT -D HAVE_FLOCK_SERIALIZED_ACCEPT -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D DYNAMIC_MODULE_LIMIT=64 -D HARD_SERVER_LIMIT=2048 -D HTTPD_ROOT="/usr" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="/var/run/httpd.pid" -D DEFAULT_SCOREBOARD="/var/run/httpd.scoreboard" -D DEFAULT_LOCKFILE="/var/run/httpd.lock" -D DEFAULT_ERRORLOG="/var/log/httpd/error_log" -D TYPES_CONFIG_FILE="/etc/httpd/mime.types" -D SERVER_CONFIG_FILE="/etc/httpd/httpd.conf" -D ACCESS_CONFIG_FILE="/etc/httpd/access.conf" -D RESOURCE_CONFIG_FILE="/etc/httpd/srm.conf" And my php configure options- ./configure --with-zlib-dir=/usr/local --with-libjpeg=/sw -- with-libtiff=/sw --with-libpng=/sw --with-gd --enable- native-ttf --with-ttf --with-freetype-dir=/usr/local/lib/ freetype-2.1.9/ --with-mysql=/usr/local/mysql --with-xml -- with-apxs=/usr/sbin/apxs --enable-debug Reproduce code: --------------- if (ZEND_NUM_ARGS() != 1) WRONG_PARAM_COUNT; char* name = NULL; int length; // Crashes in zend_parse_parameters if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &length) == FAILURE) { RETURN_NULL(); } Expected result: ---------------- The zend_parse_parameters function should recieve the calling php functions parameters and continue it's executing normally. Actual result: -------------- It segfaults with this- Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0xfffffff8 0x00527154 in zend_parse_va_args () (gdb) bt #0 0x00527154 in zend_parse_va_args () #1 0x00527278 in zend_parse_parameters () #2 0x000e0c80 in zif_imagesmoothline (ht=1, return_value=0x3c06c8, this_ptr=0xbfffdf40, return_value_used=0) at /Users/james/www/php5/extensions/ re_draw/re_draw.c:65 #3 0x02291668 in zend_do_fcall_common_helper (execute_data=0xbfffe0e8, opline=0x1843d70, op_array=0x3c0548) at /Users/james/Desktop/php5- STABLE-200508121835/Zend/zend_execute.c:2760 #4 0x022923cc in zend_do_fcall_handler (execute_data=0xbfffe0e8, opline=0x1843d70, op_array=0x3c0548) at /Users/james/Desktop/php5- STABLE-200508121835/Zend/zend_execute.c:2894 #5 0x02288774 in execute (op_array=0x3c0548) at /Users/ james/Desktop/php5-STABLE-200508121835/Zend/zend_execute.c: 1437 #6 0x0224dc24 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /Users/james/Desktop/php5- STABLE-200508121835/Zend/zend.c:1064 #7 0x021e5e7c in php_execute_script (primary_file=0xbfffea50) at /Users/james/Desktop/php5- STABLE-200508121835/main/main.c:1640 #8 0x0229a124 in apache_php_module_main (r=0x183de38, display_source_mode=0) at /Users/james/Desktop/php5- STABLE-200508121835/sapi/apache/sapi_apache.c:54 #9 0x0229b618 in send_php (r=0x183de38, display_source_mode=0, filename=0x183fab8 "/Library/ WebServer/Documents/php5/extensions/test.php") at /Users/ james/Desktop/php5-STABLE-200508121835/sapi/apache/ mod_php5.c:630 #10 0x0229b6a4 in send_parsed_php (r=0x183de38) at /Users/ james/Desktop/php5-STABLE-200508121835/sapi/apache/ mod_php5.c:645 #11 0x0000dd18 in ap_invoke_handler () #12 0x00017dd4 in process_request_internal () #13 0x00017e54 in ap_process_request () #14 0x00006b60 in child_main () #15 0x00006dc4 in make_child () #16 0x000070f4 in perform_idle_server_maintenance () #17 0x000076d0 in standalone_main () #18 0x00007d74 in main () (gdb) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34108&edit=1