Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 51523 invoked from network); 21 Nov 2006 13:54:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 21 Nov 2006 13:54:18 -0000 Received: (qmail 28657 invoked by uid 500); 21 Nov 2006 13:54:24 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 28618 invoked by uid 500); 21 Nov 2006 13:54:23 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 28589 invoked by uid 99); 21 Nov 2006 13:54:23 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Nov 2006 05:54:23 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of alexei.fedotov@gmail.com designates 64.233.162.205 as permitted sender) Received: from [64.233.162.205] (HELO nz-out-0102.google.com) (64.233.162.205) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Nov 2006 05:54:11 -0800 Received: by nz-out-0102.google.com with SMTP id k1so1040174nzf for ; Tue, 21 Nov 2006 05:53:51 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=mguv8P4VDCgEZRwkgCib4ay+Hu7MJos9t1dRnyJMeTAigHt/hfaNIqkvU2TCPcvY1/ALhtZwqQWHIiAmCI+H46+4BxLHy/gW+DV3IRfZRuAGTQY0j45y58wjsr4SqJKp03rsnK/jSwc7RRKy87Uz4U5qsl/M6ftJPOxFO6xHm9U= Received: by 10.65.159.2 with SMTP id l2mr10973513qbo.1164117231098; Tue, 21 Nov 2006 05:53:51 -0800 (PST) Received: by 10.65.83.11 with HTTP; Tue, 21 Nov 2006 05:53:50 -0800 (PST) Message-ID: Date: Tue, 21 Nov 2006 16:53:50 +0300 From: "Alexei Fedotov" To: dev@harmony.apache.org Subject: Re: [classlib][net] issue H-1879 HttpURLConnectionTest In-Reply-To: <834b3bd50611210131t643dadb2n56be43d1742c71c9@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <834b3bd50611210002s22a3144fy9290711b986c2b3d@mail.gmail.com> <4562C415.8060400@gmail.com> <834b3bd50611210131t643dadb2n56be43d1742c71c9@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org Denis wrote, > Yep, Harmony+DRLVM on SuSE A peculiar thing about this test is that it passes on SuSE 10, but fails on SuSE 9 which is used for our regression test runs. -- Thank you, Alexei On 11/21/06, Denis Kishenko wrote: > 2006/11/21, Jimmy, Jing Lv : > > Denis Kishenko wrote: > > > Hi all > > > > > > I'm investigating H-1879 and need some help or recommendations from net > > > guru. > > > I have extracted failed test from > > > org.apache.harmony.tests.internal.net.www.protocol.http.HttpURLConnectionTest, > > > > > > please see below. It failed with connection refused exception. > > > > > > Java code works well, it looks like some problem with native code. By > > > the way telnet can't connect to created server too. > > > > > > If somebody can help with this issue it would be great. > > > > > > Thanks. > > > > > > =========== Test ============== > > > > > > package org.apache.harmony.tests.internal.net.www.protocol.http; > > > > > > import java.io.IOException; > > > import java.net.HttpURLConnection; > > > import java.net.InetSocketAddress; > > > import java.net.Proxy; > > > import java.net.ServerSocket; > > > import java.net.Socket; > > > import java.net.SocketTimeoutException; > > > import java.net.URL; > > > > > > import junit.framework.TestCase; > > > > > > public class SimpleTest extends TestCase { > > > > > > private final static Object bound = new Object(); > > > > > > static class MockServer extends Thread { > > > ServerSocket serverSocket; > > > boolean accepted = false; > > > > > > public MockServer(String name) throws IOException { > > > super(name); > > > > > > serverSocket = new ServerSocket(0); > > > serverSocket.setSoTimeout(1000); > > > } > > > > > > public int port() { > > > return serverSocket.getLocalPort(); > > > } > > > > > > public void run() { > > > try { > > > synchronized (bound) { > > > bound.notify(); > > > } > > > try { > > > serverSocket.accept().close(); > > > accepted = true; > > > } catch (SocketTimeoutException ignore) { > > > } > > > serverSocket.close(); > > > } catch (IOException e) { > > > throw new RuntimeException(e); > > > } > > > } > > > } > > > > > > public void testUsingProxy() throws Exception { > > > MockServer server = new MockServer("server"); > > > MockServer proxy = new MockServer("proxy"); > > > > > > URL url = new URL("http://localhost:" + server.port()); > > > > > > HttpURLConnection connection = (HttpURLConnection) url > > > .openConnection(new Proxy(Proxy.Type.HTTP, > > > new InetSocketAddress("localhost", > > > proxy.port()))); > > > > > > // HttpURLConnection connection = > > > (HttpURLConnection)url.openConnection(); > > > > > > connection.setConnectTimeout(2000); > > > connection.setReadTimeout(2000); > > > > > > server.start(); > > > synchronized(bound) { > > > bound.wait(5000); > > > } > > > proxy.start(); > > > synchronized(bound) { > > > bound.wait(5000); > > > } > > > > > > connection.connect(); > > > > > > server.join(); > > > proxy.join(); > > > } > > > > > > } > > > > > > ========= Harmony+drlvm output ============ > > > There was 1 error: > > > 1) > > > testUsingProxy(org.apache.harmony.tests.internal.net.www.protocol.http.SimpleTest)java.net.ConnectException: > > > > > > localhost/127.0.0.1:57896 - Connection refused > > > at > > > org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:224) > > > > > > at > > > org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:496) > > > > > > at java.net.Socket.connect(Socket.java:980) > > > at > > > org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getHTTPConnection(HttpURLConnection.java:627) > > > > > > at > > > org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:608) > > > > > > at > > > org.apache.harmony.tests.internal.net.www.protocol.http.SimpleTest.testUsingProxy(SimpleTest.java:78) > > > > > > at java.lang.reflect.VMReflection.invokeMethod(Native Method) > > > > > > FAILURES!!! > > > Tests run: 1, Failures: 0, Errors: 1 > > > > > > > The test passes on Harmony+IBMVME on WindowsXP on my desktop, so you > > mean Harmony+DRLVM here? > Yep, Harmony+DRLVM on SuSE > > > > > But IMHO the VM does not matter in network issues, the native code call > > directly to the system APIs(of course, through Port-Lib), so I wonder if > > there's something wrong in thread(handle by VM)? Just a thought. > > > > And IMO, that telnet shall not connect to the server is due to > > "serverSocket.setSoTimeout(1000);", which make "serverSocket.accept()" > > wait for only one second. > Of course I had changed timeout to 10sec when used telnet :) > > > > > I have to download Harmony+DRLVM to debug into, but the speed of network > > is poor here :) > > > > > > -- > > > > Best Regards! > > > > Jimmy, Jing Lv > > China Software Development Lab, IBM > > > > > -- > Denis M. Kishenko > Intel Middleware Products Division >