ID: 33533 User updated by: scott dot barnett at thuringowa dot qld dot gov dot au Reported By: scott dot barnett at thuringowa dot qld dot gov dot au -Status: Closed +Status: Open Bug Type: PDO related Operating System: CentOS 4.1 / Redhat Enterprise 4 PHP Version: 5CVS-2005-07-04 Assigned To: wez New Comment:
Still having build problems. Thanks. (gdb) bt #0 0x00000000 in ?? () #1 0x002e7ef2 in CLGetData (statement_handle=0x83a5590, column_number=2, target_type=1, target_value=0x83a5a74, buffer_length=256, strlen_or_ind=0x83a57c4) at SQLGetData.c:336 #2 0x00498f0c in SQLGetData (statement_handle=0x83a4fb8, column_number=2, target_type=1, target_value=0x83a5a74, buffer_length=256, strlen_or_ind=0x83a57c4) at SQLGetData.c:412 #3 0x00d63d9e in odbc_stmt_get_col (stmt=0x83ae01c, colno=1, ptr=0xbff2e70c, len=0xbff2e708, caller_frees=0xbff2e704) at /usr/src/apache/php5-200508030230/ext/pdo_odbc/odbc_stmt.c:434 #4 0x00d5caa5 in fetch_value (stmt=0x83ae01c, dest=0x83a7724, colno=1) at /usr/src/apache/php5-200508030230/ext/pdo/pdo_stmt.c:447 #5 0x00d5d776 in do_fetch (stmt=0x83ae01c, do_bind=1, return_value=0x834b8cc, how=PDO_FETCH_OBJ, ori=PDO_FETCH_ORI_NEXT, offset=0, return_all=0x0) at /usr/src/apache/php5-200508030230/ext/pdo/pdo_stmt.c:870 #6 0x00d60903 in pdo_stmt_iter_get (ce=0x83004e0, object=0x834b94c) at /usr/src/apache/php5-200508030230/ext/pdo/pdo_stmt.c:2135 #7 0x00f42baf in ZEND_FE_RESET_SPEC_CV_HANDLER (execute_data=0xbff2ebf0) at /usr/src/apache/php5-200508030230/Zend/zend_vm_execute.h:19523 #8 0x00f0f51c in execute (op_array=0x83468fc) at /usr/src/apache/php5-200508030230/Zend/zend_vm_execute.h:87 #9 0x00ee8ec9 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/src/apache/php5-200508030230/Zend/zend.c:1078 #10 0x00ea8058 in php_execute_script (primary_file=0xbff30f70) at /usr/src/apache/php5-200508030230/main/main.c:1672 #11 0x00f53f8e in php_handler (r=0x8337be0) at /usr/src/apache/php5-200508030230/sapi/apache2handler/sapi_apache2.c:562 #12 0x0809953a in ap_run_handler (r=0x8337be0) at config.c:152 #13 0x08099905 in ap_invoke_handler (r=0x8337be0) at config.c:364 #14 0x0808255d in ap_process_request (r=0x8337be0) at http_request.c:249 #15 0x0807e225 in ap_process_http_connection (c=0x8331948) at http_core.c:251 #16 0x080a2a02 in ap_run_process_connection (c=0x8331948) at connection.c:43 #17 0x08097d15 in child_main (child_num_arg=138040732) at prefork.c:610 #18 0x08097f09 in make_child (s=0x81c5a08, slot=0) at prefork.c:650 #19 0x08097fd0 in startup_children (number_to_start=5) at prefork.c:722 #20 0x080986a3 in ap_mpm_run (_pconf=0xbff312c0, plog=0x81fa190, s=0xbff312c4) at prefork.c:941 #21 0x0809d7a3 in main (argc=2, argv=0xbff31464) at main.c:618 Previous Comments: ------------------------------------------------------------------------ [2005-07-19 17:27:19] [EMAIL PROTECTED] This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Current CVS (and thus the next snapshot) now handle arbitrary length columns; enjoy! ------------------------------------------------------------------------ [2005-07-19 05:42:25] [EMAIL PROTECTED] I've added an arbitrary limit of 64k per text column for now, so that PHP doesn't kill your apache instance off (it was trying to allocate 2GB + 1 bytes per text column). It is likely that PDO_ODBC will now truncate any text columns that are longer than 64k; I'm working on a better long term fix. The very next snapshot should give you a more decent experience until then. ------------------------------------------------------------------------ [2005-07-19 05:27:40] scott dot barnett at thuringowa dot qld dot gov dot au (gdb) bt #0 0x0060f7a2 in ?? () from /lib/ld-linux.so.2 #1 0x0064fc76 in kill () from /lib/tls/libc.so.6 #2 0x00ec4f14 in _emalloc (size=2147483648, __zend_filename=0xf5c5b4 "/usr/src/apache/php5-200507122030/ext/pdo_odbc/odbc_stmt.c", __zend_lineno=393, __zend_orig_filename=0x0, __zend_orig_lineno=0) at /usr/src/apache/php5-200507122030/Zend/zend_alloc.c:191 #3 0x00d58c90 in odbc_stmt_describe (stmt=0x8a1616c, colno=1) at /usr/src/apache/php5-200507122030/ext/pdo_odbc/odbc_stmt.c:393 #4 0x00d5140c in pdo_stmt_describe_columns (stmt=0x8a1616c) at /usr/src/apache/php5-200507122030/ext/pdo/pdo_stmt.c:168 #5 0x00d508c3 in zif_PDO_query (ht=2, return_value=0x89b3b84, return_value_ptr=0x0, this_ptr=0x89b39dc, return_value_used=1) at /usr/src/apache/php5-200507122030/ext/pdo/pdo_dbh.c:912 #6 0x00f03eaa in zend_do_fcall_common_helper_SPEC (execute_data=0xbfe0d160) at /usr/src/apache/php5-200507122030/Zend/zend_vm_execute.h:184 #7 0x00f04713 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0xbfe0d160) at /usr/src/apache/php5-200507122030/Zend/zend_vm_execute.h:299 #8 0x00f03b8b in execute (op_array=0x89aeaec) at /usr/src/apache/php5-200507122030/Zend/zend_vm_execute.h:87 #9 0x00edd699 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/src/apache/php5-200507122030/Zend/zend.c:1087 #10 0x00e9c995 in php_execute_script (primary_file=0xbfe0f4e0) at /usr/src/apache/php5-200507122030/main/main.c:1672 #11 0x00f48616 in php_handler (r=0x899fbe0) at /usr/src/apache/php5-200507122030/sapi/apache2handler/sapi_apache2.c:555 #12 0x0809953a in ap_run_handler (r=0x899fbe0) at config.c:152 #13 0x08099905 in ap_invoke_handler (r=0x899fbe0) at config.c:364 #14 0x0808255d in ap_process_request (r=0x899fbe0) at http_request.c:249 #15 0x0807e225 in ap_process_http_connection (c=0x8999948) at http_core.c:251 #16 0x080a2a02 in ap_run_process_connection (c=0x8999948) at connection.c:43 #17 0x08097d15 in child_main (child_num_arg=0) at prefork.c:610 #18 0x08097f09 in make_child (s=0x882ea08, slot=0) at prefork.c:650 #19 0x08097fd0 in startup_children (number_to_start=5) at prefork.c:722 #20 0x080986a3 in ap_mpm_run (_pconf=0xbfe0f830, plog=0x8863190, s=0xbfe0f834) at prefork.c:941 #21 0x0809d7a3 in main (argc=2, argv=0xbfe0f9d4) at main.c:618 (gdb) f 3 #3 0x00d58c90 in odbc_stmt_describe (stmt=0x8a1616c, colno=1) at /usr/src/apache/php5-200507122030/ext/pdo_odbc/odbc_stmt.c:393 393 S->cols[colno].data = emalloc(colsize+1); (gdb) info locals S = (pdo_odbc_stmt *) 0x8a16794 col = (struct pdo_column_data *) 0x8a12134 dyn = 0 '\0' rc = 0 colnamelen = 7 colsize = 2147483647 ------------------------------------------------------------------------ [2005-07-18 17:19:36] [EMAIL PROTECTED] Can you do that again, this time type in: bt f 3 info locals thanks! ------------------------------------------------------------------------ [2005-07-13 01:36:18] scott dot barnett at thuringowa dot qld dot gov dot au Thanks wez, I've got PDO-ODBC working now with snapshot php5-200507122030. If I use PDO this shows up in err_log: FATAL: emalloc(): Unable to allocate -2147483648 bytes FATAL: emalloc(): Unable to allocate -2147483648 bytes FATAL: emalloc(): Unable to allocate -2147483648 bytes If I use the ifx_ functions this shows up in err_log: [Wed Jul 13 09:26:51 2005] [notice] child pid 15980 exit signal Segmentation fault (11) [Wed Jul 13 09:26:51 2005] [notice] child pid 15981 exit signal Segmentation fault (11) Same problems basically, only happens when querying Informix text fields, char and int are fine. ------------------------------------------------------------------------ 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 http://bugs.php.net/33533 -- Edit this bug report at http://bugs.php.net/?id=33533&edit=1