Fuentes de errores "stack overflow"

16 views
Skip to first unread message

Juan Ignacio Dopazo

unread,
Oct 27, 2011, 1:21:23 PM10/27/11
to javasc...@googlegroups.com
Conozco dos posibles fuentes para este error:
Algunos sabe de alguna otra posible fuente para este error en Internet Explorer?

Saludos,

Juan

Sergio Cinos

unread,
Oct 27, 2011, 1:54:13 PM10/27/11
to javasc...@googlegroups.com
Hola,

Si estás usando eventos, es posible que tengas alguna cadena del tipo
evento A dispara evento B que dispara evento C que dispara evento A.
Siempre que me he encontrado con este problema, ha estado relacionado
en última isntancia con lo explicado en el arctículo de N. Zakas, pero
bastante más enrevesados que los ejemplos usados en dicho artículo.

Para debugearlo viene estupendo hacer un Profile del código,
identificando que funciones son llamadas en exceso. Si el código lo
has desarrollado tú, simplemente viendo las cantidad de llamadas a
cada función podrás identificar que va mal. Creo que las
WebDeveloperTools que incorpora Internet Explorer 8 o superiores
permiten profile (y mejor que el de Firebug para mi gusto).

Saludos
--
S.Cinos
JavaScript Developer at youzee.com

El día 27 de octubre de 2011 19:21, Juan Ignacio Dopazo
<dopaz...@gmail.com> escribió:

Juan Ignacio Dopazo

unread,
Oct 27, 2011, 9:55:43 PM10/27/11
to javasc...@googlegroups.com


2011/10/27 Sergio Cinos <sergio...@gmail.com>

Hola,

Si estás usando eventos, es posible que tengas alguna cadena del tipo
evento A dispara evento B que dispara evento C que dispara evento A.
Siempre que me he encontrado con este problema, ha estado relacionado
en última isntancia con lo explicado en el arctículo de N. Zakas, pero
bastante más enrevesados que los ejemplos usados en dicho artículo.

Para debugearlo viene estupendo hacer un Profile del código,
identificando que funciones son llamadas en exceso. Si el código lo
has desarrollado tú, simplemente viendo las cantidad de llamadas a
cada función podrás identificar que va mal. Creo que las
WebDeveloperTools que incorpora Internet Explorer 8 o superiores
permiten profile (y mejor que el de Firebug para mi gusto).

Saludos
-

Sí, pasé un profiler pero no llegué a ninguna conclusión más que algún arreglo pequeño de performance. Si tuviera un bucle infinito estaría fallando en todos los navegadores, pero el mensaje sólo lo recibo en Internet Explorer. Creo que realmente estoy llegando al límite de la pila de llamadas.

Tengo un TreeView que es un Widget y que tiene una relacion padre-hijo con TreeNodes. Los TreeNodes también pueden ser padres. Es decir, al renderizar el TreeView se crean los TreeNodes y sus descendientes pasando por una pila de llamadas relativamente extensa: TreeNode -> Widget -> Base -> Attribute -> EventTarget -> Base llama a initializer en Widget y TreeNode, luego Widget#render recorre la cadena de prototipos y ejecuta varios metodos, dispara eventos, cambia estados, etc y eso por cada nodo. En total hay cerca de 200 nodos, así que podría estar pegando en el limite de ~2000 llamadas en IE. Pero el arbol no es muy profundo, por lo que no estoy convencido de que sea eso.


Juan
Reply all
Reply to author
Forward
0 new messages