Autor Tema: [SOLUCIONADO] Error al cerrarse la sesión de toba  (Leído 425 veces)

0 Usuarios y 1 Visitante están viendo este tema.

obelgran

  • Full Member
  • ***
  • Mensajes: 172
    • Ver Perfil
  • Institución: Universidad Nacional de Rosario
  • Nombre y apellido: Oscar Rafael Belgrano
  • Sistema: Siu-Toba
  • Teléfono laboral: (0341) 4201245
  • Utilizo algun sistéma del SIU: Sí
[SOLUCIONADO] Error al cerrarse la sesión de toba
« on: Diciembre 23, 2021, 10:04:59 am »
Buen día comunidad

Estoy teniendo un error raro al cerrarse la sesión de toba:
Cita
Using $this when not in object context

Adicionalmente hay que borrar todas las 'cookies' del navegador para poder reingresar sin el error si se quiso cambiar de proyecto antes de que se muestre el error., o sea si estoy en un proyecto y se cierra la sesión, da error, cierro el navegador y reingreso sin problemas pero si se cierra la sesión y quiero cambiar de proyecto, tengo que borrar las 'cookies' para poder reingresar.

Estoy usando toba 3.3 y php 7.4.26

Gracias y saludos

« Última Modificación: Marzo 29, 2022, 08:39:56 am por obelgran »

obelgran

  • Full Member
  • ***
  • Mensajes: 172
    • Ver Perfil
  • Institución: Universidad Nacional de Rosario
  • Nombre y apellido: Oscar Rafael Belgrano
  • Sistema: Siu-Toba
  • Teléfono laboral: (0341) 4201245
  • Utilizo algun sistéma del SIU: Sí
Re:Error al cerrarse la sesión de toba
« Respuesta #1 on: Enero 06, 2022, 09:16:10 am »
Lo que detecté es que no puede enviar el mensaje al asuario porque no hay instancia de toba, paso las lineas que para mi generan el error:

En toba_majedor_sesiones.php
Código: [Seleccionar]
/**
* Controla el cierre de la sesion.
*/
private function control_finalizacion_sesion()
...
...
/*
toba::notificacion('Usted ha permanecido varios minutos sin interactuar
con el servidor. Por razones de seguridad su sesion ha sido eliminada.
Por favor vuelva a registrarse si desea continuar utilizando el sistema.
Disculpe las molestias ocasionadas.');

toba_logger::error("Se exedio la ventana temporal ($ventana m.)");
*/

Si comento esa fracción de código, se loggea el error y lleva al login del proyecto, si no da el error :
Cita
Using $this when not in object context
« Última Modificación: Enero 06, 2022, 09:23:18 am por obelgran »

richard

  • Moderador Global
  • *****
  • Mensajes: 3024
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Error al cerrarse la sesión de toba
« Respuesta #2 on: Enero 21, 2022, 01:17:18 pm »
Hola Oscar,

por el msg de error en cuestion pareciera que se dispara al hacer una invocacion estatica del manejador de sesiones, de otra forma $this-> tiene que existir siempre ya que esta instanciado el objeto.

Yo buscaria alguna invocacion estatica de dicha clase en el proyecto, ya que el tramo de codigo que comentaste pertenece a una funcion privada por lo que no puede ser invocada directamente y el unico metodo que la invoca no es estatico.

Puntualmente buscaria una invocacion a toba_manejador_sesiones::iniciar() ya que deberia ser la que este reventando.

Cualquier otra cosa que encuentres avisame!

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

rfarias

  • Jr. Member
  • **
  • Mensajes: 71
    • Ver Perfil
    • Plan de acción de sistemas
  • Institución: UNPA
  • Nombre y apellido: Roberto Farias
  • Sistema: TOBA
Re:Error al cerrarse la sesión de toba
« Respuesta #3 on: Febrero 09, 2022, 02:46:45 pm »
Hola Oscar y Richard, espero que tengan un buen inicio de año.
Nosotros teníamos un proyecto que funcionaba sin problemas en un entorno con estas características:
toba 3.3.6
apache 2.4.36
php-7.3.16

Actualmente migramos el proyecto a una nueva instancia de toba en un nuevo servidor con las siguientes características y comenzó a lanzar el error que indica oscar cuando la sesión expira.
toba 3.3.21
apache 2.4.51
php-7.4.25

Aplicamos la solución que indica Oscar, comentando las líneas de código del archivo toba_manejador_sesiones.php

No hemos realizado ningún cambio sobre el proyecto y tampoco invocamos al método toba_manejador_sesiones::iniciar(). Mi pregunta es si será la versión de php o la versión de toba.

Saludos
Farias Roberto Adrián
Analista Funcional
Universidad Nacional de la Patagonia Austral

richard

  • Moderador Global
  • *****
  • Mensajes: 3024
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Error al cerrarse la sesión de toba
« Respuesta #4 on: Febrero 10, 2022, 11:16:23 am »
Hola Roberto,
Aplicamos la solución que indica Oscar, comentando las líneas de código del archivo toba_manejador_sesiones.php

No hemos realizado ningún cambio sobre el proyecto y tampoco invocamos al método toba_manejador_sesiones::iniciar(). Mi pregunta es si será la versión de php o la versión de toba.

estoy sospechando de una posible causa, el tema es que no puedo reproducir el bug (quizas haya alguna diferencia de PHP ya que estoy con 7.4.6) con lo cual se me complica verificar si sirve o no como solucion y si es la raiz del problema.

La linea en cuestion a la que estoy apuntando es esta.
 
Alli deberia decir

Código: [Seleccionar]
toba_logger::instancia()->error("Se exedio la ventana temporal ($ventana m.)");

Y es un cambio que se introdujo en 3.3.21 con lo cual podria ser la causa, ademas explicaria porque Oscar soluciono el tema comentando esa seccion aun cuando se invoca dinamicamente.

Si me haces el favor de probar modificando dicha linea nomas y dejando el resto sin comentar como para verificar si soluciona o no el tema te lo agradeceria, mientras trato de actualizar la rama de PHP de la distro asi veo si puedo reproducirlo.

@Obelgran Oscar, te pido lo mismo que a Roberto por ahora.. igual voy a esperar a reproducirlo antes de sacar version.

Saludos y gracias por el aviso.
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

rfarias

  • Jr. Member
  • **
  • Mensajes: 71
    • Ver Perfil
    • Plan de acción de sistemas
  • Institución: UNPA
  • Nombre y apellido: Roberto Farias
  • Sistema: TOBA
Re:Error al cerrarse la sesión de toba
« Respuesta #5 on: Febrero 10, 2022, 01:40:58 pm »
Hola Richard, gracias por tu respuesta.

Apliqué el cambio sugerido y funciona.

Código: [Seleccionar]
toba_logger::instancia()->error("Se exedio la ventana temporal ($ventana m.)");
Muchas gracias.
Farias Roberto Adrián
Analista Funcional
Universidad Nacional de la Patagonia Austral

richard

  • Moderador Global
  • *****
  • Mensajes: 3024
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Error al cerrarse la sesión de toba
« Respuesta #6 on: Febrero 14, 2022, 05:12:49 pm »
Hola Roberto y Oscar,

acabo de liberar la version 3.3.23 con el fix para el bug que dejaba inutilizable la aplicacion, finalmente pude reproducir el problema.

Gracias por el aviso :)

Twitter es al incontinente verbal,  lo que los dulces al diabetico.

obelgran

  • Full Member
  • ***
  • Mensajes: 172
    • Ver Perfil
  • Institución: Universidad Nacional de Rosario
  • Nombre y apellido: Oscar Rafael Belgrano
  • Sistema: Siu-Toba
  • Teléfono laboral: (0341) 4201245
  • Utilizo algun sistéma del SIU: Sí
Re:[SOLUCIONADO] Error al cerrarse la sesión de toba
« Respuesta #7 on: Marzo 29, 2022, 08:41:21 am »
Gracias Richard!!!