Error al imprimir actas de final desde Autogestión.

¿El nivel 5 de debug daba el error?

El error lo veía en los logs de Autogestión. Como no me alcanzaba para solucionar. Seguí leyendo posts de acá … hasta que vi que recomendaban poner nivel 5 al proceso java de jaspers para ver directamente los errores de jaspers.
La primera vez que puse nivel 5, daba error porque ya estaba corriendo el proceso…
Lo di de baja… Y lo corrí de nuevo con nivel 5.

Fui a “Imprimir actas” que era lo que me daba error y esta vez imprimió sin problemas…

Lo que me hace pensar que el jaspers estaba corriendo (en Gestión me imprimía sin problemas) pero algo había en la relación con 3w , que al dar de baja y reiniciar, se “arregló solito” …

Nos pasas links a esos foros que mencionas.

Hablaba de posts de este mismo foro. Debí haber dicho posts en vez de foros…
Ejemplos:

Nos podrás indicar la ruta del log de autogestión y su nombre así revisamos el mismo en nuesto servidor, ya que estamos con un error de Jasper hace varios días con un error de jasper.

/instalacion/log/<ACC_ID>

Son todos pequeños archivos con el timestamp en el nombre …

Perfecto Fernando, me alegro que lo hayan podido solucionar!!!

saludos.

Tengo que volver, ya que pasa bastante seguido que se “cae” el jaspers para Autogestión pero sigue funcionando en Gestión…

¿Cómo me doy cuenta? Un docente no puede imprimir acta de examen. Recibe mensaje rosa “Falló la impresión del acta”. en los logs veo los errores mencionados más arriba
Entro como el docente a Autogestión, y puedo corroborar que es verdad.

Voy a Gestión, y el acta se imprime sin problemas…

¿Cómo lo estoy solucionando? Con el script que pusieron en algún foro…
sh /etc/init.d/jasperServicio.sh stop
sh /etc/init.d/jasperServicio.sh start

Y vuelve a funcionar en Autogestión… Pero caído no estaba porque en Gestión nunca dejó de andar… Como que pierde algo en la conexión con Autogestión y lo recupera reiniciando… Pero pasa bastante seguido…

Hola Fernando,

¿Gestión y Autogestión están en distintos servidores, no?

¿que ocurre si lo levantas de la siguiente forma?


java -Duser.language=es -Duser.country=AR -Djava.awt.headless=true -jar /path/to/3w/vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET_LOCAL:8081 5 /tmp/jasper.log &>/dev/null &

Quizás también podrían levantarlo automáticamente usando Supervisord, ver este foro.

Referencias:
https://codigofacilito.com/articulos/supervisord-linux
https://javierin.com/supervisord-un-gestor-de-procesos-para-linux/

saludos.
2

¿Gestión y Autogestión están en distintos servidores, no?
No. Están juntos.... eso es lo raro... deja de funcionar en un lado, pero sigue funcionando en el otro....

Ahora que estamos cerrando el perído lectivo y muchos docentes lo usan concurrentemente, el jaspers se está cayendo demasiado seguido…
Antes se caía 2/3 veces por año…
Ahora se nos cae hasta 2/3 por hora …

Acabo de ponerlo con Supervisord , a ver qué pasa

Cuando está “caido”, en el ps -aux | grep ‘SERVLET’ lo veo … por lo que no está caído realmente, si no que alguna parte no funciona.

En el log de apache veo ::

[Wed Dec 01 18:09:20.617057 2021] [php7:notice] [pid 9197] [client 190.246.6.37:54500] java_InternalException: \n[TRAZA]\n\t\n\tjava_ThrowExceptionProxyFactory->getProxy \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 223 \n\t\n\tjava_Arg->getResult \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 388 \n\t\n\tjava_Client->getWrappedResult \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 394 \n\t\n\tjava_Client->getResult \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 588 \n\t\n\tjava_Client->invokeMethod \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 1795 \n\t\n\tjava_JavaProxy->__call \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 1894 \n\t\n\tjava_AbstractJava->__call \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 2042 \n\t\n\tJava->__call \nArchivo: /usr/local/proyectos/guarani/vendor/siu-toba/fr…SIGUE…, referer: http://34.232.173.37/guarani/3.15/aplicacion.php?ah=st61a7e3875988a2.98123510&ai=guarani||34000021&tz=1

Lo mismo más completo en el log de gestión

Version-PHP: 7.4.25
Servidor: 34.232.173.37
URI: /guarani/3.15/aplicacion.php?ah=st61a7e47fce58b2.79916028&ai=guarani||34000021&tcm=central&tz=1&ai=guarani||34000021&ts=vista_jasperreports&tsd=guarani||34000146,
Referrer: http://34.232.173.37/guarani/3.15/aplicacion.php?ah=st61a7e3875988a2.98123510&ai=guarani%7C%7C34000021&tz=1
Host: 190.246.6.37
==========
[CRITICAL][toba] java_InternalException:
[TRAZA]

        java_ThrowExceptionProxyFactory->getProxy
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 223

        java_Arg->getResult
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 388

        java_Client->getWrappedResult
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 394

        java_Client->getResult
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 588

        java_Client->invokeMethod
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 1795

        java_JavaProxy->__call
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 1894

        java_AbstractJava->__call
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 2042

        Java->__call
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/salidas/toba_vista_jasperreports.php, lInea 319

        toba_vista_jasperreports->completar_con_datos
Archivo: /usr/local/proyectos/guarani/php/operaciones/cursadas/actas/imprimir/ci_nav_imprimir_actas_comision.php, lInea 612

        ci_nav_imprimir_actas_comision->vista_jasperreports
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/salidas/toba_vista_jasperreports.php, lInea 272

        toba_vista_jasperreports->generar_salida
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 331

        toba_solicitud_web->servicio__vista_jasperreports
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 185

        toba_solicitud_web->procesar_servicios
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 60

        toba_solicitud_web->procesar
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, lInea 96

        toba_nucleo->acceso_web
Archivo: /usr/local/proyectos/guarani/www/aplicacion.php, lInea 33



reiniciando jaspers (stop / start) se arregla… pero se vuelve a caer rápido.

Hola Fernando, gracias por los logs!!!

¿Tenes los logs que devuelve Jasper? Si usas supervisord los va a guardar en la carpeta /var/errJasper.log:


[supervisord]
nodaemon=true

[program:jasper]
priority=10
command=java -jar path/del/proyecto/gestion/vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET_LOCAL:8081
autostart=true
autorestart=true
stderr_logfile=/var/errJasper.log

Quizás conviene cambiar el comando a:

command=java -Duser.language=es -Duser.country=AR -Djava.awt.headless=true -jar path/del/proyecto/gestion/vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET_LOCAL:8081 5

¿tienen personalizaciones en los reportes Jaspers?

saludos.
2

No sé si será relevante pero …

Tengo dos jasper
uno en path/to/gestion/vendor/siu-toba/jasper
otro en path/to/3w/vendor/siu-toba/jasper

Se supone que son los dos iguales ?? Cuál tendría que levantar, el de gestión o el de 3w ??? O es lo mismo …? Quién lee de quién? Gestión de 3w ? o 3e de gestión ?

Actualización:

Creo que es muy relevante… Si corro el de Gestión funciona para actas en Gestión y no para 3w… Si corro el de 3w, funciona para actas en Autogestión y no para Gestión …

Tengo dos jasper uno en path/to/gestion/vendor/siu-toba/jasper otro en path/to/3w/vendor/siu-toba/jasper

Se supone que son los dos iguales ?? Cuál tendría que levantar, el de gestión o el de 3w ???

Son lo mismo, apuntan a la misma librería que se descarga por Composer, pueden levantar cualquiera de los dos y seria lo mismo.

Quién lee de quién? Gestión de 3w ? o 3e de gestión ?

En realidad se levanta el servidor de Jasper el cual queda corriendo en el puerto 8081, ambos módulos simplemente usan dicho Jasper corriendo en el puerto 8081 para generar los PDFs. Es como usar el mismo servidor de Apache o Postgres.

saludos.
2

Ya me queda claro y puedo replicar el problema una y otra vez …

Corro cualquiera de los jaspers y funciona en el primero módulo que use.

Reinicio jasper e imprimo primero en Gestión, anda bien Gestión. Y en Autogestión da error rosa “Falló la impresión del acta”

Reinicio jasper e imprimo primero en Autogestión, anda bien Autogestión. Y en Gestión da error pantalla en blanco.

Probado con el mismo navegador y con distintos navegadores …

Hoy están usando concurrentemente Gestión (por la preinscripción) y Autogestión (docentes cerrando actas).
Me llaman que hay un error en uno… reinicio… el primero que lo usa, lo deja válido para ese módulo…
Al rato me llaman los que usan el otro módulo… y así se van alternando sucesivamente.

No sé como hacer para que funcione el jasper en los dos módulos a la vez…

Hola Fernando, gracias por el dato!!!

¿como te quedo configurado el supervisord?
¿te da algún error en el log de Jasper?

Nos podes pasar los logs de Autogestión cuando da error rosa “Falló la impresión del acta” y Gestión da error pantalla en blanco.

Yo acá en local lo tengo dockerizado, y cada proyecto tiene su Jasper corriendo dentro del contenedor en el puerto 8081, y el Jasper se reinicia junto con el contenedor.

saludos.
2

Fernando, probemos lo siguiente como solución alternativa:

  1. Correr dos instancias de Jasper, una en el puerto 8081 para Gestión y otra en el 8082 para Autogestión.

Gestión:

java -Duser.language=es -Duser.country=AR -Djava.awt.headless=true -jar /path/to/gestion/vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET_LOCAL:8081 5

Autogestión:

java -Duser.language=es -Duser.country=AR -Djava.awt.headless=true -jar /path/to/autogestion/vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET_LOCAL:8082 5
  1. Luego en el archivo vendor/siu/chulupi-framework/src/SIU/Chulupi/util/VistaJasperreports.php de Autogestión cambiar el puerto en la función cargar_jasper donde dice:
if (!defined("JAVA_HOSTS")) define ("JAVA_HOSTS", "127.0.0.1:8082");

Contanos luego si con ese cambio se soluciona el problema.

saludos.
2

Nos podes pasar los logs de Autogestión cuando da error rosa "Falló la impresión del acta"
Error al imprimir acta de cursada desde Autogestión - Docente (Gestión funcionaba OK)

================================================================================
=================================   ERRORES   ==================================
================================================================================

clase: java_InternalException
mensaje:
traza: [TRAZA]

---[ 0 ]-----------------------------------------

- function: java_ThrowExceptionProxyFactory->getProxy
- file: /usr/local/proyectos/g3w3_320/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, linea 223

---[ 1 ]-----------------------------------------

- function: java_Arg->getResult
- file: /usr/local/proyectos/g3w3_320/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, linea 388

---[ 2 ]-----------------------------------------

- function: java_Client->getWrappedResult
- file: /usr/local/proyectos/g3w3_320/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, linea 394

---[ 3 ]-----------------------------------------

- function: java_Client->getResult
- file: /usr/local/proyectos/g3w3_320/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, linea 588

---[ 4 ]-----------------------------------------

- function: java_Client->invokeMethod
- file: /usr/local/proyectos/g3w3_320/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, linea 1795

---[ 5 ]-----------------------------------------

- function: java_JavaProxy->__call
- file: /usr/local/proyectos/g3w3_320/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, linea 1894

---[ 6 ]-----------------------------------------

- function: java_AbstractJava->__call
- file: /usr/local/proyectos/g3w3_320/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, linea 2042

---[ 7 ]-----------------------------------------

- function: Java->__call
- file: /usr/local/proyectos/g3w3_320/vendor/siu/chulupi-framework/src/SIU/Chulupi/util/VistaJasperreports.php, linea 298

---[ 8 ]-----------------------------------------

- function: SIU\Chulupi\util\VistaJasperreports->completar_con_datos
- file: /usr/local/proyectos/g3w3_320/src/siu/modelo/transacciones/cierre_actas_cursada.php, linea 267

---[ 9 ]-----------------------------------------

- function: siu\modelo\transacciones\cierre_actas_cursada->generar_comprobante
- file: /usr/local/proyectos/g3w3_320/src/siu/operaciones/cierre_cursadas/controlador.php, linea 73

---[ 10 ]-----------------------------------------

- function: siu\operaciones\cierre_cursadas\controlador->accion__imprimir_comprobante
- file: /usr/local/proyectos/g3w3_320/vendor/siu/chulupi-framework/src/SIU/Chulupi/nucleo/controlador.php, linea 420

---[ 11 ]-----------------------------------------

- function: SIU\Chulupi\nucleo\controlador->invocar_accion
- file: /usr/local/proyectos/g3w3_320/vendor/siu/chulupi-framework/src/SIU/Chulupi/nucleo/controlador.php, linea 154

---[ 12 ]-----------------------------------------

- function: SIU\Chulupi\nucleo\controlador->procesar_accion
- file: /usr/local/proyectos/g3w3_320/src/siu/extension_kernel/controlador_g3w2.php, linea 97

---[ 13 ]-----------------------------------------

- function: siu\extension_kernel\controlador_g3w2->procesar_accion
- file: /usr/local/proyectos/g3w3_320/vendor/siu/chulupi-framework/src/SIU/Chulupi/nucleo/AccesoWeb.php, linea 107

---[ 14 ]-----------------------------------------

- function: SIU\Chulupi\nucleo\AccesoWeb::procesar_request
- file: /usr/local/proyectos/g3w3_320/vendor/siu/chulupi-framework/src/SIU/Chulupi/nucleo/AccesoWeb.php, linea 25

---[ 15 ]-----------------------------------------

- function: SIU\Chulupi\nucleo\AccesoWeb::procesar
- file: /usr/local/proyectos/g3w3_320/src/siu/www/index.php, linea 15


########################################################################################################################

--F<1>:E<1>:W<0>:T<0 s>:M<0 Mb>--

== FIN =============================================



Nos podes pasar los logs de Gestión cuando da error pantalla en blanco.
Error al imprimir acta de comisión desde Gestión (AutoGestión funcionaba OK)
-o-o-o-o-o-
Fecha: 02-12-2021 19:24:09
Operacion: Imprimir Actas de Comisiones
Usuario: toba
Version-PHP: 7.4.25
Servidor: 34.232.173.37
URI: /guarani/3.15/aplicacion.php?ah=st61a94788cd0bf2.86808179&ai=guarani||34000021&tcm=central&tz=1&ai=guarani||34000021&ts=vista_jasperreports&tsd=guarani||34000146,
Referrer: http://34.232.173.37/guarani/3.15/aplicacion.php?ah=st61a9478655ba18.32839690&ai=guarani%7C%7C34000021&tz=1
Host: 190.246.6.37
==========
[CRITICAL][toba] java_InternalException:
[TRAZA]

        java_ThrowExceptionProxyFactory->getProxy
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 223

        java_Arg->getResult
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 388

        java_Client->getWrappedResult
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 394

        java_Client->getResult
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 588

        java_Client->invokeMethod
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 1795

        java_JavaProxy->__call
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 1894

        java_AbstractJava->__call
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 2042

        Java->__call
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/salidas/toba_vista_jasperreports.php, lInea 319

        toba_vista_jasperreports->completar_con_datos
Archivo: /usr/local/proyectos/guarani/php/operaciones/cursadas/actas/imprimir/ci_nav_imprimir_actas_comision.php, lInea 612

        ci_nav_imprimir_actas_comision->vista_jasperreports
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/salidas/toba_vista_jasperreports.php, lInea 272

        toba_vista_jasperreports->generar_salida
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 331

        toba_solicitud_web->servicio__vista_jasperreports
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 185

        toba_solicitud_web->procesar_servicios
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 60

        toba_solicitud_web->procesar
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, lInea 96

        toba_nucleo->acceso_web
Archivo: /usr/local/proyectos/guarani/www/aplicacion.php, lInea 33


Correr dos instancias de Jasper, una en el puerto 8081 para Gestión y otra en el 8082 para Autogestión.. Contanos luego si con ese cambio se soluciona el problema.

Funcionó muy bien !!
Gracias por toda la ayuda !!

Hola Fernando, me alegro que lo pudieron solucionar!!!

El cambio al estar dentro de vendor no lo vas a tener si haces otra instalación, vas a tener que modificarlo a mano nuevamente.

saludos.
2

Buenas, solo tengo para aportar que tuvimos exactamente el mismo problema. Deja de funcionar la impresion de reportes en gestión y sigue funcionando en autogestion, o viceversa. Al reiniciar el servicio se corrige el problema, pero no tarda mucho en volver a caer.

Implementamos la solucion de tener 2 instancias del servicio, una para cada aplicación. Lo tenemos hace un dia y hasta ahora no se ha caido.

hola tenemos el mismo problema en nuestro caso tenemos una sola instancia de jasper en el puerto 8081 si levanto el jasper envió a imprimir desde gestión y luego quiero volver a imprimir me genera el pdf con el estado que fallo , les dejo el log al momento de enviar a imprimir
también probé de crear dos instancias de jasper uno en 8081 para gestión y otro 8082 para autogestión pero sigue igual

saludos Esteban


jaspergestion.txt (326 KB)

Hola Esteban,

¿que versión de Guaraní tienen instalada?

Si tenes una versión de Guaraní inferior a 3.20.3 vas a tener que seguir los pasos de la Respuesta #11 del foro 24547.

¿que versión de siu-toba/jasper (lo podes ver en el archivo composer.json)?

saludos.
2

hola Leonel, en el composer figura esto
require:
siu-toba/jasper dev-master

config:
siu-toba/jasper dist

no tengo idea que versión de jasper es, hay alguna otra manera
el composer que estoy viendo es el que esta en la raíz de la carpeta guarani
la versión de guarani es la 3.20.0

saludos Esteban

Hola Esteban,

require: siu-toba/jasper dev-master la versión de guarani es la 3.20.0

Vas a tener que hacer los pasos de la Respuesta #11 del foro 24547.

Es similar al foro 26089 que lo acaba de resolver con los mismos pasos.

saludos.
2