Error al generar datos SIU-Araucano

Hola Juan Pablo

Esos log tienen que ver con un proceso en background de detección de egresados y no con la Generación de datos SIU-Araucano, igualmente deberían solucionar ese problema. Les sugerimos seguir el paso de 6 la documentación de instalación

Con respecto al problema de timeout en la generacion de datos SIU-Araucano les puede servir este foro

Saludos

Buenas tardes Sergio:
Te agradezco por la respuesta, te cuento que hice lo que me indicaste

Esos log tienen que ver con un proceso en background de detección de egresados y no con la Generación de datos SIU-Araucano, igualmente deberían solucionar ese problema. Les sugerimos seguir el paso de 6 la documentación de instalación
Ésto está solucionado Pero con respecto a tema de la generación de archivos Araucano te cuento que leyendo el foro que me pasaste he logrado encontrar el error, el tema es que éste error solo me lo dá cuando ejecuto el sistema via toba_editor por que si me conecto a Gestión con cualquier usuario no informa absolutamente nada en ningún log. He probado con todo lo indicado en el foro, modificando valores en Sesión - Tope no interaccion y en Sesión - Duracion máxima los 2 estan en 3600 minutos y me pasaba lo mismo. Luego leí lo del toba_editor e ingresando por ahí me da el error de memoria de php. - Error cuando configuro php.ini con 4084MB en memory_limit
[Fri Jul 17 14:11:24.677716 2020] [core:notice] [pid 29266] AH00094: Command line: '/usr/sbin/apache2' PHP Fatal error: Allowed memory size of 2097152 bytes exhausted (tried to allocate 4096 bytes) in /usr/local/proyectos/guarani/vendor/rospdf/pdf-php/src/Cpdf.php on line 2396 PHP Fatal error: Allowed memory size of 2097152 bytes exhausted (tried to allocate 4096 bytes) in /usr/local/proyectos/guarani/vendor/rospdf/pdf-php/src/Cpdf.php on line 2396 [Fri Jul 17 14:17:00.767235 2020] [mpm_prefork:notice] [pid 29266] AH00169: caught SIGTERM, shutting down [Fri Jul 17 14:17:02.115086 2020] [mpm_prefork:notice] [pid 29440] AH00163: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Fri Jul 17 14:17:02.115483 2020] [core:notice] [pid 29440] AH00094: Command line: '/usr/sbin/apache2'
- Error cuando configuro php.ini en -1 (supuestamente no tiene tope de memoria)
[Fri Jul 17 14:20:00.882810 2020] [mpm_prefork:notice] [pid 29440] AH00169: caught SIGTERM, shutting down [Fri Jul 17 14:20:02.165818 2020] [mpm_prefork:notice] [pid 29522] AH00163: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Fri Jul 17 14:20:02.166208 2020] [core:notice] [pid 29522] AH00094: Command line: '/usr/sbin/apache2' [Fri Jul 17 14:21:27.084455 2020] [php7:error] [pid 29525] [client 10.10.1.22:50383] PHP Fatal error: Out of memory (allocated 55050240) (tried to allocate 8192 bytes) in /usr/local/proyectos/guarani/php/nucleo/_lib/utilidades/guarani_logs.php on line 66, referer: http://10.10.1.24/guarani/ 3.16/aplicacion.php?tm=1&tcm=previsualizacion&ai=guarani||32000041

El otro tema que queria preguntar es si hay condiciones para poder generar los datos de Arauncano (todas las actas cerradas por ejemplo), por que pienso que por ahí además de éstos errores puede estar pasando algo mas.

Muchas Gracias

Juan Pablo Arango - Universidad Nacional Raúl Scalabrini Ortíz

Hola!

El error que se menciona en los logs que adjuntan, hacen referencia a la clase guarani_logs y esa clase no se utiliza en la generación de datos SIU-Araucano, esa clase se utiliza para generar la información de ejecución de procesos background. Seguramente se están ejecutando desde otro lado algún proceso que genera ese error!

Saludos!

Buenas noches, te pido por favor que me digas entonces donde tengo que buscar posibles fallas en la generación de los datos de Araucano por que estoy en un testing y el único error que tira durante el proceso de generación son los últimos que te pasé.

Saludos

Juan Pablo Arango - Universidad Nacional Raúl Scalabrini Ortíz

Hola, parece ser falta de memoria:

[Fri Jul 17 14:21:27.084455 2020] [php7:error] [pid 29525] [client 10.10.1.22:50383] PHP Fatal error: Out of memory (allocated 55050240) (tried to allocate 8192 bytes)

Fijate el punto 3 de los Requisitos previos, la directiva memory_limit en principio.

Referencia:

https://gnumax.org/php-fatal-error-memory-en-wordpress/

saludos.
2

Hola, agrego a lo anterior:

La operación Generar Datos SIU-Araucano no es en background, por lo tanto deberíamos ver los siguientes logs:

  1. /instalacion/i__desarrollo/p__guarani/logs/sistema.log

  2. Logs de Apache (sudo tail -f /var/log/apache2/error.log)

También te sugiero que probemos sin tildar la opción “Cuadros 4 y 5” para ver si ese es el problema.

saludos.
2

Leonardo, buenas tardes
Como te decía he hecho varias pruebas modificando la variable memory_limit y no han funcionado.

1) /instalacion/i__desarrollo/p__guarani/logs/sistema.log
  1. Logs de Apache (sudo tail -f /var/log/apache2/error.log)

Los logs de auditoria no tienen mas info de la que les pasé, no hay ningún error especifico mas allá del tema de la memoria

Saludos
Juan Pablo

Hola Juan, es extraño que no llegue a escribir en los logs de Apache.

El código fuente de la operación Generar Datos SIU-Araucano se encuentra en el archivo /php/nucleo/administracion/araucano/cn_man_generar_datos_araucano.php función generar.

Si te fijas, básicamente lo que hace es consultar la DB para luego generar un zip (el cual se guarda en /temp/araucano/2020/araucano.zip).

Quizás una forma de detectar el error seria agregando las siguiente lineas en distintas partes del código:


function generar($anio_academico, $cuadros_4_y_5, $archivo_13)
{
..............................
toba::logger()->debug("Breakpoint 1");
..............................
toba::logger()->debug("Breakpoint 2");
..............................
toba::logger()->debug("Breakpoint 3");
..............................
}

Luego en /instalacion/i__desarrollo/p__guarani/logs/sistema.log podremos ver hasta que “Breakpoint” llega, y así podemos saber donde se les esta rompiendo.

saludos.
2

Leonel: te cuento que he seguido probando pero no logro hacerlo funcionar
Hice los agregados al archivo cn_man_generar_datos_araucano.php

<?php /** * * @package Administraci�n * @subpackage Araucano */ toba::logger()->debug("Breakpoint 1"); class cn_man_generar_datos_araucano extends guarani_pers_cn { function generar($anio_academico, $cuadros_4_y_5) { toba::logger()->debug("Breakpoint 2"); $dir_name = toba::proyecto()->get_path_temp().'/araucano/'.$anio_academico.'/'; toba_manejador_archivos::crear_arbol_directorios($dir_name); guarani_archivos::borrar_archivos_path($dir_name, array('zip')); toba::logger()->debug("Breakpoint 3"); // Se deshabilitan los trigger de Auditor�a guarani::act('act_araucano')->deshabilitar_trigger_auditoria();
    // Genero tabla con las actividades de cada version de plan de estudios
            guarani::act('act_araucano')->get_actividades_x_certificado();

    // Genero tabla con la historia academica de los alumnos
            guarani::act('act_araucano')->cargar_tabla_historia_academica();</blockquote>

Hice el primer Break desde antes de la función por que no encontraba respuesta en el log.

y la respuesta del log fué

[DEBUG][guarani] SQL con perfil de datos: SELECT sga_instituciones.institucion, sga_instituciones.nombre, sga_instituciones.nombre as entidad_descripcion, sga_instituciones.nombre_abreviado, sga_instituciones.tipo_institucion, sga_instituciones_tipos.nombre as tipo_institucion_nombre, sga_instituciones.localidad, mug_localidades.nombre as localidad_nombre, CASE WHEN mug_provincias.pais = 54 THEN mug_localidades.nombre ELSE mug_localidades.nombre || ' (' || mug_paises.nombre || ')' END as localidad_descripcion, sga_instituciones.calle, sga_instituciones.numero, sga_instituciones.codigo_postal, sga_instituciones.telefono, sga_instituciones.fax, sga_instituciones.email, sga_instituciones.entidad FROM sga_instituciones, sga_instituciones_tipos, mug_localidades, mug_dptos_partidos, mug_provincias, mug_paises WHERE sga_instituciones.localidad = mug_localidades.localidad AND sga_instituciones.tipo_institucion = sga_instituciones_tipos.tipo_institucion AND mug_localidades.dpto_partido = mug_dptos_partidos.dpto_partido AND mug_dptos_partidos.provincia = mug_provincias.provincia AND mug_provincias.pais = mug_paises.pais AND sga_instituciones.institucion = '1' ORDER BY sga_instituciones.nombre ; [DEBUG][toba] [SECCION] Iniciando componentes... [INFO][guarani] PUNTO MONTAJE: se carg▒ la clase nucleo/administracion/araucano/cn_man_generar_datos_araucano.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/php [DEBUG][guarani] Breakpoint 1 [INFO][guarani] PUNTO MONTAJE: se carg▒ la clase operaciones/administracion/araucano/ci_nav_generar_datos_araucano.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/php [DEBUG][toba] componente(32000236): [callback][ ini__operacion ] [DEBUG][toba] [SECCION] Procesando eventos... [INFO][toba] componente(32000236): No hay se▒ales de un servicio anterior, no se atrapan eventos [DEBUG][toba] [SECCION] Configurando dependencias para responder al servicio... [DEBUG][toba] componente(32000236): Pantalla de servicio: '' [INFO][toba] componente(32000236): [ callback ] 'conf__pant_inicial' no fue atrapado [DEBUG][toba] componente(32000237): IMPLICITO: modificacion [INFO][toba] componente(32000236): [ callback ] 'conf__formulario' no fue atrapado [DEBUG][toba] [SECCION] Respondiendo al servicio__generar_html... [DEBUG][guarani] SQL con perfil de datos: SELECT sga_anios_academicos.anio_academico as valor, sga_anios_academicos.anio_academico as descr FROM sga_anios_academicos
                            ORDER BY 2 DESC
                            ;</blockquote>

por lo que puedo ver logra llegar al archivo pero nunca ejecuta la función. Me tiene loco

Por otro lado y habiendo chequeado los permisos el log de apache tampoco me informa nada, pero revisando antes de correr el tema de los permisos me tiraba éste error

PHP Warning: file_put_contents(/usr/local/proyectos/guarani/instalacion/logs_comandos/comandos.log): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 571 PHP Warning: file_put_contents(/usr/local/proyectos/guarani/instalacion/logs_comandos/comandos.log): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 571 PHP Fatal error: Uncaught toba_error: Imposible guardar el archivo de log '/usr/local/proyectos/guarani/instalacion/logs_comandos/comandos.log'. Chequee los permisos de escritura del usuario apache sobre esta carpeta/archivo in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php:573 Stack trace: #0 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php(560): toba_logger->anexar_a_archivo('-o-o-o-o-o-\r\nFe...', '/usr/local/proy...') #1 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php(536): toba_logger->guardar_archivo_log('-o-o-o-o-o-\r\nFe...', 'comandos.log') #2 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/consola/run.php(36): toba_logger->guardar_en_archivo('comandos.log') #3 /usr/local/proyectos/guarani/vendor/siu-toba/framework/bin/launcher.php(28): require_once('/usr/local/proy...') #4 /usr/local/proyectos/guarani/vendor/siu-toba/framework/bin/toba(2): require_once('/usr/local/proy...') #5 {main} thrown in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 573

Que otra cosa podemos probar??

Gracias
Saludos

Juan Pablo

Hola Juan, gracias por la información!!!

Veo que toba::logger()->debug(“Breakpoint 1”); lo ejecuta, pero no el resto.

Si toba::logger()->debug(“Breakpoint 2”); no se ejecuta quiere decir que ni siquiera esta entrando a la función generar. Habría que ver lo que ocurre en el CI, en el archivo php/operaciones/administracion/araucano/ci_nav_generar_datos_araucano.php función evt__generar, quizás debuggear un poco allí.

Otra cosa que podemos revisar es si se ejecutan las queries, la primera que se ejecuta es la siguiente:


// Genero tabla con las actividades de cada version de plan de estudios
guarani::act('act_araucano')->get_actividades_x_certificado();

Podes limpiar la tabla int_arau_nominal_act_x_certificado:

DELETE FROM int_arau_nominal_act_x_certificado;

y luego de ejecutar la operación te fijas si se lleno con alguna información:

SELECT * FROM int_arau_nominal_act_x_certificado;

Así podes ver con el resto de queries que se ejecutan en act_araucano.

saludos.
2

Leonel, gracias por la respuesta
Te cuento que las tabla int_arau_nominal_act_x_certificado la completa correctamente pero el log no se mueve (lo miro ejecutando tail -f /usr/local/proyectos/guarani/instalacion/i__desarrollo/p__guarani/logs/sistema.log) llega hasta la consulta que le informa cuando años académicos tiene que listar en el combo.

Revisando las queries veo que por ejemplo la tabla int_arau_nominal_ha tiene info. Que tablas debería vaciar para comprobar si recorre todas las queries?

Saludos

Juan Pablo

Hola Juan,

Revisando las queries veo que por ejemplo la tabla int_arau_nominal_ha tiene info. Que tablas debería vaciar para comprobar si recorre todas las queries?

En php/nucleo/administracion/araucano/cn_man_generar_datos_araucano.php cuando llama a guarani::act(‘act_araucano’)->cargar_tabla_historia_academica();. Igualmente para ver que realmente se esta ejecutando (porque puede ser que ya tenga datos cargados previamente) hay que borrar la tabla int_arau_nominal_ha, podes ejecutar:

TRUNCATE TABLE int_arau_nominal_ha;

Si luego de ejecutar la operación Generar Datos SIU-Araucano hay datos, es porque llego hasta ese punto.

saludos.
2

Leonel, corrí el “TRUNCATE TABLE int_arau_nominal_ha;” , me eliminó los datos, volvi a correr para generar la info de Araucano y hace lo mismo, vuelve a completar la tabla pero no me permite descargar por que la pagina deja de responder.
Lo que yo quería era vaciar todas las tablas que se completan para generar ésta info. Como si nunca lo hubiese corrido a éste proceso.

Saludos

Juan Pablo

Hola Juan,

Claro, como me decís que en los logs no escribe nada vamos a tener que debuggear de esta manera.

Entra al archivo /php/nucleo/administracion/araucano/cn_man_generar_datos_araucano.php, vas a ver que muchas llamadas del estilo guarani::act(‘act_araucano’)->xxxxx();.
La siguiente a revisar es guarani::act(‘act_araucano’)->generar_nominal_alumnos($anio_academico);, trunca la tabla int_arau_nominal_alumnos, y luego fíjate si te la completa con datos.

Esto hasta llegar a ver que función se rompe.

saludos.
2

Leonel, borré todas las tablas int_arau_nominal y procesé nuevamente. Se llenaron todas las tablas menos int_arau_nominal_actividades.
Y lo único que veo que se mueve a nivel de log es en el error.log del apache

[Fri Jul 31 18:28:03.120076 2020] [php7:warn] [pid 15725] [client 10.10.1.1:62295] PHP Warning: shell_exec(): Unable to execute 'nohup /usr/local/proyectos/guarani/php/nucleo/_lib/procesos_bk/script_proceso.sh /usr/local/proyectos/guarani/vendor/siu-toba/framework /usr/local/proyectos/guarani/temp /usr/local/proyectos/guarani/instalacion desarrollo 5000118 /usr/local/proyectos/guarani/temp/procesos_bk/pro_deteccion_egresados__20200731_182756___4566/pro_deteccion_egresados_5f248cde0e7c1 /usr/local/proyectos/guarani/temp/procesos_bk/pro_deteccion_egresados__20200731_182756___4566/log_ejecucion.txt toba > /dev/null & echo $!' in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/contrib/lib/toba_manejador_procesos.php on line 91, referer: http://10.10.1.13/guarani/3.16/aplicacion.php?tm=1&tcm=previsualizacion&ai=guarani||32000041
Sé que me has comentado que no viene por ahí ... peroooo!!!!

Buen finde
Juan Pablo

Hola Juan Pablo

Creo que ustedes tienen personalizada la operación de generación de datos SIU-Araucano, para que obtenga posibles egresados. ¿Puede ser? . Esta opción consume muchos recursos y utiliza el proceso background pro_deteccion_egresados y puede ser motivo del error. Si es así, por favor intenten generar los datos sin tildar esa opción.

Saludos!
4


SelecciAn_027.png

SelecciAn_027.png

Sergio, buenos días, gracias por la respuesta.
No tenemos prácticamente ninguna personalización más allá del Certificado de alumno regular y algunas modifcaciones en preinscripción.
Cuando entro al módulo de Generación de datos de SIU-Araucano no existe la opción que me informas.
Si lo necesitan puedo enviarles una base de datos para probar.

Saludos

Juan Pablo Arango

Hola Juan Pablo

¿Pueden enviar el resultado de ejecutar svn info y svn status en la raíz de la aplicación donde están ejecutando la operación?

Saludos

Buenas tardes, les pasola info requerida

root@guarani:/usr/local/proyectos/guarani# svn info Ruta: . Working Copy Root Path: /usr/local/proyectos/guarani URL: https://colab.siu.edu.ar/svn/guarani3/nodos/unso/gestion/trunk/3.16.1 Relative URL: ^/nodos/unso/gestion/trunk/3.16.1 Raíz del repositorio: https://colab.siu.edu.ar/svn/guarani3 UUID del repositorio: e0a68ae1-9d37-43c1-981e-8b60bee60b31 Revisión: 29878 Tipo de nodo: directorio Agendado: normal Autor del último cambio: sergio Revisión del último cambio: 29853 Fecha de último cambio: 2019-03-18 13:23:29 -0300 (lun 18 de mar de 2019)

root@guarani:/usr/local/proyectos/guarani# svn status
M personalizacion/personalizacion.ini
? personalizacion/php/operaciones/examenes
M php/nucleo/administracion/araucano/act_araucano.php
M php/nucleo/administracion/araucano/cn_man_generar_datos_araucano.php
M php/nucleo/calendario/actualizaciones/anios_academicos/co_anios_academicos.php
M php/nucleo/calendario/periodos_lectivos/co_periodos_lectivos.php
M php/nucleo/matriculas/alumnos/co_alumnos.php
M php/operaciones/administracion/araucano/ci_nav_generar_datos_araucano.php
? sql
root@guarani:/usr/local/proyectos/guarani#

Revisé éstos 3 archivos y evidentemente los he consultado para ver algúna querie pero no tienen ninguna modificación. Muchas veces es la costumbre de salir guardando, pero no hay ninguna modificación

Los archivos modificados de Araucano con lo que hemos estado modificando durante las consultas del foro por lo que me descargué la versión 3.16.1 y reemplacé los archivos que están dentro de php/nucleo/administracion/araucano por los que están el el colab y FUNCIONÓ!!!, por supuesto lo hice en una versión de testing. De todas formas algo evidentemente modificamos en el camino por que antes si bien funcionaba la opción traía los archivos vacios.
Una vez que uds me digan que el svn info y el svn status estan correctos no voy a mover nada.

Espero su respuesta
Saludos y gracias

Juan Pablo

Hola Juan Pablo

Creo que encontramos el problema! después de la salida de la versión 3.16.1 hicimos una actualización de todos los nodos de las instituciones , y ustedes se descargaron la versión antes de esa actualización y no tienen ese cambio.

  1. Reviertan todos los cambios que hicieron localmente para hacer el debug, esto lo pueden realizar con el comando svn revert
svn revert php/nucleo/administracion/araucano/act_araucano.php
svn revert php/nucleo/administracion/araucano/cn_man_generar_datos_araucano.php
svn revert php/operaciones/administracion/araucano/ci_nav_generar_datos_araucano.php
  1. Actualicen el archivo act_araucano.php
svn update php/nucleo/administracion/araucano/act_araucano.php 

Luego vuelvan a probar!
Saludos!