ID: 30027 Comment by: cfield at affinitysolutions dot com Reported By: sbrown at truckstuffusa dot com Status: Open Bug Type: FTP related Operating System: Redhat 9 PHP Version: 4.3.8 New Comment:
I have the same problem on an SMP redhat 9 system, i can get it to stop the segmentation faults by adding "((e-ptr)>0) &&" to the while loop condition on line 732 of ftp.c, however now i am getting sporadic extra newlines (always in the same places in the file,see below for line numbers etc. ) however, if i slowly step through the interaction it does not put the extra new line in.... line number written bytes total bytes 504 126475 126475 689 46333 172808 2589 474698 647506 3088 105999 753505 3766 145320 898825 5005 304503 1203328 5163 40804 1244132 5221 12232 1256364 5587 91208 1347572 7454 424119 1771691 7790 80126 1851817 10501 686879 2538696 10680 42243 2580939 12103 361663 2942602 13382 311479 3254081 13921 137267 3391348 16803 724748 4116096 18468 414953 4531049 18654 43412 4574461 18934 63798 4638259 18988 13696 4651955 20429 349357 5001312 21981 390490 5391802 25524 906947 6298749 27445 448641 6747390 29239 497920 7245310 30083 220342 7465652 30274 46327 7511979 31340 270732 7782711 32882 353352 8136063 33421 123803 8259866 34365 224338 8484204 36254 449849 8934053 Previous Comments: ------------------------------------------------------------------------ [2004-09-17 16:25:50] sbrown at truckstuffusa dot com 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) ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ 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/30027 -- Edit this bug report at http://bugs.php.net/?id=30027&edit=1