Reputation: 4617
If client side code changes we can refresh the page to recompile it and see the results. It worked nice with GWT 2.4
As of GWT 2.5 there is a problem. Upon page refreshing a com.google.gwt.user.client.rpc.SerializationException
is thrown.
If I restart the web application and refresh the page everything goes fine. So it seems to be some bug in GWT.
A few details:
com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException: The response could not be deserialized at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:221) at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:395) 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.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338) at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) at com.google.gwt.core.client.impl.Impl.apply(Impl.java) at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:242) 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.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364) at java.lang.Thread.run(Unknown Source) Caused by: com.google.gwt.user.client.rpc.SerializationException: java.lang.RuntimeException: Unable to find class com.google.gwt.user.client.rpc.core.java.lang.Integer_FieldSerializer at com.google.gwt.user.client.rpc.impl.SerializerBase.getTypeHandler(SerializerBase.java:164) at com.google.gwt.user.client.rpc.impl.SerializerBase.instantiate(SerializerBase.java:114) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:396) at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:119) at ru.minogin.data.shared.model.BaseEntity_FieldSerializer.deserialize(BaseEntity_FieldSerializer.java:29) at ru.minogin.data.shared.model.OrderedEntity_FieldSerializer.deserialize(OrderedEntity_FieldSerializer.java:22) at ru.pickbook.shared.model.Format_FieldSerializer.deserialize(Format_FieldSerializer.java:133) at ru.pickbook.shared.model.Format_FieldSerializer.deserial(Format_FieldSerializer.java:163) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:95) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:398) at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:119) at ru.pickbook.shared.model.Album_FieldSerializer.deserialize(Album_FieldSerializer.java:105) at ru.pickbook.shared.model.Album_FieldSerializer.deserial(Album_FieldSerializer.java:141) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:95) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:398) at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:119) at ru.pickbook.shared.model.OrderItem_FieldSerializer.deserialize(OrderItem_FieldSerializer.java:48) at ru.pickbook.shared.model.OrderItem_FieldSerializer.deserial(OrderItem_FieldSerializer.java:75) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:95) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:398) at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:119) at com.google.gwt.user.client.rpc.core.java.util.Collection_CustomFieldSerializerBase.deserialize(Collection_CustomFieldSerializerBase.java:34) at com.google.gwt.user.client.rpc.core.java.util.HashSet_CustomFieldSerializer.deserialize(HashSet_CustomFieldSerializer.java:34) at com.google.gwt.user.client.rpc.core.java.util.HashSet_FieldSerializer.deserial(HashSet_FieldSerializer.java:19) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:95) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:398) at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:119) at ru.pickbook.shared.model.Order_FieldSerializer.deserialize(Order_FieldSerializer.java:152) at ru.pickbook.shared.model.Order_FieldSerializer.deserial(Order_FieldSerializer.java:196) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:95) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:398) at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:119) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter$ResponseReader$8.read(RequestCallbackAdapter.java:106) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:214) ... 28 more Caused by: java.lang.RuntimeException: Unable to find class com.google.gwt.user.client.rpc.core.java.lang.Integer_FieldSerializer at com.google.gwt.user.client.rpc.impl.ReflectionHelper.loadClass(ReflectionHelper.java:93) at com.google.gwt.user.client.rpc.impl.SerializerBase.getTypeHandler(SerializerBase.java:160) ... 61 more Caused by: java.lang.ClassNotFoundException at com.google.gwt.dev.shell.CompilingClassLoader$MultiParentClassLoader.findClass(CompilingClassLoader.java:368) at com.google.gwt.dev.shell.CompilingClassLoader$MultiParentClassLoader.loadClass(CompilingClassLoader.java:388) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.google.gwt.user.client.rpc.impl.ReflectionHelper.loadClass(ReflectionHelper.java:91) ... 62 more
Upvotes: 3
Views: 537
Reputation: 7404
The bug is not in the GWT framework, but in the browser plugins. It shouldn't happen in production mode.
If possible, switch to SuperDev Mode, you will get rid of the exceptions.
Upvotes: 0