Friday, October 28, 2011

Re: Chrome 15, GWT DMP Plugin crashes

I narrowed the problem down to a JSNI-call right after view
initialization. I guess something in the sluggish development-mode is
too slow when additional native code is executed and a timeout occurs.
After modifying the native call with a delay like this, it works fine:
public static native void init() /*-{
$wnd.setTimeout($wnd.initialize, 100);
}-*/;

Note, that the $wnd.initialize() method is rather light weight and
normally completed within some 10ms, so the function itself should not
be the reason why the DMP plugin locks up.

Besides delaying the initialization, the native call returns
immediately so the normal view creation process can continue.

On Oct 28, 11:32 am, Robert Becker <rob...@rbecker.eu> wrote:
> Same problem here. Everything worked fine until the last update to
> Chrome 15. Source code of the application did not change at all.
>
> The application starts and after switching to a different view, chrome
> becomes unresponsive and theDMPcrashes.
>
> On Oct 26, 7:38 pm, pjspychala <tomatoactiva...@gmail.com> wrote:
>
>
>
>
>
>
>
> > After upgrading to a new version of the browser (Chrome 15) it seems
> > that the plugin no longer likes whats going on. I've tried
> > uninstalling and reinstalling the plugin without success.
>
> > What happens:
>
> > Webapp loads
> > I can do some actions on the webapp, but 95% of actions will freeze
> > chrome. Eventually chrome will ask to disable the plugin which will
> > unfreeze the good stuff which will leave me with this inside Eclipse:
>
> > 13:32:15.151 [ERROR] [???] Remote connection lost
>
> > com.google.gwt.dev.shell.BrowserChannel$RemoteDeathError: Remote
> > connection lost
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChanne lServer.java:
> > 307)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChan nelServer.java:
> > 546)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java :
> > 363)
> >     at java.lang.Thread.run(Unknown Source)
> > Caused by: java.net.SocketException: Connection reset by peer: socket
> > write error
> >     at java.net.SocketOutputStream.socketWrite0(Native Method)
> >     at java.net.SocketOutputStream.socketWrite(Unknown Source)
> >     at java.net.SocketOutputStream.write(Unknown Source)
> >     at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
> >     at java.io.BufferedOutputStream.flush(Unknown Source)
> >     at java.io.DataOutputStream.flush(Unknown Source)
> >     at com.google.gwt.dev.shell.BrowserChannel
> > $ReturnMessage.send(BrowserChannel.java:1310)
> >     at com.google.gwt.dev.shell.BrowserChannel
> > $ReturnMessage.send(BrowserChannel.java:1315)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChanne lServer.java:
> > 295)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChan nelServer.java:
> > 546)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java :
> > 363)
> >     at java.lang.Thread.run(Unknown Source)
>
> > which is expected and this:
>
> > 13:32:15.080 [ERROR] [???] Uncaught exception escaped
>
> > com.google.gwt.dev.shell.BrowserChannel$RemoteDeathError: Remote
> > connection lost
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingFo rReturn(BrowserChannelServer.java:
> > 354)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChann elServer.java:
> > 218)
> >     at
> > com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:
> > 136)
> >     at
> > com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:
> > 561)
> >     at
> > com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:
> > 269)
> >     at
> > com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.j ava:
> > 91)
> >     at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
> >     at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213)
> >     at sun.reflect.GeneratedMethodAccessor39.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.jav a:
> > 172)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChanne lServer.java:
> > 292)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChan nelServer.java:
> > 546)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java :
> > 363)
> >     at java.lang.Thread.run(Unknown Source)
> > Caused by: java.net.SocketException: Connection reset by peer: socket
> > write error
> >     at java.net.SocketOutputStream.socketWrite0(Native Method)
> >     at java.net.SocketOutputStream.socketWrite(Unknown Source)
> >     at java.net.SocketOutputStream.write(Unknown Source)
> >     at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
> >     at java.io.BufferedOutputStream.flush(Unknown Source)
> >     at java.io.DataOutputStream.flush(Unknown Source)
> >     at com.google.gwt.dev.shell.BrowserChannel
> > $ReturnMessage.send(BrowserChannel.java:1310)
> >     at com.google.gwt.dev.shell.BrowserChannel
> > $ReturnMessage.send(BrowserChannel.java:1315)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingFo rReturn(BrowserChannelServer.java:
> > 340)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChann elServer.java:
> > 218)
> >     at
> > com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:
> > 136)
> >     at
> > com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:
> > 561)
> >     at
> > com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:
> > 269)
> >     at
> > com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.j ava:
> > 91)
> >     at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
> >     at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213)
> >     at sun.reflect.GeneratedMethodAccessor39.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.jav a:
> > 172)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChanne lServer.java:
> > 292)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChan nelServer.java:
> > 546)
> >     at
> > com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java :
> > 363)
> >     at java.lang.Thread.run(Unknown Source)
>
> > Nothing to exciting.

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment