ID: 29864 Updated by: [EMAIL PROTECTED] Reported By: Volker dot Weinberger at pharma dot novartis dot com -Status: Open +Status: Feedback Bug Type: OCI8 related Operating System: Solaris 5.8 PHP Version: 5.0.1 New Comment:
Please, see bug #31533 and try the patch supplied there. Seems that werdie Solarises are broken (or Oracle for Solaris is). Also I should note that your last bt is very odd. I've never seen such senseless backtraces before =) Previous Comments: ------------------------------------------------------------------------ [2005-01-18 14:05:03] Volker dot Weinberger at pharma dot novartis dot com I've managed to get --enable-debug compiled in with a recent CVS version of PHP: php5-200501180930 . The same error still occurs. Following instructions for a gdb backtrace I get: gdb ./php ./core GNU gdb 5.0 ... (gdb) bt #0 0x34e204 in ZEND_RETURN_SPEC_CV_HANDLER () #1 0x31946c in execute () #2 0x319948 in zend_do_fcall_common_helper_SPEC () #3 0x319d84 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER () #4 0x31946c in execute () #5 0x319948 in zend_do_fcall_common_helper_SPEC () #6 0x319d84 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER () #7 0x31946c in execute () #8 0x319948 in zend_do_fcall_common_helper_SPEC () #9 0x319d84 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER () #10 0x31946c in execute () #11 0x2db78c in zend_execute_scripts () #12 0x265050 in php_execute_script () #13 0x370018 in main () (gdb) frame 1 #1 0x31946c in execute () (gdb) print (char *)(executor_globals.function_state_ptr->function)->common.function_name Attempt to extract a component of a value that is not a structure. (gdb) Since PHP wasn't compiled with GCC, but with Solaris CC, using GDB might not give the expected result. Using SUN dbx instead: dbx ./php ./cor ... detected a multithreaded program [EMAIL PROTECTED] ([EMAIL PROTECTED]) terminated by signal BUS (invalid address alignment) Current function is ZEND_RETURN_SPEC_CV_HANDLER (optimized) 17699 || (opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op1.u.var).var.fcall_returned_reference)) { (/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) where current thread: [EMAIL PROTECTED] =>[1] ZEND_RETURN_SPEC_CV_HANDLER(execute_data = ???) (optimized), at 0x34e204 (line ~17699) in "zend_vm_execute.h" [2] execute(op_array = ???) (optimized), at 0x319464 (line ~78) in "zend_vm_execute.h" [3] zend_do_fcall_common_helper_SPEC(execute_data = ???) (optimized), at 0x319940 (line ~204) in "zend_vm_execute.h" [4] ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(execute_data = ???) (optimized), at 0x319d7c (line ~288) in "zend_vm_execute.h" [5] execute(op_array = ???) (optimized), at 0x319464 (line ~78) in "zend_vm_execute.h" [6] zend_do_fcall_common_helper_SPEC(execute_data = ???) (optimized), at 0x319940 (line ~204) in "zend_vm_execute.h" [7] ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(execute_data = ???) (optimized), at 0x319d7c (line ~288) in "zend_vm_execute.h" [8] execute(op_array = ???) (optimized), at 0x319464 (line ~78) in "zend_vm_execute.h" [9] zend_do_fcall_common_helper_SPEC(execute_data = ???) (optimized), at 0x319940 (line ~204) in "zend_vm_execute.h" [10] ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(execute_data = ???) (optimized), at 0x319d7c (line ~288) in "zend_vm_execute.h" [11] execute(op_array = ???) (optimized), at 0x319464 (line ~78) in "zend_vm_execute.h" [12] zend_execute_scripts(type = ???, retval = ???, file_count = ???, ...) (optimized), at 0x2db784 (line ~1058) in "zend.c" [13] php_execute_script(primary_file = ???) (optimized), at 0x265048 (line ~1636) in "main.c" [14] main(argc = ???, argv = ???) (optimized), at 0x370010 (line ~944) in "php_cli.c" >frame 2 Current function is execute (optimized) 78 if (EX(opline)->handler(&execute_data TSRMLS_CC) > 0) { (char *) executor_globals.function_state_ptr->function->common.function_name = 0xac55c0 "raiseError" ------------------------------------------------------------------------ [2004-08-27 15:47:28] Volker dot Weinberger at pharma dot novartis dot com Backtrace attempt: unfortunately I'm not able to compile with --enable-debug (filed as a separate bug report). Backtrace info without --enable-debug: (gdb) bt #0 0x7edbe1ac in kpughndl0 ()from /u01/home/oracle/product/9.2.0/lib32/libclntsh.so.9.0 #1 0xbcd5c in _oci_close_session () #2 0x2597ec in list_entry_destructor () #3 0x256fc4 in zend_hash_del_key_or_index () #4 0x259480 in _zend_list_delete () #5 0xb8ea0 in _oci_conn_list_dtor () #6 0x2597ec in list_entry_destructor () #7 0x2572a4 in zend_hash_apply_deleter () #8 0x25746c in zend_hash_graceful_reverse_destroy () #9 0x23d1cc in shutdown_executor () #10 0x24ec38 in zend_deactivate () #11 0x1eda8c in php_request_shutdown () #12 0x28a984 in main () (gdb) frame 2 #2 0x2597ec in list_entry_destructor () <tor_globals.function_state_ptr->function)->common.function_name Attempt to extract a component of a value that is not a structure. (gdb) frame 1 #1 0xbcd5c in _oci_close_session () <function_state_ptr->function)->common.function_name Attempt to extract a component of a value that is not a structure. <tor_globals.function_state_ptr->function)->common.function_name ------------------------------------------------------------------------ [2004-08-27 13:17:14] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a backtrace to see what is happening behind the scenes. To find out how to generate a backtrace, please read http://bugs.php.net/bugs-generating-backtrace.php Once you have generated a backtrace, please submit it to this bug report and change the status back to "Open". Thank you for helping us make PHP better. ------------------------------------------------------------------------ [2004-08-27 12:40:03] Volker dot Weinberger at pharma dot novartis dot com Description: ------------ PHP CLI script consistently crashes with 5.0.1 *after* successful completion, i.e. the script executes successfully right to the end ("just before the end" line is printed in sample script below). Then, after a short delay, a bus error is produced (core dump). The same scripts (as well as the original script, sample script is shortened) work fine with CLI PHP 4.3.6 . The issue is tracked down to the d.seq field in the Oracle query, which is a CLOB 4000 field. The script does not crash when this field is omitted from the query. PEAR DB is used for Oracle connection. PEAR DB version: // // $Id: DB.php,v 1.59 2004/07/08 21:15:11 danielc Exp $ // Reproduce code: --------------- #!.../php501 <?php require_once('DB.php'); $dbh = DB::connect("oci8://..."); if (!$dbh) { die("ERROR:Cannot connect to BCH1!"); } $sql = " SELECT d.seq " . " FROM sqbox.seqmandata d WHERE d.nvs_id = 'NVS00002050'" ; $sth=$dbh->query($sql); if(DB::isError($sth)){ die ($sth->getMessage()); } print "just before the end\n"; ?> Expected result: ---------------- No core dump. Actual result: -------------- Script produces full correct results, but core dumps right at the end. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=29864&edit=1