2010-01-19 19 views
6

Ho aggiornato l'SDK GWT da 1.5.3 a 2.0.0 su un progetto. Sono riuscito a risolvere tutti i problemi tranne uno.problema con GWT 2.0 Plug-in per sviluppatori di Chrome

Non riesco a utilizzare la modalità di sviluppo con chrome. La pagina di login dei miei carichi applicativi perfettamente, ma quando provo ad login (vale a dire fare un RPC) ottengo il seguente errore:

com.google.gwt.core.client.JavaScriptException: (Error): Error calling method on NPObject! stack: Error: Error calling method on NPObject! at eval at eval (native v8natives.js:132:1) at unknown source at __gwt_jsInvoke (http://grapple:8087/hosted.html:70:35) at Array.0 (eval at eval (native v8natives.js:132:1)) at Object. (unknown source) at __gwt_jsInvoke (http://grapple:8087/hosted.html:70:35) at Array.1 (eval at eval (native v8natives.js:132:1)) at Object. (unknown source) at __gwt_jsInvoke (http://grapple:8087/hosted.html:70:35) at Array.1 (eval at eval (native v8natives.js:132:1)) __gwt_ObjectId: 2835 at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:195) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:284) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107) at com.google.gwt.user.client.rpc.impl.SerializerBase$MethodMap$.deserialize$(SerializerBase.java) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:124) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:116) at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:61) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter$ResponseReader$8.read(RequestCallbackAdapter.java:104) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:197) at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:396) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) 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:157) at com.google.gwt.dev.shell.BrowserChannel.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1713) at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:264) 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:188) at sun.reflect.GeneratedMethodAccessor231.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) 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:157) at com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1668) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:401) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222) at java.lang.Thread.run(Thread.java:619)

sto usando Chrome 4.0.295.0 e sviluppatore del plugin 1.0.7263.

La modalità Sviluppo funziona correttamente su FF e IE.

Avete qualche idea di cosa sta succedendo?

Grazie.

+0

Solo un'altra cosa, la pagina funziona bene su Chrome distribuito. – Isac

risposta

7

Non sono sicuro che si tratti di un bug nel plug-in sviluppatore, potrebbe essere una limitazione del browser.

Man mano che l'applicazione diventa più complessa, il limite di dimensioni dello stack del browser verrà raggiunto. Alcuni browser hanno limiti più alti di altri (vedi http://tests.novemberborn.net/javascript/callstack-size.html in vari browser). Safari ha il più alto per quanto ne so, e c'è un plugin per sviluppatori GWT ufficiale per questo - almeno sulla piattaforma Mac.

Il plug-in (su tutte le piattaforme) aggiunge un notevole sovraccarico allo stack (motivo per cui questo problema di solito sembra scomparire in produzione) quindi se si desidera continuare a sviluppare l'applicazione in modalità di debug il miglior consiglio è probabilmente quello di ristrutturare il tuo codice. È probabile che tu stia cercando di gestire troppi dati sul lato client contemporaneamente.

0

Sembra che il plugin Chrome abbia problemi con oggetti profondamente nidificati e serializzati in devmode. Nella mia app, invio un albero profondo e fallisce in Chrome ma riesce in Firefox.

Problemi correlati