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
  • #33533 [Csd->Opn... scott dot barnett at thuringowa dot qld dot gov dot au

Reply via email to