Hello everyone and Happy New Year!
We've run into a situation where it appears that Smart Clients running on Windows (XP/7/8) using Java 7 Update 21 or later cannot be shutdown from the Application Server, even after multiple attempts to kill from the Application Server. No errors are observed while doing the Application Server kill command itself (Server display that it was successful), but the Server log provides the following error:
2013-12-31 15:42 TaskExecuter[0] ERROR com.servoy.j2db.dataprocessing.Zb Error flushing message buffer to client 74CBF405-24D3-4A7A-A6A5-C78BA85F619F
java.lang.NullPointerException
at sun.awt.SunToolkit.getSystemEventQueueImplPP(Unknown Source)
at sun.awt.SunToolkit.getSystemEventQueueImplPP(Unknown Source)
at sun.awt.SunToolkit.getSystemEventQueueImpl(Unknown Source)
at java.awt.Toolkit.getEventQueue(Unknown Source)
at java.awt.EventQueue.invokeLater(Unknown Source)
at javax.swing.SwingUtilities.invokeLater(Unknown Source)
at com.servoy.j2db.smart.J2DBClient.invokeLater(J2DBClient.java:3944)
at com.servoy.j2db.ClientState.invokeLater(ClientState.java:1626)
at com.servoy.j2db.ClientStub.shutDown(ClientStub.java:64)
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 sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at com.sun.proxy.$Proxy16.shutDown(Unknown Source)
at com.servoy.j2db.dataprocessing.ClientProxy.Zc(ClientProxy.java:158)
at com.servoy.j2db.dataprocessing.Zo.run(Zo.java:21)
at com.servoy.j2db.util.TaskExecuter.run(TaskExecuter.java:82)
at java.lang.Thread.run(Unknown Source)
Also, broadcast messages from the Application Server to the Smart Client application do not make it to the Smart Client.
The Smart Client will continue to run on the user workstation even past a complete shutdown and start up of the Application Server. However, at that time the Smart Client will error out and finally exit.
Our Application Server is 5.2.10 on CentOS Linux 32-bit running JRE 1.6 Update 45. We are in progress with our application upgrade to Servoy 7, but in the meantime this can cause some issues especially with user deployments. We have tested the same server configuration with end-user JRE 1.7 Update 17 and it works.
Any ideas would be greatly appreciated. Thanks!
Regards, Tony