Refreshing RWT standalone throws exception [message #908754] |
Wed, 05 September 2012 20:19  |
Eclipse User |
|
|
|
I've built a proof of concept rwt standalone single source app.
Every second time I restart the session by pressing F5 I get the following exception:
2012-09-06 12:11:37.909:WARN:oejs.ServletHandler:ERROR: /ucv
java.lang.NullPointerException
at org.eclipse.swt.widgets.Synchronizer.removeFirst(Synchronizer.java:145)
at org.eclipse.swt.widgets.Synchronizer.releaseSynchronizer(Synchronizer.java:127)
at org.eclipse.swt.widgets.Display.release(Display.java:688)
at org.eclipse.swt.graphics.Device.dispose(Device.java:287)
at org.eclipse.rap.rwt.internal.lifecycle.SimpleLifeCycle$SimpleSessionShutdownAdapter$1.run(SimpleLifeCycle.java:92)
at org.eclipse.rap.rwt.internal.lifecycle.FakeContextUtil.runNonUIThreadWithFakeContext(FakeContextUtil.java:58)
at org.eclipse.rap.rwt.internal.lifecycle.SimpleLifeCycle$SimpleSessionShutdownAdapter.interceptShutdown(SimpleLifeCycle.java:87)
at org.eclipse.rap.rwt.internal.service.SessionStoreImpl.valueUnbound(SessionStoreImpl.java:182)
at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.clearSessionStore(LifeCycleServiceHandler.java:155)
at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.reinitializeSessionStore(LifeCycleServiceHandler.java:140)
at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.handlePostRequest(LifeCycleServiceHandler.java:88)
at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.synchronizedService(LifeCycleServiceHandler.java:67)
at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.service(LifeCycleServiceHandler.java:58)
at org.eclipse.rap.rwt.engine.RWTServlet.handleValidRequest(RWTServlet.java:101)
at org.eclipse.rap.rwt.engine.RWTServlet.doPost(RWTServlet.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.rap.rwt.osgi.internal.CutOffContextPathWrapper.service(CutOffContextPathWrapper.java:106)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:384)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:350)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:900)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:954)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:851)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
at java.lang.Thread.run(Unknown Source)
The session starts correctly. The first restart (by pressing F5) throws the exception. Every second F5 from then on throws the same exception.
Any ideas? I'm using the nightly RAP 2.0 build 20120904-0111
The messageLock field in Synchronizer is null, which leads me to believe its releaseSynchronizer method is being called twice, but the only call I can find to that method is wraped in the if (!isDisposed) {... block in Device#dispose
|
|
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.09722 seconds