Reportes

Recorda antes setear el esquema:

SET search_path = negocio;
SELECT ....
...
FROM vw_mesas_examen
...

Mato el proceso de Jasper pero cuando ejecuto nuevamente ps | grep SERVLET_LOCAL me aparece otra vez.

Hola Leandro,

Seguramente tenes algún proceso que lo vuelve a levantar, tipo Supervisord.

saludos.
2

Buen dia te mando lo que me salio por consola cuando ejecute: 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 y puse para imprimir el acta

root@siu-gestion-p:/home/hbenavidez# java -Duser.language=es -Duser.country=AR -Djava.awt.headless=true -jar /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET_LOCAL:8081 5
Feb 09 09:28:06 VMBridge INFO : VM : 11.0.13@https://tracker.debian.org/openjdk-11
Feb 09 09:28:06 VMBridge INFO : VMBridge version : 5.5.2
Feb 09 09:28:06 VMBridge INFO : logFile :
Feb 09 09:28:06 VMBridge INFO : default logLevel : 5
Feb 09 09:28:06 VMBridge INFO : socket : SERVLET_LOCAL:8081
Feb 09 09:28:06 VMBridge INFO : java.ext.dirs : null
Feb 09 09:28:06 VMBridge INFO : php.java.bridge.base: /root
Feb 09 09:28:06 VMBridge INFO : thread pool size : 20
Feb 09 09:28:06 VMBridge INFO : JavaBridgeRunner started on port INET_LOCAL:8081
Feb 09 09:29:00 VMBridge DEBUG: Socket connection accepted
Feb 09 09:29:00 VMBridge DEBUG: Starting HTTP server thread from thread pool
Feb 09 09:29:00 VMBridge DEBUG: contextfactory: new context: 1@ for web context, # of contexts: 1
Feb 09 09:29:01 VMBridge DEBUG: created new bridge: php.java.bridge.JavaBridge@18ce53c0
Feb 09 09:29:01 VMBridge DEBUG: 18ce53c0@67d547f1 →
Feb 09 09:29:01 VMBridge DEBUG: 18ce53c0@67d547f1 →
Feb 09 09:29:01 VMBridge DEBUG: 18ce53c0@67d547f1 →
Feb 09 09:29:01 VMBridge DEBUG: 18ce53c0@67d547f1 →
Feb 09 09:29:01 VMBridge DEBUG: 18ce53c0@67d547f1 →
Feb 09 09:29:01 VMBridge DEBUG: 18ce53c0@67d547f1 →
Feb 09 09:29:01 VMBridge DEBUG:
Invoking [Object 416175040 - Class: php.java.bridge.JavaBridge:ID798154996:LOADER-ID1426407511].updateJarLibraryPath([Object 691728263 - Class: java.lang.String:ID349885916:LOADER-ID0],[Object 1527339744 - Class: java.lang.String:ID349885916:LOADER-ID0],[Object 2038840473 - Class: java.lang.String:ID349885916:LOADER-ID0],[Object 995498884 - Class: java.lang.String:ID349885916:LOADER-ID0]);

Feb 09 09:29:01 VMBridge DEBUG:
Result [Object null]

Feb 09 09:29:01 VMBridge DEBUG: 18ce53c0@67d547f1 ←
Feb 09 09:29:01 VMBridge DEBUG: 18ce53c0@67d547f1 re-directing to port# Pipe:/dev/shm/.php_java_bridgemi6SGI
Feb 09 09:29:01 VMBridge DEBUG: 18ce53c0@67d547f1 waiting for context: 1@
Feb 09 09:29:01 VMBridge DEBUG: contextfactory: servlet waitFor() ContextFactory 1829173536 for 15000 ms
Feb 09 09:29:01 VMBridge DEBUG: starting a new ContextRunner php.java.bridge.http.ContextRunner@79eab15d
Feb 09 09:29:01 VMBridge ERROR: An exception occured: java.io.FileNotFoundException: /dev/shm/.php_java_bridgemi6SGI.i (Permiso denegado)
java.io.FileNotFoundException: /dev/shm/.php_java_bridgemi6SGI.i (Permiso denegado)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
at java.base/java.io.FileOutputStream.(FileOutputStream.java:237)
at java.base/java.io.FileOutputStream.(FileOutputStream.java:187)
at php.java.bridge.http.PipeContextServer$Channel.getOuptutStream(PipeContextServer.java:78)
at php.java.bridge.http.ContextRunner.init(ContextRunner.java:105)
at php.java.bridge.http.ContextRunner.run(ContextRunner.java:145)
at php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60)
Feb 09 09:29:01 VMBridge DEBUG: end (thread returned to pool): Thread[JavaBridgeContextRunner#1,5,JavaBridgeContextRunner#1]
Feb 09 09:29:15 VMBridge DEBUG: contextfactory: servlet waitFor() ContextRunner 1829173536
Feb 09 09:29:15 VMBridge WARNING: contextfactory: Orphaned context: ContextFactory: Context# 1@, credentials: null, SimpleContextFactory: class php.java.bridge.http.SimpleContextFactory, current loader: jdk.internal.loader.ClassLoaders$AppClassLoader@55054057 removed.
Feb 09 09:29:15 VMBridge DEBUG: contextfactory: servlet done waitFor() ContextRunner 1829173536
Feb 09 09:29:15 VMBridge DEBUG: end (thread returned to pool): Thread[VMBridgeHttpServerThreadPool#1,5,VMBridgeHttpServerThreadPool#1]

Gracias por los logs de Jasper, ahora si se puede ver el problema:


Feb 09 09:29:01 VMBridge ERROR: An exception occured: java.io.FileNotFoundException: /dev/shm/.php_java_bridgemi6SGI.i (Permiso denegado)
java.io.FileNotFoundException: /dev/shm/.php_java_bridgemi6SGI.i (Permiso denegado)

¿que ocurre si le das permisos a la carpeta /dev/shm/?

Busque esos errores en Google pero solo me apareció lo siguiente:
https://www.it-swarm-es.com/es/java/java.io.filenotfoundexception-permiso-denegado-pesar-de-chmod-777/1044205660/

saludos.
2

Hola Leandro,

El problema es el siguiente, por eso hay que revisar los logs de Jasper para ver si muestra lo siguiente:

VMBridge WARNING: contextfactory: Orphaned context: ContextFactory: Context# 1@, credentials: null, SimpleContextFactory: class php.java.bridge.http.SimpleContextFactory, current loader: jdk.internal.loader.ClassLoaders$AppClassLoader@55054057 removed.

El Jasper estaría bueno ejecutarlo de la siguiente manera para que se almacenen los logs en el archivo /tmp/jasper.log:

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

Esto ya salio corregido en la versión 3.20.0, suele ocurrir cuando Guaraní se instala en un Ubuntu 20.04.

No afecta los reportes que usan FOP.

Solución:
1- Descargar los archivos JavaBridge.jar, php-servlet.jar y Java.inc desde este repositorio.
2- Copiar el archivo Java.inc descargado y pegarlo en <RUTA_PROYECTO>/vendor/siu-toba/jasper/JavaBridge/java (reemplazar).
3- Copiar los archivos JavaBridge.jar y php-servlet.jar descargados y pegarlos en <RUTA_PROYECTO>/vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib (reemplazar)
4- Reiniciar Jasper para aplicar cambios (reiniciar contenedor si es una instalación Dockerizada).

Reemplazar en ambos sistemas Gestión y Autogestión.

Foros relacionados:
https://foro.comunidad.siu.edu.ar/index.php?topic=22682
https://foro.comunidad.siu.edu.ar/index.php?topic=21754
https://foro.comunidad.siu.edu.ar/index.php?topic=21870
https://foro.comunidad.siu.edu.ar/index.php?topic=21759

saludos.
4

Perfecto con el permiso funciono. Si la migracion la voy hacer despues de las mesas de exámenes.
Si en testing hice la migracion a 3.20 y funcionan bien los reportes. Lo que me pareció raro es que produccion no tocamos nada y de un dia para el otro empezo a tirar estos errores.

Igual tenemos guaraní instalado en Debian. Pero bueno con los permisos se soluciono, antes de que termine febrero migramos y cualquier cosa te aviso.

Gracias por el tiempo.