|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2010-04-13 12:05 UTC] will at flourishlib dot com
Description: ------------ When retrieving BLOB data from a DB2 LUW 9.7.1 database using this extension, I receive a resource back. When I try to use such a resource with stream_get_contents(), PHP segfaults. This happens with PHP 5.2.12 in Windows XP, PHP 5.1.6 on CentOS 5 and PHP 5.3.1 on Fedora 12. When retrieve CLOB data from the SYSCAT.CHECKS catalog view, and trying to use stream_get_contents(), on CentOS 5 with 5.1.6, I get a blank string. With 5.2.12 on Windows and 5.3.1 on Fedora, PHP segfaults. The columns can be retrieved using the ibm_db2 extension without issues on all platforms, and the pdo_odbc extension in Windows. Expected result: ---------------- I should be able to retrieve a string of character or binary data from the resource. Actual result: -------------- Either a segmentation fault or a blank string. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 04:00:01 2025 UTC |
I experience the same issue, here is the GDB backtrace for this: Program received signal SIGSEGV, Segmentation fault. lob_stream_read (stream=0x8a8bab4, buf=0x8c0c6c8 "\300\306\300\b\300\306\300\b\034Ċ\b", count=8192) at /home/benny/downloads/ibmdb2/PDO_IBM-1.3.2/ibm_statement.c:141 141 switch (col_res->data_type) { (gdb) bt #0 lob_stream_read (stream=0x8a8bab4, buf=0x8c0c6c8 "\300\306\300\b\300\306\300\b\034Ċ\b", count=8192) at /home/benny/downloads/ibmdb2/PDO_IBM-1.3.2/ibm_statement.c:141 #1 0x0837e47b in php_stream_fill_read_buffer (stream=0x8a8bab4, size=<value optimized out>) at /home/benny/downloads/php-5.3.2/main/streams/streams.c:562 #2 0x0837e761 in _php_stream_read (stream=0x8a8bab4, buf=0x8c0a6c0 "\270\246\300\b\270\246\300\b\034Ċ\b", size=8192) at /home/benny/downloads/php-5.3.2/main/streams/streams.c:605 #3 0x0837f47f in _php_stream_copy_to_mem (src=0x8a8bab4, buf=0xbfffcbac, maxlen=4294967295, persistent=0) at /home/benny/downloads/php-5.3.2/main/streams/streams.c:1280 #4 0x0833ab29 in zif_stream_get_contents (ht=1, return_value=0x8bfcc74, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /home/benny/downloads/php-5.3.2/ext/standard/streamsfuncs.c:425 #5 0x083d906e in execute_internal (execute_data_ptr=0x8abbf90, return_value_used=1) at /home/benny/downloads/php-5.3.2/Zend/zend_execute.c:1260 #6 0x012eaafe in xdebug_execute_internal (current_execute_data=0x8abbf90, return_value_used=1) at /usr/local/zend/temp/xdebug/xdebug.c:1631 #7 0x083e0dbb in zend_do_fcall_common_helper_SPEC (execute_data=0x8abbf90) at /home/benny/downloads/php-5.3.2/Zend/zend_vm_execute.h:315 #8 0x083db53e in execute (op_array=0x8a8b3e8) at /home/benny/downloads/php-5.3.2/Zend/zend_vm_execute.h:104 #9 0x012ea7b7 in xdebug_execute (op_array=0x8a8b3e8) at /usr/local/zend/temp/xdebug/xdebug.c:1562 #10 0x083b80c6 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /home/benny/downloads/php-5.3.2/Zend/zend.c:1194 #11 0x08366e28 in php_execute_script (primary_file=0xbffff190) at /home/benny/downloads/php-5.3.2/main/main.c:2260 #12 0x0843886d in main (argc=2, argv=0xbffff304) at /home/benny/downloads/php-5.3.2/sapi/cli/php_cli.c:1192 PHP code is: stream_get_contents($row['CONTENT']); using a PDO::fetchAll retrieving the data. Ironically using PDO::fetch, no segfaulting behaviour is occuring.