[Mono-bugs] [Bug 462688] New: IPv6 bug in TcpClient calling Socket.Bind()
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sun Dec 28 14:32:40 EST 2008
https://bugzilla.novell.com/show_bug.cgi?id=462688
Summary: IPv6 bug in TcpClient calling Socket.Bind()
Product: Mono: Runtime
Version: 2.0.x
Platform: i686
OS/Version: Linux
Status: NEW
Severity: Normal
Priority: P5 - None
Component: remoting
AssignedTo: lluis at novell.com
ReportedBy: d.paleino at gmail.com
QAContact: mono-bugs at lists.ximian.com
Found By: Development
Trying to debug why a c# IRC client did not connect through IPv6, I've found
out that a bug probably exists in TcpClient calling Bind(). I'm attaching a
simple testcase, with a server and a client both communicating locally with
IPv6.
Also, I believe it's the internal call of Bind() from TcpClient that is buggy,
since an implementation with the lower-level Socket class is successful.
Here's the mdb run (sorry I've not been able to go further):
$ mdb ./Client/bin/Debug/Client.exe
Mono Debugger
(mdb) run
Starting program: ./Client/bin/Debug/Client.exe
Thread @1 stopped at #0: 0xb79547b9 in ipv6.Client.Main(string[])+0x9 at
/home/neo/code/c-sharp/ipv6/Client/Client.cs:31.
31 if (!Socket.OSSupportsIPv6) {
(mdb) c
Unhandled Exception: System.Net.Sockets.SocketException: Invalid arguments
at System.Net.Sockets.Socket.Bind (System.Net.EndPoint local_end) [0x0006c]
in /tmp/buildd/mono-2.0.1/mcs/class/System/System.Net.Sockets/Socket.cs:2038
at System.Net.Sockets.TcpClient..ctor (AddressFamily family) [0x0002c] in
/tmp/buildd/mono-2.0.1/mcs/class/System/System.Net.Sockets/TcpClient.cs:87
at ipv6.Client.Main (System.String[] args) [0x00028] in
/home/neo/code/c-sharp/ipv6/Client/Client.cs:40
Thread @1 caught unhandled exception at #0: 0xb700d77b in
System.Net.Sockets.Socket.Bind(System.Net.EndPoint)+0xeb.
0xb700d77b add %ch,0xffffffe4(%eax)
(mdb) f
#0: 0xb700d77b in System.Net.Sockets.Socket.Bind(System.Net.EndPoint)+0xeb
0xb700d77b add %ch,0xffffffe4(%eax)
(mdb) show locals
ERROR: Selected stack frame has no method.
(mdb) show params
ERROR: Selected stack frame has no method.
(mdb) up
#1: 0xb700d4de in
System.Net.Sockets.TcpClient..ctor(System.Net.Sockets.AddressFamily)+0x56 at
/tmp/buildd/mono-2.0.1/mcs/class/System/System.Net.Sockets/TcpClient.cs:87
0xb700d4de call
0xb700d690:System.Net.Sockets.Socket.Bind(System.Net.EndPoint)
(mdb) show locals
(mdb) show params
family = (System.Net.Sockets.AddressFamily) InterNetworkV6
(mdb) up
#2: 0xb795481b in ipv6.Client.Main(string[])+0x6b at
/home/neo/code/c-sharp/ipv6/Client/Client.cs:40
40 TcpClient client = new
TcpClient(AddressFamily.InterNetworkV6);
(mdb) show locals
b = (byte[]) null
client = <cannot display object>
ip = (System.Net.IPAddress) { m_Address = 0, m_Family = InterNetworkV6,
m_Numbers = 0x0008b6e0,
m_ScopeId = 0, m_HashCode = 0 }
iploop = (System.Net.IPAddress) { m_Address = 0, m_Family = InterNetworkV6,
m_Numbers = 0x000484a0, m_ScopeId = 0, m_HashCode = 0 }
IPv6_ADDR = (string) "::1"
(mdb) show params
args = (string[]) [ ]
(mdb)
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list