ID:               30027
 User updated by:  sbrown at truckstuffusa dot com
 Reported By:      sbrown at truckstuffusa dot com
-Status:           Feedback
+Status:           Open
 Bug Type:         FTP related
 Operating System: Redhat 9
 PHP Version:      4.3.8
 New Comment:

Downloaded CVS last night, still get the seg fault:

# php --version
PHP 4.3.9RC4-dev (cgi) (built: Sep 17 2004 09:19:39) (DEBUG)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

# gdb php
(gdb) run script-backup
Starting program: /usr/local/bin/php script-backup
...
 
Program received signal SIGSEGV, Segmentation fault.
0x4207bb01 in memchr () from /lib/tls/libc.so.6
(gdb) bt
#0  0x4207bb01 in memchr () from /lib/tls/libc.so.6
#1  0x0805eaa8 in ftp_get (ftp=0x81828ac, outstream=0x81a6afc,
path=0x81a6604 "/x-stuff/php/dashboard_projectmgmt.php",
type=FTPTYPE_ASCII, resumepos=0)
    at /usr/local/src/php-src/ext/ftp/ftp.c:730
#2  0x0805c141 in zif_ftp_get (ht=4, return_value=0x81a6184,
this_ptr=0x0, return_value_used=1) at
/usr/local/src/php-src/ext/ftp/php_ftp.c:637
#3  0x0811cb8f in execute (op_array=0x81885b8) at
/usr/local/src/php-src/Zend/zend_execute.c:1640
#4  0x0811cdbb in execute (op_array=0x8189310) at
/usr/local/src/php-src/Zend/zend_execute.c:1684
#5  0x0811cdbb in execute (op_array=0x81827d4) at
/usr/local/src/php-src/Zend/zend_execute.c:1684
#6  0x0810ac19 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /usr/local/src/php-src/Zend/zend.c:891
#7  0x080d6795 in php_execute_script (primary_file=0xbffff0e0) at
/usr/local/src/php-src/main/main.c:1735
#8  0x081238cc in main (argc=2, argv=0xbffff184) at
/usr/local/src/php-src/sapi/cgi/cgi_main.c:1592
(gdb) up
#1  0x0805eaa8 in ftp_get (ftp=0x81828ac, outstream=0x81a6afc,
path=0x81a6604 "/x-stuff/php/dashboard_projectmgmt.php",
type=FTPTYPE_ASCII, resumepos=0)
    at /usr/local/src/php-src/ext/ftp/ftp.c:730
730                             while ((s = memchr(ptr, '\r', (e -
ptr)))) {
(gdb) p s
$1 = 0x81a6e57 "\n var contacts_win = "
(gdb) p ptr
$2 = 0x81a6e58 " var contacts_win = "
(gdb) p e
$3 = 0x81a6c4a "\n<tcus();\r\n}\r\n-->\r\n</script>\r\n<?\r\nif
(isset($_GET['publisher']))\r\n   echo '<form name=\"frm_deleteprj\"
action=\"'.$_SERVER['PHP_SELF'].'?publisher='.$publisher.'\"
method=POST>';\r\n elseif (isset($_GET['s"...
(gdb)


Previous Comments:
------------------------------------------------------------------------

[2004-09-16 10:48:10] [EMAIL PROTECTED]

Get the latest stable CVS snapshot of PHP 4 and configure it with this
line:

# ./configure --disable-all --enable-ftp --enable-debug

Run your script in command line instead and try to generate the gdb
backtrace with it.


------------------------------------------------------------------------

[2004-09-08 18:11:30] sbrown at truckstuffusa dot com

And just in case, here's the bt:

(gdb) bt
#0  0x4207bae0 in memchr () from /lib/tls/libc.so.6
#1  0x0807ebb0 in ftp_get (ftp=0x8366c4c, outstream=0x83a0fdc,
path=0x83991cc "/x-stuff/mir_libraries/lib-htmlMimeMail.php",
type=FTPTYPE_ASCII, resumepos=0)
    at /usr/local/src/php-4.3.8/ext/ftp/ftp.c:730
#2  0x0807bf69 in zif_ftp_get (ht=4, return_value=0x83a0f9c,
this_ptr=0x0, return_value_used=1) at
/usr/local/src/php-4.3.8/ext/ftp/php_ftp.c:637
#3  0x081ecfb0 in execute (op_array=0x836c920) at
/usr/local/src/php-4.3.8/Zend/zend_execute.c:1635
#4  0x081ed22b in execute (op_array=0x836d648) at
/usr/local/src/php-4.3.8/Zend/zend_execute.c:1679
#5  0x081ed22b in execute (op_array=0x8366b74) at
/usr/local/src/php-4.3.8/Zend/zend_execute.c:1679
#6  0x081d9783 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /usr/local/src/php-4.3.8/Zend/zend.c:891
#7  0x0819e9b7 in php_execute_script (primary_file=0xbffffad0) at
/usr/local/src/php-4.3.8/main/main.c:1734
#8  0x081f3e3d in main (argc=2, argv=0xbffffb64) at
/usr/local/src/php-4.3.8/sapi/cli/php_cli.c:822
(gdb)

------------------------------------------------------------------------

[2004-09-08 18:10:00] sbrown at truckstuffusa dot com

Program received signal SIGSEGV, Segmentation fault.
0x4207bae0 in memchr () from /lib/tls/libc.so.6
(gdb) up
#1  0x0807ebb0 in ftp_get (ftp=0x8366c4c, outstream=0x83a0fdc,
path=0x83991cc "/x-stuff/mir_libraries/lib-htmlMimeMail.php",
type=FTPTYPE_ASCII, resumepos=0)
    at /usr/local/src/php-4.3.8/ext/ftp/ftp.c:730
730                             while ((s = memchr(ptr, '\r', (e -
ptr)))) {
(gdb) p s
$1 = 0x83a0ea9 "\r:\bÐ\016:\b\f"
(gdb) p ptr
$2 = 0x83a0eaa ":\bÐ\016:\b\f"
(gdb) p e
$3 = 0x838be9c "\n\t\t\t\t\t$content_type =
$this->image_types[strtolower($ext)];\r\n\t\t\t\t\t$this->addHtmlImage($image,
basename($html_images[$i]),
$content_type);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n/**\r\n*
Adds an image to the list of e"...
(gdb)

------------------------------------------------------------------------

[2004-09-08 17:37:47] [EMAIL PROTECTED]

In gdb for that core, could you type:
  up
  p s
  p ptr
  p e
and add the output to this bug please.

------------------------------------------------------------------------

[2004-09-08 17:00:56] sbrown at truckstuffusa dot com

Description:
------------
I'm using PHP 4.3.8 in CLI on a Redhat 9 server.  Using the FTP
functions to backup some files via FTP.  The script connects to a
server via FTP, downloads some files and tars them up.  I'm getting an
intermittent segfault during the download process.  By "intermittent",
I mean that the fault does not occur every time, nor does it occur
after downloading the same file every time.  I am connecting to a
windows-based host if that matters.  I have been able to reproduce this
crash on two different systems:

================================
System 1:
Redhat 9
PHP 4.3.8 compiled as Apache2 module
SMP-based system
Config.nice: './configure' \
'--with-mysql' \
'--with-apxs2=/pub/apache/bin/apxs' \
'--with-mcrypt=/usr/local/lib' \
'--with-curl=/usr/local' \
'--enable-ftp' \
'--with-imap=/usr/local/imap' \
'--with-jpeg' \
'--with-jpeg-dir=/usr/local/lib' \
'--with-png' \
'--with-png-dir=/usr/local/lib' \
'--with-zlib-dir=/usr/local/lib' \
'--with-gd' \
'--with-freetype' \
'--with-freetype-dir=/usr/local/lib' \
'--with-ttf' \
'--enable-debug' \
"$@"

=====================================

System 2:
Redhat 9
PHP 4.3.8 compiled as Apache2 module
Single CPU
Config.nice: './configure' \
'--with-mysql' \
'--with-apxs2=/pub/apache/bin/apxs' \
'--enable-ftp' \
'--enable-debug' \
"$@"
==========================

When this fault occurs, both systems produce identical backtraces:


Program received signal SIGSEGV, Segmentation fault.
0x4207bb01 in memchr () from /lib/tls/libc.so.6
(gdb) bt
#0  0x4207bb01 in memchr () from /lib/tls/libc.so.6
#1  0x0807ebb0 in ftp_get (ftp=0x8366c4c, outstream=0x83a22f4,
path=0x839bcb4 "/x-stuff/ssl/reconcilepo.php", type=FTPTYPE_ASCII,
resumepos=0)
    at /usr/local/src/php-4.3.8/ext/ftp/ftp.c:730
#2  0x0807bf69 in zif_ftp_get (ht=4, return_value=0x839da54,
this_ptr=0x0, return_value_used=1) at
/usr/local/src/php-4.3.8/ext/ftp/php_ftp.c:637
#3  0x081ecfb0 in execute (op_array=0x836c920) at
/usr/local/src/php-4.3.8/Zend/zend_execute.c:1635
#4  0x081ed22b in execute (op_array=0x836d648) at
/usr/local/src/php-4.3.8/Zend/zend_execute.c:1679
#5  0x081ed22b in execute (op_array=0x8366b74) at
/usr/local/src/php-4.3.8/Zend/zend_execute.c:1679
#6  0x081d9783 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /usr/local/src/php-4.3.8/Zend/zend.c:891
#7  0x0819e9b7 in php_execute_script (primary_file=0xbffffad0) at
/usr/local/src/php-4.3.8/main/main.c:1734
#8  0x081f3e3d in main (argc=2, argv=0xbffffb64) at
/usr/local/src/php-4.3.8/sapi/cli/php_cli.c:822




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=30027&edit=1

Reply via email to