|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2003-02-04 12:47 UTC] ntrujillo at cox dot net
this module was compiled from a cvs'ed port to receive benefit of asyncronous ftp support, however, the ftp_*list functions appear to be very much broken. A quick script summary: <pre> <? $fFp = ftp_connect(anyhost); $login = ftp_login($fFp,thisUser,'%thisPassword%'); $dir = ftp_pwd($fFp); $theList = ftp_nlist($fFp,$dir); print_r($theList); ?> </pre> A quasi-successful back trace:(no execs!!) bsd# gdb `which httpd` /httpd.core GNU gdb 5.2.1 (FreeBSD) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-undermydesk-freebsd"... (no debugging symbols found)... Core was generated by `httpd'. Program terminated with signal 5, Trace/breakpoint trap. Reading symbols from /usr/lib/libcrypt.so.2...(no debugging symbols found)... done. Loaded symbols for /usr/lib/libcrypt.so.2 Reading symbols from /usr/lib/libc.so.5...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libc.so.5 Reading symbols from /usr/local/libexec/apache/mod_mmap_static.so... (no debugging symbols found)...done. Loaded symbols for /usr/local/libexec/apache/mod_mmap_static.so Reading symbols from /usr/local/libexec/apache/mod_vhost_alias.so... (no debugging symbols found)...done. Loaded symbols for /usr/local/libexec/apache/mod_vhost_alias.so Reading symbols from /usr/local/libexec/apache/mod_env.so... (no debugging symbols found)...done. Loaded symbols for /usr/local/libexec/apache/mod_env.so Reading symbols from /usr/local/libexec/apache/mod_log_config.so... (no debugging symbols found)...done. Loaded symbols for /usr/local/libexec/apache/mod_log_config.so Reading symbols from /usr/local/libexec/apache/mod_mime_magic.so... (no debugging symbols found)...done. Loaded symbols for /usr/local/libexec/apache/mod_mime_magic.so ---Type <return> to continue, or q <return> to quit--- Reading symbols from /usr/local/libexec/apache/mod_mime.so... (no debugging symbols found)...done. Loaded symbols for /usr/local/libexec/apache/mod_mime.so Reading symbols from /usr/local/libexec/apache/mod_negotiation.so... (no debugging symbols found)...done. Loaded symbols for /usr/local/libexec/apache/mod_negotiation.so Reading symbols from /usr/local/libexec/apache/mod_status.so... (no debugging symbols found)...done. Loaded symbols for /usr/local/libexec/apache/mod_status.so Reading symbols from /usr/local/libexec/apache/mod_info.so... (no debugging symbols found)...done. Loaded symbols for /usr/local/libexec/apache/mod_info.so Reading symbols from /usr/local/libexec/apache/mod_include.so... (no debugging symbols found)...done. Loaded symbols for /usr/local/libexec/apache/mod_include.so Reading symbols from /usr/local/libexec/apache/mod_autoindex.so... (no debugging symbols found)...done. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 16:00:01 2025 UTC |
got a php dump finally: gdb `which php` php.core.1 GNU gdb 5.2.1 (FreeBSD) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-undermydesk-freebsd"... Core was generated by `php'. Program terminated with signal 10, Bus error. Reading symbols from /usr/local/lib/mysql/libmysqlclient.so.10...done. Loaded symbols for /usr/local/lib/mysql/libmysqlclient.so.10 Reading symbols from /usr/local/lib/libming.so.3...done. Loaded symbols for /usr/local/lib/libming.so.3 Reading symbols from /usr/lib/libm.so.2...done. Loaded symbols for /usr/lib/libm.so.2 Reading symbols from /usr/local/lib/libgd.so.2...done. Loaded symbols for /usr/local/lib/libgd.so.2 Reading symbols from /usr/local/lib/libfreetype.so.9...done. Loaded symbols for /usr/local/lib/libfreetype.so.9 Reading symbols from /usr/local/lib/libpng.so.5...done. Loaded symbols for /usr/local/lib/libpng.so.5 Reading symbols from /usr/lib/libz.so.2...done. Loaded symbols for /usr/lib/libz.so.2 Reading symbols from /usr/local/lib/libjpeg.so.9...done. Loaded symbols for /usr/local/lib/libjpeg.so.9 Reading symbols from /usr/lib/libcrypt.so.2...done. Loaded symbols for /usr/lib/libcrypt.so.2 Reading symbols from /usr/lib/libc.so.5...done. Loaded symbols for /usr/lib/libc.so.5 Reading symbols from /usr/libexec/ld-elf.so.1...done. Loaded symbols for /usr/libexec/ld-elf.so.1 #0 _efree (ptr=0x0, __zend_filename=0x0, __zend_lineno=0, __zend_orig_filename=0x0, __zend_orig_lineno=0) at /usr/ports/www/mod_php4/work/php-4.3.0/Zend/zend_alloc.c:215 215 CALCULATE_REAL_SIZE_AND_CACHE_INDEX(p->size); (gdb) bt #0 _efree (ptr=0x0, __zend_filename=0x0, __zend_lineno=0, __zend_orig_filename=0x0, __zend_orig_lineno=0) at /usr/ports/www/mod_php4/work/php-4.3.0/Zend/zend_alloc.c:215 #1 0x0806c127 in ftp_chdir (ftp=0xffffffdc, dir=0x0) at /usr/ports/www/mod_php4/work/php-4.3.0/ext/ftp/ftp.c:425 #2 0x080693e2 in zif_ftp_chdir (ht=0, return_value=0x8244724, this_ptr=0x0, return_value_used=0) at /usr/ports/www/mod_php4/work/php-4.3.0/ext/ftp/php_ftp.c:299 #3 0x0817a56b in execute (op_array=0x823f000) at /usr/ports/www/mod_php4/work/php-4.3.0/Zend/zend_execute.c:1596 #4 0x0817a788 in execute (op_array=0x8237080) at /usr/ports/www/mod_php4/work/php-4.3.0/Zend/zend_execute.c:1640 #5 0x0817a788 in execute (op_array=0x82201a4) at /usr/ports/www/mod_php4/work/php-4.3.0/Zend/zend_execute.c:1640 #6 0x0816990c in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/ports/www/mod_php4/work/php-4.3.0/Zend/zend.c:864 #7 0x0813919b in php_execute_script (primary_file=0xbfbffb64) at /usr/ports/www/mod_php4/work/php-4.3.0/main/main.c:1582 #8 0x08180183 in main (argc=2, argv=0xbfbffbc4) at /usr/ports/www/mod_php4/work/php-4.3.0/sapi/cli/php_cli.c:753 #9 0x080647f5 in _start () (gdb) frame 3 #3 0x0817a56b in execute (op_array=0x823f000) at /usr/ports/www/mod_php4/work/php-4.3.0/Zend/zend_execute.c:1596 1596 ((zend_internal_function *) EX(function_state).function)-> handler(EX(opline)->extended_value, EX(Ts)[EX(opline)->result.u.var].var.ptr, EX(object).ptr, return_value_used TSRMLS_CC) ;I'm trying to understand the problem you're having, but I'm seeing some slightly conflicting information so I'd like to figure out if I'm reading you incorrectly... Running the following script using the php CLI executable, what is the *exact* output? (I'm just using ftp.kerneli.org as a known public ftp server for the sake of example) <?php $fp = ftp_connect("ftp.kerneli.org"); var_dump($fp); ftp_login($fp, "anonymous","ntrujillo@cox.net"); var_dump($fp); var_dump(ftp_nlist($fp,"/")); var_dump($fp); ?> Don't take this request as demeaning or belittleing, I'm just trying to approach this problem one step at a time. Note: be sure to grab the latest snapshot (Dated after: Feb 13, 2003 21:00 GMT) before you try this out, I've just recently fixed a segfault in the ftp extension which *may* be related.pollita, This script only breaks in http method, as the cli returns the desired output(snafu). The Httpd child dies with a segfault. This appears to only occur on the OS's listed on the main 4.3 distro of PHP as well as alot of the snaps I've tried. currently running FreeBSD 4.7-RELEASE #0: Wed Feb 12 19:59:59 GMT 2003 with php4.3.0 release (very stable). thanks for your time, as I will try the current snap tomorrow.pollita, I patched the file and recompiled. The simple script you gave me returned 0 results in web mode.(via httpd).A more complex script in Cli mode actually produced the best results (lengthy): http://www.kelvinbeats.com/pollita/ <? $fFp=ftp_connect("ahost.withalot.ofdirs"); ftp_login($fFp,'user','pw'); print_r(ftp_rawlist($fFp,'/'); ftp_close($fFp); ?>I hate to say this... but I just cannot reproduce this bug. I've installed FreeBSD 5.0 on a Pentium2-233, Apache 1.3.27, and a PHP 4.3 snapshot php4-STABLE-200302190030.tar.gz as a DSO (via --with-apxs). Using: <?php $fp = ftp_connect("ftp.us.debian.org"); var_dump($fp); ftp_login($fp, "anonymous", "pollita@php.net"); var_dump($fp); var_dump(ftp_rawlist($fp, "/debian/pool/main/p")); var_dump($fp); ftp_close($fp); ?> and get the listing of 488 files that is expected with no segfaults or other errors. There's clearly something 'special' about your installations which is triggering this bug to occur. Can you list any deviations from a standard install that are used on your server(s)? You never mentioned what architecture you're running on? Is it x86 or something else? Are you using NIS? clustering? Do you have any firewalling enabled? Recall that FTP connections use a separate command stream and data stream. Do other ftp_* commands work as expected? ftp_get() would be a good one to test.