ID: 41451 User updated by: farayi dot nyamadzawo at unodc dot org Reported By: farayi dot nyamadzawo at unodc dot org -Status: Feedback +Status: Open Bug Type: Filesystem function related Operating System: Redhat PHP Version: 5.2.2 New Comment:
I have tried the latest php 5 snapshot and still i get the same problem . please see below the backtrace information. Core was generated by `php interface.php -fconfig/refreshprojects.xml -rRefreshP rojects'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libcrypt.so.1...done. Loaded symbols for /lib/libcrypt.so.1 Reading symbols from /usr/local/lib/libexslt.so.0...done. Loaded symbols for /usr/local/lib/libexslt.so.0 Reading symbols from /lib/tls/libpthread.so.0...done. Loaded symbols for /lib/tls/libpthread.so.0 Reading symbols from /lib/tls/libm.so.6...done. Loaded symbols for /lib/tls/libm.so.6 Reading symbols from /lib/tls/librt.so.1...done. Loaded symbols for /lib/tls/librt.so.1 Reading symbols from /usr/lib/libldap-2.2.so.7...done. Loaded symbols for /usr/lib/libldap-2.2.so.7 Reading symbols from /usr/lib/liblber-2.2.so.7...done. Loaded symbols for /usr/lib/liblber-2.2.so.7 Reading symbols from /usr/local/lib/libfreetype.so.6...done. Loaded symbols for /usr/local/lib/libfreetype.so.6 Reading symbols from /usr/local/lib/libpng12.so.0...done. Loaded symbols for /usr/local/lib/libpng12.so.0 Reading symbols from /usr/local/lib/libjpeg.so.62...done. Loaded symbols for /usr/local/lib/libjpeg.so.62 Reading symbols from /usr/lib/libcurl.so.3...done. Loaded symbols for /usr/lib/libcurl.so.3 Reading symbols from /lib/libresolv.so.2...done. Loaded symbols for /lib/libresolv.so.2 Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/libnsl.so.1...done. Loaded symbols for /lib/libnsl.so.1 Reading symbols from /lib/libssl.so.4...done. Loaded symbols for /lib/libssl.so.4 Reading symbols from /lib/libcrypto.so.4...done. Loaded symbols for /lib/libcrypto.so.4 Reading symbols from /usr/lib/libgssapi_krb5.so.2...done. Loaded symbols for /usr/lib/libgssapi_krb5.so.2 Reading symbols from /usr/lib/libkrb5.so.3...done. Loaded symbols for /usr/lib/libkrb5.so.3 Reading symbols from /lib/libcom_err.so.2...done. Loaded symbols for /lib/libcom_err.so.2 Reading symbols from /usr/lib/libk5crypto.so.3...done. Loaded symbols for /usr/lib/libk5crypto.so.3 Reading symbols from /usr/lib/libidn.so.11...done. Loaded symbols for /usr/lib/libidn.so.11 Reading symbols from /usr/local/lib/libxslt.so.1...done. Loaded symbols for /usr/local/lib/libxslt.so.1 Reading symbols from /usr/lib/libxml2.so.2...done. Loaded symbols for /usr/lib/libxml2.so.2 Reading symbols from /lib/tls/libc.so.6...done. Loaded symbols for /lib/tls/libc.so.6 Reading symbols from /usr/lib/libz.so.1...done. Loaded symbols for /usr/lib/libz.so.1 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/lib/libsasl2.so.2...done. Loaded symbols for /usr/lib/libsasl2.so.2 Reading symbols from /lib/libnss_files.so.2...done. Loaded symbols for /lib/libnss_files.so.2 Reading symbols from /lib/libnss_dns.so.2...done. Loaded symbols for /lib/libnss_dns.so.2 #0 0x00bb78e7 in ASN1_template_free () from /lib/libcrypto.so.4 (gdb) bt #0 0x00bb78e7 in ASN1_template_free () from /lib/libcrypto.so.4 #1 0x00bb7873 in ASN1_primitive_free () from /lib/libcrypto.so.4 #2 0x00bb7983 in ASN1_item_free () from /lib/libcrypto.so.4 #3 0x00bb2d3c in X509_CERT_AUX_free () from /lib/libcrypto.so.4 #4 0x00bb299a in X509_CINF_free () from /lib/libcrypto.so.4 #5 0x00bb77b3 in ASN1_primitive_free () from /lib/libcrypto.so.4 #6 0x00bb7983 in ASN1_item_free () from /lib/libcrypto.so.4 #7 0x00bb2ac1 in X509_free () from /lib/libcrypto.so.4 #8 0x00b9d5eb in sk_pop_free () from /lib/libcrypto.so.4 #9 0x00c5c737 in ssl_sess_cert_free () from /lib/libssl.so.4 #10 0x00c5d4a9 in SSL_SESSION_free () from /lib/libssl.so.4 #11 0x00c5b24b in SSL_free () from /lib/libssl.so.4 #12 0x080c7fdd in php_openssl_sockop_close (stream=0xb7d0da80, close_handle=1) at /home/adam/php5.2-200705211030/ext/openssl/xp_ssl.c:267 #13 0x082c1505 in _php_stream_free (stream=0xb7d0da80, close_options=3) at /home/adam/php5.2-200705211030/main/streams/streams.c:346 #14 0x082554a4 in zif_file_get_contents (ht=1, return_value=0xb7bfc3c4, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /home/adam/php5.2-200705211030/ext/standard/file.c:574 #15 0x08302dca in zend_do_fcall_common_helper_SPEC (execute_data=0xbfec1070) at /home/adam/php5.2-200705211030/Zend/zend_vm_execute.h:200 #16 0x08302551 in execute (op_array=0xb7d1c9f8) at /home/adam/php5.2-200705211030/Zend/zend_vm_execute.h:92 ---Type <return> to continue, or q <return> to quit--- #17 0x0830279d in zend_do_fcall_common_helper_SPEC (execute_data=0xbfec2b50) at /home/adam/php5.2-200705211030/Zend/zend_vm_execute.h:234 #18 0x08302551 in execute (op_array=0xb7d18ca0) at /home/adam/php5.2-200705211030/Zend/zend_vm_execute.h:92 #19 0x0830279d in zend_do_fcall_common_helper_SPEC (execute_data=0xbfec5920) at /home/adam/php5.2-200705211030/Zend/zend_vm_execute.h:234 #20 0x08302551 in execute (op_array=0xb7d8989c) at /home/adam/php5.2-200705211030/Zend/zend_vm_execute.h:92 #21 0x0830279d in zend_do_fcall_common_helper_SPEC (execute_data=0xbfec6200) at /home/adam/php5.2-200705211030/Zend/zend_vm_execute.h:234 #22 0x08302551 in execute (op_array=0xa651690) at /home/adam/php5.2-200705211030/Zend/zend_vm_execute.h:92 #23 0x0830279d in zend_do_fcall_common_helper_SPEC (execute_data=0xbfec6430) at /home/adam/php5.2-200705211030/Zend/zend_vm_execute.h:234 #24 0x08302551 in execute (op_array=0xb7fb0844) at /home/adam/php5.2-200705211030/Zend/zend_vm_execute.h:92 #25 0x082e9361 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /home/adam/php5.2-200705211030/Zend/zend.c:1134 #26 0x082b1a79 in php_execute_script (primary_file=0xbfec8890) at /home/adam/php5.2-200705211030/main/main.c:1794 #27 0x083639a7 in main (argc=4, argv=0xbfec8964) at /home/adam/php5.2-200705211030/sapi/cli/php_cli.c:1138 (gdb) Previous Comments: ------------------------------------------------------------------------ [2007-05-20 21:29:48] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows (zip): http://snaps.php.net/win32/php5.2-win32-latest.zip For Windows (installer): http://snaps.php.net/win32/php5.2-win32-installer-latest.msi I wasn't able to reproduce your problem using your function with either a local file, an file from an ftp server or from an http site. If the problem still exists with a current snapshot please give more information what kind of file you're trying to transfer and a gdb backtrace. Thanks. ------------------------------------------------------------------------ [2007-05-20 18:29:38] farayi dot nyamadzawo at unodc dot org The following function also gives a error *** glibc detected *** free(): invalid next size (normal): 0x00632898 *** function upload_file_from_url($filename, $url, $dir = 'transfer/docs/', $overwrite_uid = false) { //ver. 2.0 if($fp = fopen($url,"rb")) //file exists { //generate UNQ name $filename = $filename; $filetype = 'application/octet-stream'; $fileinfo = pathinfo($filename); $fname = $fileinfo['filename']; $filedata = @file_get_contents($url); if(!$filedata) return false; $filesize = strlen($filedata); if($filesize == 0) { return false; } //check file exists $exists = true; $i = 0; while(file_exists($root.$dir.$fname.'.'.$fileinfo['extension'])) { $i++; $fname.= '-'.$i; } $filepath = $fname.'.'.$fileinfo['extension']; //store file if(!file_put_contents($root.$dir.$filepath, $filedata)) return false; return array('name' => $filename,'size'=>$filesize, 'path'=> $filepath); } else { return false; } } ------------------------------------------------------------------------ [2007-05-20 18:14:32] farayi dot nyamadzawo at unodc dot org Description: ------------ I am running the below script from command line.it gives me a segmentation error when it is trying to download files and save them and return any arraz. I get the following error glibc detected *** free(): invalid next size function attached below ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-openssl --with-zlib --enable-bcmath --enable-calendar --with-curl --enable-dom --enable-exif --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --with-iconv --enable-json --with-mysql --enable-xml --with-xsl --enable-zip --enable-shared --with-ldap=/usr --with-mysqli --enable-mbstring PHP 5.2.2 (cli) Archive_Tar 1.3.2 stable Console_Getopt 1.2.2 stable DB 1.7.11 stable PEAR 1.5.4 stable Structures_Graph 1.0.2 stable Reproduce code: --------------- function upload_file_from_url($filename, $url, $dir = 'transfer/docs/', $overwrite_uid = false) { //ver. 2.0 //error_reporting(E_ALL); if($fp = fopen($url,"rb")) //file exists { logmsg ("DEBUG:UPLOAD - open remote file."); //generate UNQ name $filename = $filename; $filetype = 'application/octet-stream'; $fileinfo = pathinfo($filename); $fname = $fileinfo['filename']; $filedata = ''; logmsg ("DEBUG:UPLOAD - read remote file."); while (!feof($fp)) { $filedata .= fread($fp, 8192); } if(!$filedata) { fclose($fp); return false; } logmsg ("DEBUG:UPLOAD - reading done!"); logmsg ("DEBUG:UPLOAD - check file size"); $filesize = strlen($filedata); if($filesize == 0) { fclose($fp); return false; } logmsg ("DEBUG:UPLOAD - size is ok:{$filesize}"); logmsg ("DEBUG:UPLOAD - check existance of filename"); //check file exists $exists = true; $i = 0; while(file_exists($this->web_root.$dir.$fname.'.'.$fileinfo['extension'])) { $i++; $fname.= '-'.$i; } $filepath = $fname.'.'.$fileinfo['extension']; logmsg ("DEBUG:UPLOAD - check name done. using - ".$filepath); logmsg ("DEBUG:UPLOAD - copy data.."); //store file $fpl = fopen($this->web_root.$dir.$filepath,"w"); if($fpl) { fwrite($fpl,$filedata,$filesize); fclose($fpl); } else { fclose($fp); return false; } fclose($fp); logmsg ("DEBUG:UPLOAD - data copied - done."); return array('name' => $filename,'size'=>$filesize, 'path'=> $filepath); } else { return false; } } Expected result: ---------------- download files from website , store and return array ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41451&edit=1