ID: 29431 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Closed Bug Type: Network related Operating System: Linux 2.4 PHP Version: 5.1.0-cvs New Comment:
Nope, not a PHP; that indicates that inet_ntoa has a memory leak. However: man inet_ntoa --> The inet_ntoa() function converts the Internet host address in given in network byte order to a string in standard numbers-and-dots notation. The string is returned in a statically allocated buffer, which subsequent calls will overwrite. It's not PHP's responsibility to clean that up, and most likely it's something that valgrind should suppress anyway, and its only 18 bytes ;-) Previous Comments: ------------------------------------------------------------------------ [2004-07-31 13:16:20] [EMAIL PROTECTED] The problem is fixed! Thanks!!! But valgrind still complains... Not sure if it's related with streams, but: ==14229== 18 bytes in 1 blocks are still reachable in loss record 1 of 3 ==14229== at 0x40026BB2: malloc (vg_replace_malloc.c:153) ==14229== by 0x4058638B: inet_ntoa (in /lib/libc-2.3.3.so) ==14229== by 0x81BE8BE: php_network_populate_name_from_sockaddr (network.c:593) ==14229== by 0x81CA06C: php_sockop_set_option (xp_socket.c:223) ==14229== by 0x81C27BB: _php_stream_set_option (streams.c:1110) ==14229== by 0x81C988A: php_stream_xport_recvfrom (transports.c:433) ==14229== by 0x81A4FED: zif_stream_socket_recvfrom (streamsfuncs.c:328) ==14229== by 0x8209810: zend_do_fcall_common_helper (zend_execute.c:2699) ==14229== by 0x82099FE: zend_do_fcall_handler (zend_execute.c:2831) ==14229== by 0x8205FF7: execute (zend_execute.c:1391) ==14229== by 0x81E9D59: zend_execute_scripts (zend.c:1068) ==14229== by 0x81B443F: php_execute_script (main.c:1631) ==14229== by 0x821118F: main (php_cli.c:943) ==14229== by 0x404E1858: __libc_start_main (in /lib/libc-2.3.3.so) ==14229== by 0x8080550: (within /usr/local/bin/php) ==14229== ==14229== ==14229== 100 bytes in 1 blocks are still reachable in loss record 2 of 3 ==14229== at 0x40026BB2: malloc (vg_replace_malloc.c:153) ==14229== by 0x81D353B: yy_flex_alloc (zend_language_scanner.c:6260) ==14229== by 0x81D33DB: yy_push_state (zend_language_scanner.c:6149) ==14229== by 0x81D0B02: lex_scan (zend_language_scanner.l:1152) ==14229== by 0x81DDE90: zendlex (zend_compile.c:3682) ==14229== by 0x81CEE8C: zendparse (zend_language_parser.c:2632) ==14229== by 0x81CF2F2: compile_file (zend_language_scanner.l:375) ==14229== by 0x81E9D21: zend_execute_scripts (zend.c:1064) ==14229== by 0x81B443F: php_execute_script (main.c:1631) ==14229== by 0x821118F: main (php_cli.c:943) ==14229== by 0x404E1858: __libc_start_main (in /lib/libc-2.3.3.so) ==14229== by 0x8080550: (within /usr/local/bin/php) ------------------------------------------------------------------------ [2004-07-31 13:03:55] [EMAIL PROTECTED] Looks like I forgot to commit some changes; should be fixed now in both HEAD and 5.0 branches. ------------------------------------------------------------------------ [2004-07-31 12:25:34] [EMAIL PROTECTED] # strace -e trace=network php udp.php socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = -1 EAFNOSUPPORT (Address family not supported by protocol) socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 bind(3, {sa_family=AF_INET, sin_port=htons(1113), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 recv(3, "x", 8192, 0) = 1 xsendto(3, "Sat Jul 31 10:34:20 2004\r\n", 26, 0, {sa_family=0x3032 /* AF_??? */ , sa_data="04\0\0\0\0\24\325\377\277\2568)@"}, 0) = -1 EINVAL (Invalid argument) Warning: stream_socket_sendto() [/manual/function.stream-socket-sendto.html]: In valid argument in /transfer/udp.php on line 10 It just outputs 'x', so $peer is empty. ------------------------------------------------------------------------ [2004-07-31 12:06:23] [EMAIL PROTECTED] Please try the script I posted. Paste it's output. If it doesn't work, run it using: strace -e trace=net php udp.php and paste that output too. ------------------------------------------------------------------------ [2004-07-30 21:05:49] [EMAIL PROTECTED] Yep! I've done a cvsclean (and a cvs update) and re-compiled everything, and still get the same backtrace/error. ------------------------------------------------------------------------ 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/29431 -- Edit this bug report at http://bugs.php.net/?id=29431&edit=1