public void testAfterBindGetPortReturnsZero() throws Exception {
		String fixVersion = "1.6.0_02";
		String jdkVersion = System.getProperty("java.vm.version");
		
		if (jdkVersion.compareTo(fixVersion) >= 0)
			return;
		
		SocketChannel chan1 = SocketChannel.open();
		DatagramChannel chan2 = DatagramChannel.open();
		chan1.socket().setReuseAddress(true);
		chan2.socket().setReuseAddress(true);
		chan1.configureBlocking(false);
		chan2.configureBlocking(false);
		
		InetAddress loopBack = InetAddress.getByName("127.0.0.1");
		InetSocketAddress addr = new InetSocketAddress(loopBack, 0);
		chan1.socket().bind(addr);
		chan2.socket().bind(addr);
		
		//port doesn't return the port we bound too for tcp, but
		//does for udp
		int port1 = chan1.socket().getLocalPort();
		int port2 = chan2.socket().getLocalPort();
		assertTrue("TCP should not return 0 but does", port1 == 0);
		assertTrue("Udp should not return 0 and doesn't(good)", port2 != 0);

		SocketAddress tcpAddr = chan1.socket().getLocalSocketAddress();
		log.info("addr="+tcpAddr);
		InetSocketAddress expected = new InetSocketAddress(loopBack, 0);
		assertEquals("local addr port is returning 0, this is bad", expected, tcpAddr);
	}