ID: 48745 Updated by: theta...@php.net Reported By: theta...@php.net Status: Open Bug Type: MySQL related Operating System: Solaris 10 x86 PHP Version: 5.3.0 New Comment:
I saved the core dump and may supply other variable printouts if needed. Sorry, that I did not found that bug during my RC tests. Previous Comments: ------------------------------------------------------------------------ [2009-06-30 17:08:41] theta...@php.net Description: ------------ Installed PHP 5.3 today on our Solaris server running with NSAPI as SAPI module (which is not the problem here). Our test environment with some applications like MediaWiki and our own PHP scripts worked as exspected. We are using the new mysqlnd, because under solaris 10 with Blastwave mysql libs you have problems with compiling (libs are 32/64 bit dual, mysql_config only return 64 bit params, php should be compiled as 32bit, see my php_dev mail after RC4). Mysqlnd works super, mediawiki runs much faster than before. With one application, which was not tested before, we have a problem. The content managment system Contenido 4.8.12 (www.condenido.org) works in the frontend without problem, so the website is running, but the backend crashes PHP with an SIGSEGV. The stacktrace is attached. Contenido uses the old mysql extension (which also uses mysqlnd). Reproduce code: --------------- I do not exectly know at which portion of contenido's code it crashes. It seems that Z_STRLEN_P(return_value) = strlen(mysql_field->table) produces a sigsegv (mysql_field->table == NULL): Expected result: ---------------- It should not crash the webserver process. Actual result: -------------- Program terminated with signal 11, Segmentation fault. #0 0xfc3925e2 in php_mysql_field_info (ht=0, return_value=0xa5b157c, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1, tsrm_ls=0xa61f228, entry_type=2) at /pangaea/install/php-5.3.0/ext/mysql/php_mysql.c:2410 2410 Z_STRLEN_P(return_value) = strlen(mysql_field->table); (gdb) where #0 0xfc3925e2 in php_mysql_field_info (ht=0, return_value=0xa5b157c, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1, tsrm_ls=0xa61f228, entry_type=2) at /pangaea/install/php-5.3.0/ext/mysql/php_mysql.c:2410 #1 0xfc56ce5d in zend_do_fcall_common_helper_SPEC (execute_data=0xa406f20, tsrm_ls=0xa1315e0) at /pangaea/install/php-5.3.0/Zend/zend_vm_execute.h:313 #2 0xfc56bce2 in execute (op_array=0xa511654, tsrm_ls=0xa1315e0) at /pangaea/install/php-5.3.0/Zend/zend_vm_execute.h:104 #3 0xfc54a103 in zend_execute_scripts (type=8, tsrm_ls=0xa1315e0, retval=0x0, file_count=3) at /pangaea/install/php-5.3.0/Zend/zend.c:1188 #4 0xfc4f5562 in php_execute_script (primary_file=0xebbe7cb8, tsrm_ls=0xa1315e0) at /pangaea/install/php-5.3.0/main/main.c:2196 #5 0xfc5d5916 in php5_execute (pb=0x82efe08, sn=0x9b9939c, rq=0x9b99414) at /pangaea/install/php-5.3.0/sapi/nsapi/nsapi.c:1040 #6 0xfecfb147 in func_exec_str () from /pangaea/webserver70/lib/libns-httpd40.so #7 0xfecfbd2a in INTfunc_exec_directive () from /pangaea/webserver70/lib/libns-httpd40.so #8 0xfed009d6 in INTservact_service () from /pangaea/webserver70/lib/libns-httpd40.so #9 0xfed01a39 in INTservact_handle_processed () from /pangaea/webserver70/lib/libns-httpd40.so #10 0xfed5e358 in __1cLHttpRequestUUnacceleratedRespond6M_v_ () from /pangaea/webserver70/lib/libns-httpd40.so #11 0xfed5d5ba in __1cLHttpRequestNHandleRequest6MpnGnetbuf_I_i_ () from /pangaea/webserver70/lib/libns-httpd40.so #12 0xfed5be90 in __1cNDaemonSessionDrun6M_v_ () from /pangaea/webserver70/lib/libns-httpd40.so #13 0xfeb861fc in ThreadMain () from /pangaea/webserver70/lib/libnsprwrap.so #14 0xfe0bb6c9 in _pt_root () from /pangaea/webserver70/lib/libnspr4.so #15 0xfd37fd36 in _thr_setup () from /lib/libc.so.1 #16 0xfd380020 in L3_doit () from /lib/libc.so.1 #17 0xfb2d0400 in ?? () #18 0x00000000 in ?? () (gdb) print *mysql_field $2 = {name = 0x0, org_name = 0x0, table = 0x0, org_table = 0x0, db = 0x0, catalog = 0x0, def = 0x0, length = 0, max_length = 0, name_length = 0, org_name_length = 0, table_length = 0, org_table_length = 0, db_length = 0, catalog_length = 0, def_length = 0, flags = 0, decimals = 0, charsetnr = 0, type = MYSQL_TYPE_DECIMAL, root = 0x0, root_len = 0} ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=48745&edit=1