Errores al migrar Guaraní 3.17.1 a 3.20.0 - Regenerar la instancia Toba

Hola a todos.

Estoy intentando migrar nuevamente de Guaraní 3.17 a 3.20. Para no afectar el uso del sistema en producción, estoy trabajando con una copia de la máquina virtual del servidor.

Después de renegar bastante (es el 4to intento de migración que hago), llegué hasta el paso de “Regenerar la instancia Toba”. Para esto, ubicado en el directorio bin/, ejecuto “./toba instancia regenerar -i desarrollo”.

Al hacer esto, aparecen los siguientes problemas/errores:

[ol]-
Aparecen decenas de mensajes “PHP Notice: Trying to access array offset on value of type int in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/modelo/toba_modelo_proyecto.php on line 608”.

Después de esas decenas de mensajes, aparece:
` ATENCION! No fue posible cargar por completo el ‘perfil_admin_oficina’, posiblemente a causa de que al menos una operaci�n, restricci�n o derecho ha dejado de existir en ‘guarani’. A continuaci�n el detalle:

ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_23503 
[MENSAJE]: ERROR:  insert or update on table "apex_usuario_grupo_acc_item" violates foreign key constraint "apex_usu_item_fk_item"
DETAIL:  Key (proyecto, item)=(guarani, 32000023) is not present in table "apex_item".
[SQL EJECUTADA]: INSERT INTO apex_usuario_grupo_acc_item (proyecto, usuario_grupo_acc, item_id, item) VALUES ('guarani', 'admin_oficina', NULL, '32000023');`

Este error aparece repetidamente, variando solamente el último número ('32000023', en el ejemplo).

Después aparece otro mensaje similar:
` ATENCION! No fue posible cargar por completo el ‘perfil_admin’, posiblemente a causa de que al menos una operaci�n, restricci�n o derecho ha dejado de existir en ‘guarani’. A continuaci�n el detalle:

ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_23503 
[MENSAJE]: ERROR:  insert or update on table "apex_usuario_grupo_acc_item" violates foreign key constraint "apex_usu_item_fk_item"
DETAIL:  Key (proyecto, item)=(guarani, 32000023) is not present in table "apex_item".
[SQL EJECUTADA]: INSERT INTO apex_usuario_grupo_acc_item (proyecto, usuario_grupo_acc, item_id, item) VALUES ('guarani', 'admin', NULL, '32000023');`

Este error también aparece repetidamente, variando solamente el último número ('32000023', en el ejemplo).

Después aparece una serie de advertencias como esta: “PHP Warning: file_put_contents(/usr/local/proyectos/guarani/instalacion/i__desarrollo/instancia.ini): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_ini.php on line 175
Los archivos que se reportan con problemas de permisos son:
- /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_ini.php on line 175
- /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_manejador_archivos.php on line 23
- /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_basic_logger.php on line 374

Finalmente, aparece la siguiente advertencia: “fwrite() expects parameter 1 to be resource, bool given in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 296
[/ol]

Desde ya, muchísimas gracias por la ayuda.

Buenos días!

En cuanto al punto 1, efectivamente la solución es aplicable a este caso.
En cuanto al punto 2 y 3, se tratan de operaciones que dejaron de existir pero están incluidas en perfiles funcionales. No es un error sino sólo un aviso. Si continuan revisando el log, debería haber un mensaje debajo que dicta: “De todas formas se continúa la carga, se recomienda revisar la definición de este perfil.”.
Y en cuanto al punto 4 y 5, es posible que falten permisos en la carpeta “vendor/siu-toba/framework/php”

Esperamos novedades sobre esta situación

Saludos, Gabriel.

Buen día, Gabriel.

Muchas gracias por la pronta respuesta.

Con respecto a los permisos que mencionás que faltan en los puntos 4 y 5, ¿serían los mismos que para los otros directorios, es decir www-data:www-data?

Muchas gracias.

Exactamente, serían los mismos permisos que las anteriores carpetas
4

Buenas tardes, Gabriel.

Con respecto al primer punto, quedó solucionado y el error dejó de aparecer.

Sin embargo, siguen apareciendo los errores de permisos, a pesar de haber cambiado los permisos de los directorios.

Los mensajes son:
`
PHP Warning: file_put_contents(/usr/local/proyectos/guarani/instalacion/i__desarrollo/instancia.ini): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_ini.php on line 175
PHP Warning: mkdir(): Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_manejador_archivos.php on line 23
No se pudo crear la carpeta para el servicio arai_usuarios en la carpeta de la instancia
PHP Warning: mkdir(): Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_manejador_archivos.php on line 23
No se pudo crear la carpeta para el servicio sanaviron en la carpeta de la instancia
PHP Warning: mkdir(): Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_manejador_archivos.php on line 23
No se pudo crear la carpeta para el servicio sidcer en la carpeta de la instancia
PHP Warning: mkdir(): Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_manejador_archivos.php on line 23
No se pudo crear la carpeta para el servicio tehuelche en la carpeta de la instancia

PHP Warning: file_put_contents(/usr/local/proyectos/guarani/instalacion/i__desarrollo/instancia.ini): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_ini.php on line 175

PHP Warning: file_put_contents(/usr/local/proyectos/guarani/instalacion/i__desarrollo/instancia.ini): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_ini.php on line 175
PHP Warning: mkdir(): Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_manejador_archivos.php on line 23
No se pudo crear la carpeta para el servicio rest_arai_reportes en la carpeta de la instancia

PHP Warning: file_put_contents(/usr/local/proyectos/guarani/instalacion/i__desarrollo/instancia.ini): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_ini.php on line 175

PHP Warning: fopen(file:///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_basic_logger.php on line 374
PHP Warning: chmod(): Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_manejador_archivos.php on line 334
PHP Warning: fwrite() expects parameter 1 to be resource, bool given in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 296
`

Como información adicional, estos son los permisos de los directorios en <path_guaraní>:
`
drwxr-xr-x 23 www-data www-data 4096 Sep 10 19:25 ./
drwxrwxr-x 7 www-data www-data 4096 Mar 6 2022 …/
drwxr-xr-x 17 administrator administrator 4096 Sep 10 19:25 3.20.0/
-rw-r–r-- 1 administrator administrator 742 Sep 10 19:25 arai.json
drwxr-xr-x 7 administrator administrator 4096 Jan 13 2020 BD/
drwxr-xr-x 2 administrator administrator 4096 Sep 10 19:45 bin/
-rw-r–r-- 1 administrator administrator 2634 Sep 10 19:45 composer.json
-rw-r–r-- 1 administrator administrator 247123 Sep 10 19:25 composer.lock
-rw-r–r-- 1 administrator administrator 296 Jan 14 2020 entorno_toba.env
drwxr-xr-x 3 administrator administrator 4096 Jan 13 2020 exportaciones/
drwxr-xr-x 2 administrator administrator 4096 Sep 10 19:25 fuentes/
drwxrwxr-x 4 www-data www-data 4096 Sep 6 17:39 instalacion/
drwxr-xr-x 4 administrator administrator 4096 Jan 13 2020 instalador/
-rw-r–r-- 1 administrator administrator 1411 Jan 13 2020 instalador.env.dist
-rwxr-xr-x 1 administrator administrator 232 Jan 14 2020 menu.ini*
-rwxr-xr-x 1 administrator administrator 232 Jan 13 2020 menu.ini.tmpl*
drwxr-xr-x 5 administrator administrator 4096 Jan 13 2020 metadatos/
drwxrwxr-x 6 www-data www-data 4096 Jan 14 2020 metadatos_compilados/
drwxr-xr-x 5 administrator administrator 4096 Jan 13 2020 metadatos_originales/
drwxr-xr-x 6 administrator administrator 4096 Jan 13 2020 personalizacion/
drwxr-xr-x 8 administrator administrator 4096 Sep 10 19:25 php/
-rw-r–r-- 1 administrator administrator 2857 Sep 10 19:25 proyecto.ini
drwxr-xr-x 7 administrator administrator 4096 Jan 13 2020 saml_module/
drwxr-xr-x 2 administrator administrator 4096 Jan 14 2020 sql/
drwxr-xr-x 3 administrator administrator 4096 Jan 13 2020 src/
drwxr-xr-x 4 administrator administrator 4096 Jan 13 2020 .svn/
drwxrwxr-x 4 www-data www-data 139264 Sep 10 18:42 temp/
drwxr-xr-x 3 administrator administrator 4096 Jan 13 2020 test/
drwxr-xr-x 2 administrator administrator 4096 Sep 10 19:25 var/
drwxrwxr-x 50 www-data www-data 4096 Sep 10 19:45 vendor/
drwxr-xr-x 8 www-data www-data 4096 Sep 10 19:25 www/

`

Desde ya, muchas gracias por la ayuda.

Podrían adjuntar los resultados del siguiente comando?

ls -la /usr/local/proyectos/guarani/instalacion

Ya que parece haber algún problema de permisos en esa carpeta. Con esto podremos ver si hubo un fallo de permisos o si la instalación se completó sin errores.

1

El resultado es:
drwxrwxr-x 4 www-data www-data 4096 Sep 6 17:39 . drwxrwxr-x 23 www-data www-data 4096 Sep 10 19:25 .. -rwxrwxr-x 1 www-data www-data 1027 Aug 11 2020 bases.ini -rwxrwxr-x 1 www-data www-data 823 Jan 14 2020 bases.ini~ -rwxrwxr-x 1 www-data www-data 150 Jan 14 2020 cas.ini -rwxrwxr-x 1 www-data www-data 296 Jan 14 2020 entorno_toba.env drwxrwxr-x 7 www-data www-data 4096 Sep 6 17:38 i__desarrollo -rwxrwxr-x 1 www-data www-data 433 Sep 6 17:39 instalacion.ini -rwxrwxr-x 1 www-data www-data 435 Jan 14 2020 instalacion.ini~ -rwxrwxr-x 1 www-data www-data 76 Jan 14 2020 ldap.ini drwxrwxr-x 2 www-data www-data 4096 Apr 20 17:26 logs_comandos -rwxrwxr-x 1 www-data www-data 1051 Jan 14 2020 openid.ini -rwxrwxr-x 1 www-data www-data 938 Jan 14 2020 openssl.ini -rwxrwxr-x 1 www-data www-data 192 Jan 14 2020 rdi.ini -rwxrwxr-x 1 www-data www-data 904 Jan 14 2020 saml.ini -rwxrwxr-x 1 www-data www-data 749 Jan 14 2020 saml_onelogin.ini -rwxrwxr-x 1 www-data www-data 147 Jan 14 2020 smtp.ini -rwxrwxr-x 1 www-data www-data 7862 Mar 6 2023 toba.conf -rwxrwxr-x 1 www-data www-data 7728 Jan 14 2020 toba.conf~ -rwxrwxr-x 1 www-data www-data 6 Jan 14 2020 VERSION
Y se está ejecutando con el usuario “administrator”, que pertenece al grupo “www-data”.

Buenas tardes.

¿Pudieron averiguar algo sobre el problema de permisos?

Muchas gracias.

Buenas tardes!

Necesitaría que me envien una captura de pantalla del resultado de estos tres comandos:

ls -la /usr/local/proyectos/guarani/instalacion/i__desarrollo/instancia.ini
groups
whoami

Adjunto un ejemplo de la captura que les estoy pidiendo.

4


Captura desde 2023-09-19 13-31-26.png

Captura desde 2023-09-19 13-31-26.png

Hola, Gabriel.

Van las salidas de los comandos solicitados:

ls -la /usr/local/proyectos/guarani/instalacion/i__desarrollo/instancia.ini

-rw-r--r-- 1 www-data www-data 685 Sep 6 17:38 /usr/local/proyectos/guarani/instalacion/i__desarrollo/instancia.ini

groups

administrator adm cdrom sudo dip www-data plugdev lxd

whoami

administrator

Muchas gracias.

Buenos días!

Tal parece que “instancia.ini” tiene permisos de lectura/escritura para el usuario, pero solo lectura para el grupo.

Corriendo el siguiente comando debería solucionarse:

chmod 775 -R www temp instalacion vendor/siu-toba/framework/www vendor/siu-toba/framework/temp

Saludos!

Hola, Gabriel.

Con tu última indicación, el proceso pudo correr sin errores .

Ahora me encuentro con otro error similar al migrar la base de datos negocio. Cuando ejecuto ./guarani migrar_base, aparecen los mensajes de actualización, luego el del tiempo de ejecución del proceso, y finalmente el siguiente error:

PHP Warning:  chmod(): Operation not permitted in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_manejador_archivos.php on line 334

Aunque no sé PHP, me fijé en el programa indicado en el error pero no tengo manera de saber cuál es el archivo al que está intentando hacer chmod().

¿Cómo podría solucionarlo?

Desde ya, muchas gracias.

Buenos días!

Es posible que /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_manejador_archivos.php no tenga permisos de ejecución y falle al intentar ejecutar la funcion “chmod()”.

Corriendo este comando, le daríamos permisos de ejecución y, si no existe otro problema, debería terminar correctamente con el comando de migración de base:

chmod 775 -R vendor/siu-toba/framework/php

Quedo pendiente de la situación.

Saludos!

1

Hola, Gabriel.

Con la indicación, la migración de la base anduvo correctamente. y después de resolver otro tema de permisos, la migración finalizó sin errores.

Lo que ocurre ahora es lo que me había pasado en un intento anterior:

¿Qué pasos debería seguir para resolver estos problemas?

Desde ya, muchas gracias.

Buenas tardes!

Estuve revisando el nodo de la institución y debería existir el archivo “controlador.php” (https://colab.siu.edu.ar/trac/guarani3/browser/nodos/ices/3w/trunk/3.20.0/src/siu/operaciones/acceso/controlador.php#L23)
Si no logras ubicarlo de todas maneras, por favor adjuntame la salida de los siguientes comandos:

svn info
svn status

Saludos!
2

Hola, Gabriel.

Después de hacer cd /usr/local/proyectos/guarani/, ejecuté los comandos indicados, obteniendo:

svn info

Path: . Working Copy Root Path: /usr/local/proyectos/guarani URL: https://colab.siu.edu.ar/svn/guarani3/nodos/ices/gestion/versiones/3.20.0.0 Relative URL: ^/nodos/ices/gestion/versiones/3.20.0.0 Repository Root: https://colab.siu.edu.ar/svn/guarani3 Repository UUID: e0a68ae1-9d37-43c1-981e-8b60bee60b31 Revision: 75268 Node Kind: directory Schedule: normal Last Changed Author: awalker Last Changed Rev: 74153 Last Changed Date: 2023-07-20 18:25:46 -0300 (Thu, 20 Jul 2023)

svn status

? bin/doctrine-dbal ? bin/php-parse ! bin/toba.bat M composer.json ? metadatos_compilados ? personalizacion/www/img/logo_institucion.jpg ? php/rest/recursos_usuarios.php ? sql M www/aplicacion.php ? www/img/favicon-original.ico M www/img/favicon.ico

Muchas gracias.

Buenas tardes!

La información que me pasas corresponde al modulo de Gestión, pero el problema se presenta al ingresar a Autogestión.
Podrías enviarme la salida de los mismos comandos pero ubicandote en el código fuente desde donde esta lanzandose Autogestión?

Hola, Gabriel.

Al revisar, me di cuenta de que Autogestión no está actualizado. Pensé que la actualización de Gestión también actualizaba Autogestión.

Voy a proceder con la actualización de este último, y mientras tanto te consulto cómo se podría solucionar el problema de la página en blanco de Gestión.

Muchas gracias.

Hola Juan,

Respecto a la página en blanco al acceder a Gestión, revisaron los logs de Apache y del sistema? Debería haber algún mensaje de error que nos oriente…

Saludos, Florencia.

Hola, Florencia.

Encontré este error en el log de apache:

[php:error] [pid 227253] [client 127.0.0.1:38624] PHP Fatal error:  Uncaught Error: Call to undefined function mb_internal_encoding() in /usr/local/proyectos/guarani/www/aplicacion.php:22\nStack trace:\n#0 {main}\n  thrown in /usr/local/proyectos/guarani/www/aplicacion.php on line 22

El log de la aplicación no se actualiza, entiendo que debido a este error fatal.

¿Hay alguna información adicional que pueda proveerles para encontrar la causa del error?

Muchas gracias.