Tip para evitar caidas de Genexus X Ev1.

En los últimos días he estado trabajando bastante en una migración de una KB grande a la version GeneXus X, Evolution 1, Upgrade 7 (en otro post, contaré la experiencia y lo aprendido).

En general la migración funciona va muy bien, con algunos problemas que hemos ido solucionado, pero hay un error que todos los que han participado en la migración (unas 10 personas) se han quejado es que GeneXus da errores de falta de memoria. Esto se da por leaks y el error da en diferentes lugares y luego de varios minutos que se esta trabajando. 

Después que da el error, la unica solución que conozco es cerrar GeneXus y volver a ejecutarlo. El problema es que esto demora bastante.

Una solución bastante berreta, para evitar tener que salir y volver a entrar es ir al Extension Manager, habilitar o deshabilitar alguna extensión que no use y aplicar los cambios.  Con eso, se hace un restart mas rápido y se puede evitar problemas, sobre todo que las caidas no corten procesos que demoran y nos haga perder mas tiempo.

Un síntoma claro que vamos a tener problemas, es que se GeneXus se empieza a poner lento. Si en el Task Manager se ve que tiene muchos objetos GDI (digamos mas de 3000), ya pienso en hacer un restart. 

Se que Artech ha trabajado para solucionar este problema, para versiones posteriores al Upgrade 7.  


Comentarios

  1. Estaría interesante una extensión que advierta cuando el proceso tiene muchos GDI.
    También se que se pueden configurar los límites de GDI objects por usuario y por proceso. Incrementar esos límites te puede servir para disminuir la cantidad de caídas.

    ResponderBorrar
    Respuestas
    1. Pablo:
      Lo que hay que lograr, entre Artech y quienes desarrollamos extensiones es que no tener leaks que hagan que se consuma demasiada memoria o que se liberen los handles cuando corresponda...NO es tarea facil, pero hay que lograrlo...

      Borrar
  2. Hola Enrique, ¿cómo quedaron los archivos conversion.txt y conversion.txt.err al momento de la caída? No me pasó ese problema [por ahí quedan en blanco]. Pero si venían grabados ok, te podrían decir algo sobre el objeto donde se cayó la conversión. Aunque no quede una línea de log del objeto en sí, se podría sacar cuál es ordenando por tipo + alfabéticamente según el último procesado.

    Todo apuntando a ver si aparte del problema de las extensiones, puede haber algo con el objeto en particular,
    con su tamaño, con su lugar en la estructura de llamadas, con otras particularidades, etc. Y luego ver algún WA.

    saludos,
    Mariano

    ResponderBorrar
  3. Mariano:
    La conversion termino bien.
    El problema se da luego, cuando ests trabajando un rato largo, y se cae en diferentes lugares. No me pasa solo a mi, son unas 10 maquinas diferentes, y todas han tenido problema de quedarse sin memoria. Todas tienen 4Gb de memoria, pero no tienen toda la memoria ocupada cuando se caen.

    Parece ser un problema en el manejo interno de la memoria.

    Ya lograremos ailarlo y que se solucione.

    Gracias por el comentario.

    ResponderBorrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.