ID: 29431 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Closed +Status: Open Bug Type: Network related Operating System: Linux 2.4 PHP Version: 5.1.0-cvs New Comment:
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) Previous Comments: ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ [2004-07-30 19:23:35] [EMAIL PROTECTED] Works flawlessly here; are you sure you're running head? udp.php: <?php $socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND); if (!$socket) die("$errstr ($errno)"); do { $pkt = stream_socket_recvfrom($socket, 1, 0, $peer); print_r($pkt); print_r($peer); stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer); } while ($pkt !== false); ?> % php udp.php & % php -r '$f = fsockopen("udp://127.0.0.1", 1113); fwrite($f, 'x'); var_dump(fgets($f));' ------------------------------------------------------------------------ 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