2010-11-08 13 views
5

tengo una aplicación que funciona bien en Firefox pero cuando probé en en IE8, tengo un extraño error: 'Stack overflow at line: 0'¿Cómo saber si un objeto es "demasiado grande" para RPC en GWT e IE8?

Después de una sugerencia del grupo de discusión GWT que podría estar relacionado con objetos grandes/complejos de ser devuelto a partir de llamadas RPC, pude reducir el problema a una de mis llamadas al servidor RPC, que devuelve un objeto grande y complejo.

Si es cierto que el error se debe a que un objeto grande es demasiado grande o complejo, ¿cómo sé esto? ¿Dónde está el umbral de "demasiado grande"?

Otros comentarios de la discusión de GWT indican que los objetos de colecciones son probablemente el problema, pero esto es de la experiencia de otro desarrollador de GWT. ¿Está esto documentado en cualquier lugar por los doctores o el equipo de GWT?

Pero aun así, la pregunta sigue siendo: ¿cómo sé cuándo es "lo suficientemente pequeña"?

Respuesta

0

Todavía no sé si hay una respuesta a la pregunta especificada sobre el tamaño de un objeto, pero mi problema terminó siendo que tenía referencias recursivas a otros objetos en el objeto que estaba devolviendo. Bien, no recursivo explícitamente, sino referencias en el objeto A al objeto B que hacía referencia al objeto A, etc. etc. Era una estructura de árbol genealógico, por lo que había mapas de relaciones para cada individuo, que contenía referencias a otros individuos relacionados, que tenían referencias volver al individuo relacionado, etc. Funciona bien en la memoria, con las referencias al mismo objeto, pero aparentemente el javascript que GWT generó para IE no pudo deserializarlo correctamente.

0

La mejor manera de solucionar este sería el uso de la bandera -compileReport al compilar el código de GWT, hay una guía para desarrolladores y algunas muestras disponibles aquí:

tengo lo usé dentro de una secuencia de comandos ant con GWT 1.6.x y 2.x.

PD: Sin saber con qué versión de GWT está trabajando realmente no puedo ofrecer nada más útil. Sin embargo, podría ser algo a tener en cuenta si está utilizando algo más antiguo que 2.1, ya que introdujeron Data Presentation Widgets que posiblemente podría resolver sus problemas de objetos que son "demasiado grandes".

+0

Estamos usando GWT 2.0. Gracias por el consejo sobre compileReport. Solo he robado esa página, pero parece que tiene muchas cosas útiles que será bueno saber para el futuro. – user26270

0

También estaba obteniendo 'Desbordamiento de pila en la línea: 0' al cargar mi página de GWT. Termina que, en mi caso, la aplicación solo se quejó cuando se usaba la URL del modo de depuración de Eclipse, incluido el fragmento de ggtt.codesvr = 127.0.0.1: 9997. Después de eliminar ese fragmento en la URL, el error desapareció.

Cuestiones relacionadas