users@jersey.java.net

Re: [Jersey] Help with strange jersey client "Cannot allocate memory" exception?

From: Morten <mortench2004_at_yahoo.dk>
Date: Wed, 1 Sep 2010 05:01:06 -0700 (PDT)

Hi Poul Thanks for the response. My collegue tried Jersey's own build-in tests using mvn from the repository you pointed to and got a similar error. Strangely, the service can be accessed from a browser without problems and even from jersey client in a non-test. Is it even remotely possible that this could be caused by a rare race condition in Jersey client or Java or do you think it is definitely a problem with the machine ? Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 13.705 sec <<< FAILURE! testWebResources [felix](com.sun.jersey.samples.helloworld.test.WebAppFelixTest) Time elapsed: 13.671 sec <<< ERROR! org.ops4j.pax.exam.spi.container.TestContainerException: Cannot get the remote bundle context at org.ops4j.pax.exam.rbc.client.RemoteBundleContextClient.getRemoteBundleContext(RemoteBundleContextClient.java:324) at org.ops4j.pax.exam.rbc.client.RemoteBundleContextClient.waitForState(RemoteBundleContextClient.java:265) at org.ops4j.pax.exam.container.def.internal.PaxRunnerTestContainer.waitForState(PaxRunnerTestContainer.java:317) at org.ops4j.pax.exam.container.def.internal.PaxRunnerTestContainer.start(PaxRunnerTestContainer.java:272) at org.ops4j.pax.exam.junit.internal.JUnit4TestMethod.invoke(JUnit4TestMethod.java:142) at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:105) at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:86) at org.ops4j.pax.exam.junit.internal.JUnit4MethodRoadie.runBeforesThenTestThenAfters(JUnit4MethodRoadie.java:60) at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:84) at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49) at org.ops4j.pax.exam.junit.JUnit4TestRunner.invokeTestMethod(JUnit4TestRunner.java:246) at org.ops4j.pax.exam.junit.JUnit4TestRunner.runMethods(JUnit4TestRunner.java:196) at org.ops4j.pax.exam.junit.JUnit4TestRunner$2.run(JUnit4TestRunner.java:186) at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:34) at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:44) at org.ops4j.pax.exam.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:182) at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:165) at org.apache.maven.surefire.Surefire.run(Surefire.java:107) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:289) at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1005) Caused by: java.rmi.ConnectIOException: Exception creating connection to: 192.168.2.1; nested exception is: java.net.SocketException: Cannot allocate memory at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:614) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322) at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at org.ops4j.pax.exam.rbc.client.RemoteBundleContextClient.getRemoteBundleContext(RemoteBundleContextClient.java:302) ... 25 more Caused by: java.net.SocketException: Cannot allocate memory at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at java.net.Socket.<init>(Socket.java:375) at java.net.Socket.<init>(Socket.java:189) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595) ... 30 more --- Den man 30/8/10 skrev Paul Sandoz <Paul.Sandoz@oracle.com>: > Fra: Paul Sandoz <Paul.Sandoz@oracle.com> > Emne: Re: [Jersey] Help with strange jersey client "Cannot allocate memory" exception? > Til: users@jersey.dev.java.net > Dato: mandag 30. august 2010 14.43 > > On Aug 30, 2010, at 2:23 PM, Morten wrote: > > > Hi, > > > > I am using Jersey 1.3 on the server and jersey client > for tests and I am experiencing a strange unit test > exception on one computer out of six (fails on one, works > fine on 5 computer, fails on just one). We are using newest > release versions of Java +  JDK 1.6_20 on Macs, Windows > and Linux. > > > > Everything works on my Mac but one team member (also > on a Mac) gets exceptions like the one below for ALL our > webservice calls in tests.  It seems to be client > related as manual requests using a browser works just fine > also for him. At first we used Jersey 1.2 but upgrading to > newest version of Jersey and newest embedded grizzly did not > change anything. I also have removed all authentication > without any improvement. > > > > Any ideas for what could cause this ? A bug in jersey > ? Machine configuration ? Any suggestions for how to find > out more ? > > > > This seems to be a resource issue with the machine. The > stack trace goes all the way to socket creation so i doubt > it is directly a Jersey issue. Perhaps check the maven/JVM > options being used? > > I suspect you might be able to reproduce by writing a > simple Java app using HttpURLConnection directly. > > > > P.S: Maybe I should ask him to run the build in tests > for the jersey project? What is the easiest way to do that > (what to download?) > > > > You will need to check out Jersey do to that: > >   https://jersey.dev.java.net/nonav/documentation/latest/user-guide.html#d4e1772 > > Paul. > > >   [junit] > com.sun.jersey.api.client.ClientHandlerException: > java.net.ConnectException: Cannot allocate memory > >    [junit] at > com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:128) > >    [junit] at > com.sun.jersey.api.client.Client.handle(Client.java:569) > >    [junit] at > com.sun.jersey.api.client.WebResource.handle(WebResource.java:556) > >    [junit] at > com.sun.jersey.api.client.WebResource.post(WebResource.java:219) > >    [junit] at > com.myapp.api.control.remote.WebServiceApiImpl$AsynchronousBackupServiceInvokerAdaptor.clear(WebServiceApiImpl.java:84) > >    [junit] at > com.myapp.ws.controller.activities.ActivitiesTest.remoteInvoke(ActivitiesTest.java:387) > >    [junit] at > com.myapp.ws.controller.activities.ActivitiesTest.getActivities(ActivitiesTest.java:164) > >    [junit] Caused by: > java.net.ConnectException: Cannot allocate memory > >    [junit] at > java.net.PlainSocketImpl.socketConnect(Native Method) > >    [junit] at > java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) > >    [junit] at > java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) > >    [junit] at > java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) > >    [junit] at > java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432) > >    [junit] at > java.net.Socket.connect(Socket.java:529) > >    [junit] at > sun.net.NetworkClient.doConnect(NetworkClient.java:158) > >    [junit] at > sun.net.www.http.HttpClient.openServer(HttpClient.java:394) > >    [junit] at > sun.net.www.http.HttpClient.openServer(HttpClient.java:529) > >    [junit] at > sun.net.www.http.HttpClient.<init>(HttpClient.java:233) > >    [junit] at > sun.net.www.http.HttpClient.New(HttpClient.java:306) > >    [junit] at > sun.net.www.http.HttpClient.New(HttpClient.java:323) > >    [junit] at > sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860) > >    [junit] at > sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801) > >    [junit] at > sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726) > >    [junit] at > sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049) > >    [junit] at > java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373) > >    [junit] at > com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:215) > >    [junit] at > com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:126) > >    [junit] > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscribe@jersey.dev.java.net > > For additional commands, e-mail: users-help@jersey.dev.java.net > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscribe@jersey.dev.java.net > For additional commands, e-mail: users-help@jersey.dev.java.net > >