close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 10 years ago

Closed 10 years ago

#1845 closed defect (fixed)

Extraño error con series: desaparecen fechas y datos

Reported by: Pedro Gea Owned by: Víctor de Buen Remiro
Priority: normal Milestone: Mantainance
Component: Kernel Version: 3.1
Severity: critical Keywords:
Cc: imiranda

Description

El error observado es bastante extraño. Voy a intentar describir qué es lo que ha ocurrido, en qué circunstancias y qué posibles causas puede tener.

En el marco de un proyecto de modelación se suceden las siguientes acciones:

  • Se carga TOL (v3.1) con el iniproject correspondiente, MMS incluído.
  • Se cargan datos de distintos orígenes (entre ellos unas BDT).
  • Se crea un modelo, se estima y se crea un objeto previsión.
  • En este momento se extraen (al eval) algunas series para visualizarlas, y se visualizan correctamente.
  • Se guarda el forecast en un oza como habitualmente.
  • Se vuelven a visualizar las mismas series extraídas y ya no muestran los mismos datos.

La serie visualizada está en fechado Anual con datos desde 1980 hasta 2014 (35 datos). Se observa lo siguiente:

  • Cuando se tabula o grafica antes del guardado se visualiza correctamente.
  • Cuando se tabula o grafica después del guardado, sólo se ven 5 fechas y 5 datos: el de 1980 y desde 2011 en adelante.
  • Aunque sólo se puedan ver 5, la serie contiene todos los datos al llamar a funciones como CountS o SerMat.
  • Si creamos más series en el fechado Anual, presentan el mismo problema de visualización.

Parece ser que el TimeSet Anual se ha corrompido de alguna forma. Se comprueba que:

  • El fechado Anual se visualiza normalmente en el inspector de timesets y responde correctamente a la función Dates.
  • Sin embargo la expresión Real AreCompatibleTimeSet(Anual, Yearly, y1980, y2014) devuelve 0 cuando aparece el problema. Era 1 antes del guardado y 0 después.
  • Se intenta guardar el fechado corrupto en un oza para aislarlo, pero el fechado guardado no presenta problemas (es compatible) al cargarlo en una nueva instancia de TOL (independientemente del valor de Ois.ForceStoredTimeSet).

Así pues, parece tratarse de un error en la caché de fechas del fechado, o en alguna otra característica que no se almacene en un oza.

El error se consigue esquivar al dejar de ejecutar una parte (aparentemente inocua) del proceso que cargaba algunos datos de unas BDT y hacía algunas operaciones con las series.

Change History (4)

comment:1 Changed 10 years ago by Víctor de Buen Remiro

Lo único que seme ocurre es que el caché del OIS tenga un efecto colateral inesperado al almacenar el TimeSet

Puesto que son infinitos sólo puede guardar un trozo, y en algún momento usa las fechas por defecto (DefFirst, DefLast) para determinarlo.

Si estas fechas no abarcan el periodo desde 1980 no sé si podría ocasionar algún problema.

¿Podéis probar a poner unas fechas por defecto que abarquen todo el periodo necesario?

Es posible que haya que regenerar el OZA con las fechas por defecto corregidas.

comment:2 Changed 10 years ago by Víctor de Buen Remiro

Otra cosa que se puede probar es ver si en TOl 3.2 también pasa.
Si es así habría que intentar aislar el problema pues tal y como se describe el método de reproducción sistemática resulta imposible depurarlo.

comment:3 Changed 10 years ago by imiranda

Hola,

Este código lleva funcionando en versión 3.1 desde mediados de 2012. Los modelos se actualizan cada 6 meses más o menos y la última vez que se actualizaron sin problemas fue en Octubre de 2014 (ejecutándose desde el mismo ordenador que se está haciendo ahora). Desde Octubre de 2014 hasta ahora (Mayo de 2015) lo único que se ha hecho es actualizar paquetes.

Se ha probado en TOL 3.2 y el funcionamiento es normal:no aparece ningún error.

comment:4 Changed 10 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: newclosed

En la versión TOL 3.2 se han resuelto varios problemas relacionados con TimeSet y OIS, algunos de los cuales eran bastante complejos, por lo que no me resulta nada extraño.

Entiendo que no hay ningún problema en migrar a TOL 3.2 y dar por resuelto el problema, pues en la 3.1 es imposible resolverlo a mi modo de ver.

Note: See TracTickets for help on using tickets.