SIU-Pilaga3.11 - Error de permisos en Jasper

Buenas tardes, como están? Estoy haciendo una instalación de pruebas de servidor nuevo para Pilaga3.11 y tengo errores de permisos cuando intento generar un comprobante. En la pantalla de pilaga se queda procesando y nunca aparece el reporte.
Hice la instalación sobre un Debian11.

El error que figura en el log de reportes es el siguiente;

Aug 12 15:06:16 VMBridge DEBUG: 3435a86f@3f83ef63 <-- Aug 12 15:06:16 VMBridge DEBUG: 3435a86f@3f83ef63 re-directing to port# Pipe:/dev/shm/.php_java_bridger3nC6K Aug 12 15:06:16 VMBridge DEBUG: 3435a86f@3f83ef63 waiting for context: 1@ Aug 12 15:06:16 VMBridge DEBUG: contextfactory: servlet waitFor() ContextFactory 308203832 for 15000 ms Aug 12 15:06:16 VMBridge DEBUG: starting a new ContextRunner php.java.bridge.http.ContextRunner@715369a Aug 12 15:06:16 VMBridge ERROR: An exception occured: java.io.FileNotFoundException: /dev/shm/.php_java_bridger3nC6K.i (Permiso denegado) java.io.FileNotFoundException: /dev/shm/.php_java_bridger3nC6K.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)

¿que puedo corregir para resolverlo? Estuve modificando permisos de la carpeta /dev/shm pero sigue igual.

Muchas gracias!

Saludos!

Hola,

Jarper en el java bridge defefine una constante JAVA_PIPE_DIR =/dev/shm, para evitar el uso de ese directorio se puede configurar en el php.ini agregando lo siguiente,
por ejemplo:
java.pipe_dir = /usr/local/SIU-Pilaga-3.11.1/temp,

de esta manera dejaría de tener el problemas de permisos. Reiniciar apache.

saludos,

Jorge.

Hola Jorge, muchas gracias por tu respuesta. Hice la modificación y sigo teniendo el mismo error pero con la carpeta “/temp” del raiz. Igualmente repasando el log de reportes me di cuenta que hay algo mal. Por alguna razón en la actualización no cambió las variables que utiliza en el archivo pilaga_reportes.sh y quedaron con la carpeta de la versión anterior. Te copio el log entero para que veas lo que te estoy contando.

Aug 16 10:52:40 VMBridge DEBUG: Socket connection accepted Aug 16 10:52:40 VMBridge DEBUG: Starting HTTP server thread from thread pool Aug 16 10:52:40 VMBridge DEBUG: Socket connection accepted Aug 16 10:52:40 VMBridge DEBUG: Starting HTTP server thread from thread pool Aug 16 10:52:40 VMBridge DEBUG: end (thread returned to pool): Thread[VMBridgeHttpServerThreadPool#1,5,VMBridgeHttpServerThreadPool#1] Aug 16 10:52:40 VMBridge DEBUG: end (thread returned to pool): Thread[VMBridgeHttpServerThreadPool#2,5,VMBridgeHttpServerThreadPool#2] Aug 16 10:52:58 VMBridge DEBUG: Socket connection accepted Aug 16 10:52:58 VMBridge DEBUG: Starting HTTP server thread from thread pool Aug 16 10:52:58 VMBridge DEBUG: end (thread returned to pool): Thread[VMBridgeHttpServerThreadPool#1,5,VMBridgeHttpServerThreadPool#1] Aug 16 10:52:58 VMBridge DEBUG: Socket connection accepted Aug 16 10:52:58 VMBridge DEBUG: Starting HTTP server thread from thread pool Aug 16 10:52:58 VMBridge DEBUG: end (thread returned to pool): Thread[VMBridgeHttpServerThreadPool#2,5,VMBridgeHttpServerThreadPool#2] Aug 16 10:52:58 VMBridge DEBUG: Socket connection accepted Aug 16 10:52:58 VMBridge DEBUG: Starting HTTP server thread from thread pool Aug 16 10:52:58 VMBridge DEBUG: contextfactory: new context: 1@ for web context, # of contexts: 1 Aug 16 10:52:58 VMBridge DEBUG: created new bridge: php.java.bridge.JavaBridge@b4f6a0e Aug 16 10:52:58 VMBridge DEBUG: b4f6a0e@68f8856a --> Aug 16 10:52:58 VMBridge DEBUG: b4f6a0e@68f8856a --> Aug 16 10:52:58 VMBridge DEBUG: b4f6a0e@68f8856a --> Aug 16 10:52:58 VMBridge DEBUG: b4f6a0e@68f8856a -->
Aug 16 10:52:58 VMBridge DEBUG: b4f6a0e@68f8856a re-directing to port# Pipe:/tmp/.php_java_bridgehZKuDD
Aug 16 10:52:58 VMBridge DEBUG: b4f6a0e@68f8856a waiting for context: 1@
Aug 16 10:52:58 VMBridge DEBUG: contextfactory: servlet waitFor() ContextFactory 1123589310 for 15000 ms
Aug 16 10:52:58 VMBridge DEBUG: starting a new ContextRunner php.java.bridge.http.ContextRunner@50a9aebf
Aug 16 10:52:58 VMBridge ERROR: An exception occured: java.io.FileNotFoundException: /tmp/.php_java_bridgehZKuDD.o (No existe el fichero o el directorio)
java.io.FileNotFoundException: /tmp/.php_java_bridgehZKuDD.o (No existe el fichero o el directorio)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
at java.base/java.io.FileInputStream.(FileInputStream.java:157)
at php.java.bridge.http.PipeContextServer$Channel.getInputStream(PipeContextServer.java:73)
at php.java.bridge.http.ContextRunner.init(ContextRunner.java:106)
at php.java.bridge.http.ContextRunner.run(ContextRunner.java:145)
at php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60)
Aug 16 10:52:58 VMBridge DEBUG: end (thread returned to pool): Thread[JavaBridgeContextRunner#1,5,JavaBridgeContextRunner#1]

Ahi marqué con negrita la carpeta de instalación que menciona el log y en este caso yo actualicé a 3.11.1 y la carpeta me quedó en /usr/local/siu/SIU-Pilaga3111/ … desde donde estoy ejecutando el archivo “pilaga_resportes.sh”

¿Como actualizo esas variables?

Muchas gracias!

Saludos!

Leandro

Buenas tardes Leandro!
Solo basta con que hagas el stop del servicio ubicado dentro de la carpeta bin del sistema de archivos de la nueva versión de Pilaga, y seguido a esto lo inicies nuevamente.
Los comandos serian los siguientes:
-sudo ./pilaga_reportes.sh stop
-sudo ./pilaga_reportes.sh start
En el log deberías verificar ahora que este apuntando a la ultima versión de Pilaga.

Saludos.

Hola Silvio, muchas gracias!

Finalmente quedó resuelto con la modificación en php.ini para java. Lo otro era una confusión con otro servidor de pruebas que tenía a modo de backup.

Saludos!