Open
Bug 455194
Opened 16 years ago
Updated 1 year ago
socket.c hangs in "UDP Client/Server Test - IPv6/Ipv4" on FreeBSD 7.0
Categories
(NSPR :: NSPR, defect)
Tracking
(Not tracked)
NEW
People
(Reporter: wtc, Unassigned)
Details
I built NSPR_4_7_2_BETA3 on FreeBSD 7.0. When I run the socket.c test program, it hangs: ------------------------------------------------------------ $ ./socke t TCP Client/Server Test - IPv4/Ipv4 'PR_NewSem' is obsolete. Use 'locks & condition variables' instead. 'PR_WaitSem' is obsolete. Use 'locks & condition variables' instead. 'PR_PostSem' is obsolete. Use 'locks & condition variables' instead. TCP_Socket_Client_Server_Test: 1 Server 5 Clients 5 connections_per_client : 10 messages_per_connection 1024 bytes_per_message TCP_Socket_Client_Server_Test Passed TCP Client/Server Test - IPv6/Ipv4 TCP_Socket_Client_Server_Test: 1 Server 5 Clients 5 connections_per_client : 10 messages_per_connection 1024 bytes_per_message TCP_Socket_Client_Server_Test Passed TCP Client/Server Test - IPv4/Ipv6 TCP_Socket_Client_Server_Test: 1 Server 5 Clients 5 connections_per_client : 10 messages_per_connection 1024 bytes_per_message TCP_Socket_Client_Server_Test Passed TCP Client/Server Test - IPv6/Ipv6 TCP_Socket_Client_Server_Test: 1 Server 5 Clients 5 connections_per_client : 10 messages_per_connection 1024 bytes_per_message TCP_Socket_Client_Server_Test Passed UDP Client/Server Test - IPv4/Ipv4 UDP_Socket_Client_Server_Test: 1 Server 10 Clients : 5 datagrams_per_client 128 bytes_per_datagram UDP_Socket_Client_Server_Test Passed UDP Client/Server Test - IPv6/Ipv4 ------------------------------------------------------------ I found that two tests, "UDP Client/Server Test - IPv6/Ipv4" and "UDP Client/Server Test - IPv4/Ipv6", hang. All the other tests pass. So this may indicate a problem with IPv4-mapped IPv6 address support for IPv6 UDP sockets. Note that NSPR sets the IPV6_V6ONLY socket option to 0 (false) on FreeBSD. If we don't do that, the TCP client-server tests between IPv4 and IPv6 will fail. This machine has the following network interfaces: $ ifconfig -a le0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:0c:29:f6:75:9f inet 75.101.18.82 netmask 0xffffff00 broadcast 75.101.18.255 media: Ethernet autoselect status: active plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000
Reporter | ||
Comment 1•16 years ago
|
||
On this FreeBSD 7.0 system, _PR_INET6_PROBE is defined, and _pr_ipv6_is_present() returns true, so we can create AF_INET6 sockets. If NSPR doesn't set the IPV6_V6ONLY socket option to 0 (false), connect() fails with 22 (EINVAL) for TCP sockets, and fails with 65 (EHOSTUNREACH) for UDP sockets during the client-server tests between IPv4 and IPv6. Since the support for IPv4-mapped IPv6 addresses is not as important as in the era of RFC 2553, this is just a minor bug.
Updated•2 years ago
|
Severity: minor → S4
Comment 2•1 year ago
|
||
The bug assignee is inactive on Bugzilla, so the assignee is being reset.
Assignee: wtc → nobody
You need to log in
before you can comment on or make changes to this bug.
Description
•