PaintException: Failed to serialize shared state for connector

Hi,

I am facing the following issue:

PaintException: Failed to serialize shared state for connector

Strange is that this error is irregullar.

I use the share state to send Entity to the client. Each Entity has defined serialVersionUID.

Thanks for any help

Tomas

Hi Tomas,

Could you copypaste the complete stack trace with all the “caused by” exceptions included? Sounds like sometimes your entity contains something unserializable and sometimes not. Note that Vaadin does not use the normal Java binary serialization but a custom JSON format instead, so an object that is Serializable is not necessarily passable in the shared state.

here is the stack trace:

Jul 21, 2014 9:23:48 AM com.vaadin.server.DefaultErrorHandler doDefault
SEVERE:
com.vaadin.server.PaintException: Failed to serialize shared state for connector com.cgi.arm.mwm.monitor.ui.server.BridgeComponent (29): null
at com.vaadin.server.communication.SharedStateWriter.write(SharedStateWriter.java:66)
at com.vaadin.server.communication.UidlWriter.write(UidlWriter.java:123)
at com.vaadin.server.communication.UidlRequestHandler.writeUidl(UidlRequestHandler.java:149)
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:97)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:37)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1390)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:238)
at com.vaadin.addon.touchkit.server.TouchKitServlet.service(TouchKitServlet.java:58)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:185)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:159)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.cgi.arm.mwm.monitor.core.servlet.AuthFilter.doFilter(AuthFilter.java:64)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.json.JSONException
at com.vaadin.server.JsonCodec.encodeObject(JsonCodec.java:753)
at com.vaadin.server.JsonCodec.encode(JsonCodec.java:682)
at com.vaadin.server.LegacyCommunicationManager.encodeState(LegacyCommunicationManager.java:115)
at com.vaadin.server.AbstractClientConnector.encodeState(AbstractClientConnector.java:237)
at com.vaadin.server.communication.SharedStateWriter.write(SharedStateWriter.java:60)
… 34 more
Caused by: org.json.JSONException
at com.vaadin.server.JsonCodec.encodeObject(JsonCodec.java:753)
at com.vaadin.server.JsonCodec.encode(JsonCodec.java:682)
at com.vaadin.server.JsonCodec.encodeObject(JsonCodec.java:743)
… 38 more
Caused by: org.json.JSONException
at com.vaadin.server.JsonCodec.encodeObject(JsonCodec.java:753)
at com.vaadin.server.JsonCodec.encode(JsonCodec.java:682)
at com.vaadin.server.JsonCodec.encodeChild(JsonCodec.java:815)
at com.vaadin.server.JsonCodec.encodeCollection(JsonCodec.java:804)
at com.vaadin.server.JsonCodec.encode(JsonCodec.java:648)
at com.vaadin.server.JsonCodec.encodeObject(JsonCodec.java:743)
… 40 more
Caused by: java.lang.NullPointerException
at com.vaadin.server.JsonCodec$MethodProperty.getName(JsonCodec.java:135)
at com.vaadin.server.JsonCodec.encodeObject(JsonCodec.java:718)
… 45 more

Hi,

I thought I had replied to this thread before my vacation, but apparently didn’t do so or the forum ate my message :frowning: Sorry about that.

Is there a property in your entity that only has a getter and no setter? It seems Vaadin requires both to be present even for shared state properties which in principle should only require a getter.