We’ve had a few clients report that when they launch our SaaS solution, it comes up Starting Solution, and then never starts… it just sits at a blank gray screen in the servoy client.
The thing is, we have other clients connecting to the same system (as we are a SaaS environment)
In one case, the client could connect from one PC, but not another on his network. So, we believe it’s PC specific.
We went in, cleared the .servoy files, cleared the java files and even reinstalled java, disabled any firewall and even prayed to the computer gods.
Same results no matter what we did.
Anyone have any ideas on what we can try here to figure this out?
I still have this user who cannot get in. The solution downloads in smart client and then freezes with a gray screen saying starting repository.
The log file appears to keep requesting the same thing over and over again. I have asked them to look at their firewall, both on the machine and external, but they say it is clear.
Am i right in thinking this has to be a firewall blocking port 8080 traffic coming back to his machine?
Because the client tries to get some config information from the server to start it self up.
But it seems that it constantly tries to do that. This can mean 2 things or it really doesnt get a response from the server (it is blocked)
or it does get something but cant use that value to initialize it (its a port where the client tries to bind something on so then it is a firewall on the client)
What do you get back from /servoy-rmi-portserver to the server on that same client machine?
(problem is that in a browser that could work because it does use the right proxy)
Maybe you can set the right proxy settings hard in your java preferences proxy settings?
I was with the client yesterday, and now he couldn’t even get the application to work or download at all:
this was the Java Error in the unable to launch application:
java.lang.NullPointerException,
at com.sun.deploy.net.proxy.DeployProxySelector.select(Unknown
Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown
Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown
Source)
at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown
Source))
at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown
Source)
at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown
Source)
at com.sun.javaws.LaunchDownload.getUpdatedLaunchDesc(Unknown
Source))
at com.sun.javaws.Launcher.updateFinalLaunchDesc(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source))
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
The port out of range:-1 is of concern. The localhost log in the server file doesnt seem to register any log for this event either.
java.lang.IllegalArgumentException: port out of range:-1
at java.net.InetSocketAddress.<init>(Unknown Source):
at com.sun.deploy.net.proxy.DynamicProxyManager$1.run(Unknown
Source))
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.net.proxy.DynamicProxyManager.getProxy(Unknown
Source)
at com.sun.deploy.net.proxy.DynamicProxyManager.getProxyList(Unknown
Source)
at com.sun.deploy.net.proxy.DeployProxySelector.select(Unknown
Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown
Source))
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown
Source)
at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown
Source))
at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown
Source)
at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown
Source)
at com.sun.javaws.LaunchDownload.getUpdatedLaunchDesc(Unknown
Source))
at com.sun.javaws.Launcher.updateFinalLaunchDesc(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source))
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
What i do not understand her is that one of the errors seems to metion port 1099, yet this server is set to the hhtp tunnelling mode, which i thought only used port 8080.
Java Web Start 1.6.0_11
Using JRE version 1.6.0_11 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\acreamer
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
0-5: set trace level to <n>
----------------------------------------------------
22-Jan-2009 14:19:06 com.servoy.j2db.util.Debug log
INFO: Starting Servoy from C:\Documents and Settings\acreamer\Desktop
22-Jan-2009 14:19:06 com.servoy.j2db.util.Debug log
INFO: Servoy 3.5.7 build-520 on Windows XP using Java 1.6.0_11
22-Jan-2009 14:19:28 com.servoy.j2db.util.Debug error
SEVERE: Throwable:
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method).
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source))
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient
(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown
Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown
Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source)
at java.net.URL.openStream(Unknown Source)
at com.servoy.j2db.util.Settings.load(Unknown Source)
at com.servoy.j2db.J2DBClient.t(Unknown Source)
at com.servoy.j2db.J2DBClient.a(Unknown Source)
at com.servoy.j2db.J2DBClient.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
22-Jan-2009 14:19:28 com.servoy.j2db.util.Debug error
SEVERE: Throwable:
java.net.SocketException: factory already defined
at java.rmi.server.RMISocketFactory.setSocketFactory(Unknown Source)
at com.servoy.j2db.J2DBClient.a(Unknown Source)
at com.servoy.j2db.J2DBClient.u(Unknown Source)
at com.servoy.j2db.J2DBClient.a(Unknown Source)
at com.servoy.j2db.J2DBClient.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
22-Jan-2009 14:19:28 com.servoy.j2db.util.Debug error
SEVERE: Already factory registered
com.sun.deploy.net.protocol.rmi.DeployRMISocketFactory
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source))
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient
(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown
Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown
Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source)
at java.net.URLConnection.getContent(Unknown Source)
at java.net.URL.getContent(Unknown Source)
at com.servoy.j2db.Messages.a(Unknown Source)
at com.servoy.j2db.Messages.load(Unknown Source)
at com.servoy.j2db.J2DBClient.long(Unknown Source)
at com.servoy.j2db.ClientState.case(Unknown Source))
at com.servoy.j2db.J2DBClient.case(Unknown Source)))
at com.servoy.j2db.J2DBClient.a(Unknown Source)
at com.servoy.j2db.J2DBClient.main(Unknown Source)))
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
22-Jan-2009 14:20:49 com.servoy.j2db.util.Debug error
SEVERE: Error getting the service servoy.IRepository from host
reportwriter.d2expert.co.uk:1099
java.rmi.ConnectException: Connection refused to host:
reportwriter.d2expert.co.uk; nested exception is:
java.net.ConnectException: Connection timed out: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at com.servoy.j2db.J2DBClient.getServerService(Unknown Source)
at com.servoy.j2db.J2DBClient.goto(Unknown Source)
at com.servoy.j2db.ClientState.dataBaseInit(Unknown Source)
at com.servoy.j2db.J2DBClient.dataBaseInit(Unknown Source))
at com.servoy.j2db.J2DBClient.a(Unknown Source)
at com.servoy.j2db.J2DBClient.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection timed out: connect
at sun.rmi.transport.proxy.RMIMasterSocketFactory.checkConnector
(Unknown Source)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket
(Unknown Source)
... 21 more
22-Jan-2009 14:21:47 com.servoy.j2db.util.Debug error
SEVERE: Error getting the service servoy.IDataServer from host
reportwriter.d2expert.co.uk:1099
java.rmi.ConnectException: Connection refused to host:
reportwriter.d2expert.co.uk; nested exception is:
java.net.ConnectException: Connection timed out: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at com.servoy.j2db.J2DBClient.getServerService(Unknown Source)
at com.servoy.j2db.J2DBClient.e(Unknown Source)
at com.servoy.j2db.ClientState.new(Unknown Source)
at com.servoy.j2db.J2DBClient.new(Unknown Source))
at com.servoy.j2db.J2DBClient.a(Unknown Source)
at com.servoy.j2db.J2DBClient.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection timed out: connect
at sun.rmi.transport.proxy.RMIMasterSocketFactory.checkConnector
(Unknown Source)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket
(Unknown Source)
... 21 more
that last one is weird. That is just a normal http get to our server to load the settings
thats before the client or tunnel is setup. (because that is what the settings do specify)
So you should look what that one is not connecting to the server.
Is it possible that the client isn’t resolving the hostname correctly? In a test setup where I had the hostname explicitly defined instead of the default 127.0.0.1 (java.rmi.server.hostname: ) and the client couldn’t resolve, I got the behavior you described.
Putting a hostname entry in C:\windows\system32\drivers\etc\hosts fixed the problem.
also check the proxy settings on that client.
It also could be that those c lients dont have the right proxy settings somehowe (port -1)
in the java preferences (network section) you can try to set the option to use a direct connection.