<< Back to previous view

[QB-1019] ERROR - Error invoking hessian service
Created: 23/Aug/11  Updated: 14/Sep/11

Status: Closed
Project: QuickBuild
Component/s: None
Affects Version/s: 3.1.54
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Jan Koprowski Assigned To: Robin Shen
Resolution: Cannot Reproduce Votes: 0
Remaining Estimate: Unknown Time Spent: Unknown
Original Estimate: Unknown
Environment: Linux


 Description   
I turned on reporting ERROR level. After that I saw that SystemLog contain houndreds of following backtraces:

jvm 1 | 2011-08-23 18:13:12,730 ERROR - Error invoking hessian service.
jvm 1 | com.caucho.hessian.client.HessianConnectionException: HessianProxy cannot connect to 'http://192.168.0.1:8811/service/agent
jvm 1 | at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:192)
jvm 1 | at $Proxy46.getSystemAttributes(Unknown Source)
jvm 1 | at com.pmease.quickbuild.grid.DefaultAgentManager.newBuildAgent(DefaultAgentManager.java:177)
jvm 1 | at com.pmease.quickbuild.grid.DefaultAgentManager.buildAgentActive(DefaultAgentManager.java:150)
jvm 1 | at com.pmease.quickbuild.grid.ConnectServlet.connect(ConnectServlet.java:112)
jvm 1 | at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
jvm 1 | at java.lang.reflect.Method.invoke(Method.java:597)
jvm 1 | at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:192)
jvm 1 | at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:110)
jvm 1 | at com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:416)
jvm 1 | at com.pmease.quickbuild.grid.ConnectServlet.service(ConnectServlet.java:58)
jvm 1 | at com.pmease.quickbuild.web.HttpServiceProvider$1$1.service(HttpServiceProvider.java:86)
jvm 1 | at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
jvm 1 | at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
jvm 1 | at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
jvm 1 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
jvm 1 | at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318)
jvm 1 | at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
jvm 1 | at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:380)
jvm 1 | at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
jvm 1 | at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
jvm 1 | at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
jvm 1 | at org.mortbay.jetty.Server.handle(Server.java:324)
jvm 1 | at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
jvm 1 | at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
jvm 1 | at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:748)
jvm 1 | at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
jvm 1 | at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
jvm 1 | at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
jvm 1 | at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:636)
jvm 1 | at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
jvm 1 | Caused by: java.io.FileNotFoundException: http://192.168.0.1:8811/service/agent
jvm 1 | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
jvm 1 | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
jvm 1 | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
jvm 1 | at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
jvm 1 | at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1368)
jvm 1 | at java.security.AccessController.doPrivileged(Native Method)
jvm 1 | at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1362)
jvm 1 | at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1016)
jvm 1 | at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:177)
jvm 1 | ... 31 more
jvm 1 | Caused by: java.io.FileNotFoundException: http://192.168.0.1:8811/service/agent
jvm 1 | at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1311)
jvm 1 | at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
jvm 1 | at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:166)
jvm 1 | ... 31 more


I found topic http://forum.pmease.com/viewtopic.php?f=1&t=1732 but I can run

$telnet 192.168.0.1 8811
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.

Server under this IP address contain QB server - there is no agent.

node.properties file:
sslPort=8443
port=8811
keystorePassword=***
keystore=/path/to/keystore
privateKeyPassword=***
performance=20

 Comments   
Comment by Robin Shen [ 24/Aug/11 01:33 AM ]
Are you running the telnet from server machine?

The ip address "192.168.0.1" is detected from the http header when agent talks to server, then QB server uses the detected ip address to talk back to agent.
Comment by Jan Koprowski [ 24/Aug/11 04:40 AM ]
Yes, I'm running telnet from server machine - 192.168.0.1 is server machine :) So I'm conneting with the same machine, with server port 8811.
As far as I know there is no agent run on this machine (of course if server does not run their own agent) and I can connect with 192.168.0.1 on port 8811 from other server too - then I see quickbuild Configurations tree in browser.
Comment by Robin Shen [ 24/Aug/11 05:18 AM ]
Do you have some agent mis-configured with the ip address of "192.168.0.1"? I mean the ip address specified in "conf/node.properties" of the agent. Also is this error happening all the time?
Comment by Jan Koprowski [ 24/Aug/11 05:46 AM ]
There is no agent with this 192.168.0.1 IP address. In Grid I see server and 9 agents - and all works properly. Error happening all the time, one after another.
Is this error is caused by server which try connect to agent under 192.168.0.1 or agent which try connect to server under 192.168.0.1?
Comment by Jan Koprowski [ 24/Aug/11 05:51 AM ]
Is server have http://server.address/service/agent address like agent or not?
Comment by Robin Shen [ 24/Aug/11 07:03 AM ]
Server does not expose service "/service/agent". This error happens when agent sends heartbeat info to the server and reports its ip address as 192.168.0.1, and server then connects this ip address to verify the connectivity. There should exist an agent with wrong ip address. To find out, please stop QB, and use the database tool to remove all entries in QB_TOKEN table, then start QB server again, all agents will appear in the unauthorized agents, and you can check if there is an unauthorized agent has the ip address of 192.168.0.1.

Comment by Jan Koprowski [ 24/Aug/11 07:54 AM ]
I've cleaned QB_TOKEN table, and start server again. Neither of the agents' IP was 192.168.0.1 - I'm confused. It looks like server thinks is agent for itself. Strange.
Comment by Jan Koprowski [ 24/Aug/11 08:00 AM ]
Is "wrapper.service" set to TRUE for QB server is fine?
Comment by Robin Shen [ 25/Aug/11 01:51 AM ]
What do you mean wrapper.service?
Comment by Robin Shen [ 25/Aug/11 02:56 AM ]
Next patch release will print host name of the agent just before the error message, and hope this can trace the problem more easily.
Comment by Jan Koprowski [ 25/Aug/11 06:11 AM ]
1) In grid each agent have system.attribute "wrapper.service=TRUE". Is it related with /service/agent url?
2) Thank You - I'm waiting for this release
Comment by Robin Shen [ 25/Aug/11 08:40 AM ]
No this does not matter.
Comment by Jan Koprowski [ 13/Sep/11 02:57 PM ]
It looks like my friend solve the problem. At "URL to Access QuickBuild" field was http://192.168.0.1:8811 - but this address did not work. Changing it to https://192.168.0.1 - stop spaming in the log file - for now.
Comment by Robin Shen [ 14/Sep/11 12:11 AM ]
Closing this now. Please reopen it when it happens again.
Generated at Sat May 18 14:12:50 UTC 2024 using JIRA 189.